; ModuleID = 'llvm-link'
source_filename = "llvm-link"
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
target triple = "i386-pc-windows-msvc19.12.25835"

%rtti.CompleteObjectLocator = type { i32, i32, i32, i8*, %rtti.ClassHierarchyDescriptor* }
%rtti.ClassHierarchyDescriptor = type { i32, i32, i32, %rtti.BaseClassDescriptor** }
%rtti.BaseClassDescriptor = type { i8*, i32, i32, i32, i32, i32, %rtti.ClassHierarchyDescriptor* }
%rtti.TypeDescriptor20 = type { i8**, i8*, [21 x i8] }
%rtti.TypeDescriptor25 = type { i8**, i8*, [26 x i8] }
%rtti.TypeDescriptor19 = type { i8**, i8*, [20 x i8] }
%"class.std::basic_ostream" = type { i32*, i32, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_streambuf"*, %"class.std::basic_ostream"*, i8 }
%"class.std::ios_base" = type { i32 (...)**, [4 x i8], i32, i32, i32, i32, i64, i64, %"struct.std::ios_base::_Iosarray"*, %"struct.std::ios_base::_Fnarray"*, %"class.std::locale"* }
%"struct.std::ios_base::_Iosarray" = type { %"struct.std::ios_base::_Iosarray"*, i32, i32, i8* }
%"struct.std::ios_base::_Fnarray" = type { %"struct.std::ios_base::_Fnarray"*, i32, void (i32, %"class.std::ios_base"*, i32)* }
%"class.std::locale" = type { [4 x i8], %"class.std::locale::_Locimp"* }
%"class.std::locale::_Locimp" = type { %"class.std::locale::facet", %"class.std::locale::facet"**, i32, i32, i8, %"class.std::_Yarn" }
%"class.std::locale::facet" = type { %"class.parser::EventHandler", i32 }
%"class.parser::EventHandler" = type { i32 (...)** }
%"class.std::_Yarn" = type { i8*, i8 }
%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8**, i8**, i8*, i8*, i8**, i8**, i32, i32, i32*, i32*, %"class.std::locale"* }
%eh.ThrowInfo = type { i32, i8*, i8*, i8* }
%eh.CatchableTypeArray.5 = type { i32, [5 x %eh.CatchableType*] }
%eh.CatchableType = type { i32, i8*, i32, i32, i32, i32, i8* }
%rtti.TypeDescriptor23 = type { i8**, i8*, [24 x i8] }
%rtti.TypeDescriptor22 = type { i8**, i8*, [23 x i8] }
%rtti.TypeDescriptor26 = type { i8**, i8*, [27 x i8] }
%"union.std::_Align_type.72" = type { i32, [4 x i8] }
%rtti.TypeDescriptor34 = type { i8**, i8*, [35 x i8] }
%rtti.TypeDescriptor24 = type { i8**, i8*, [25 x i8] }
%rtti.TypeDescriptor33 = type { i8**, i8*, [34 x i8] }
%"class.std::unordered_map" = type { %"class.std::_Hash.26" }
%"class.std::_Hash.26" = type { %"class.std::_Uset_traits", %"class.std::list.27", %"class.std::vector.28", i32, i32 }
%"class.std::_Uset_traits" = type { %"class.std::_Uhash_compare" }
%"class.std::_Uhash_compare" = type { %"class.std::_Compressed_pair" }
%"class.std::_Compressed_pair" = type { %"class.std::_Compressed_pair.0" }
%"class.std::_Compressed_pair.0" = type { float }
%"class.std::list.27" = type { %"class.std::_List_buy.29" }
%"class.std::_List_buy.29" = type { %"class.std::_List_alloc.30" }
%"class.std::_List_alloc.30" = type { %"class.std::_Compressed_pair.25" }
%"class.std::_Compressed_pair.25" = type { %"class.std::_List_val.31" }
%"class.std::_List_val.31" = type { %"struct.std::_List_node.32"*, i32 }
%"struct.std::_List_node.32" = type { %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"*, %"struct.std::pair.40" }
%"struct.std::pair.40" = type { %"struct.std::pair.23"*, %struct.ImportedFunction }
%"struct.std::pair.23" = type { %"class.std::basic_string", %struct.TextInfo }
%"class.std::basic_string" = type { %"class.std::_String_alloc" }
%"class.std::_String_alloc" = type { %"class.std::_Compressed_pair.56" }
%"class.std::_Compressed_pair.56" = type { %"class.std::_String_val" }
%"class.std::_String_val" = type { %"union.std::_String_val<std::_Simple_types<char> >::_Bxty", i32, i32 }
%"union.std::_String_val<std::_Simple_types<char> >::_Bxty" = type { i8*, [12 x i8] }
%struct.TextInfo = type { %"class.std::unique_ptr", i32, %"class.std::vector.11", i1 ()* }
%"class.std::unique_ptr" = type { %"class.std::_Unique_ptr_base" }
%"class.std::_Unique_ptr_base" = type { %"class.std::_Compressed_pair.3" }
%"class.std::_Compressed_pair.3" = type { %"class.std::vector.4"* }
%"class.std::vector.4" = type { %"class.std::_Vector_alloc.5" }
%"class.std::_Vector_alloc.5" = type { %"class.std::_Compressed_pair.6" }
%"class.std::_Compressed_pair.6" = type { %"class.std::_Vector_val.9" }
%"class.std::_Vector_val.9" = type { %struct.AstNode*, %struct.AstNode*, %struct.AstNode* }
%struct.AstNode = type { %class.variant.24, i32 }
%class.variant.24 = type { [1 x %"union.std::_Align_type.10"], i32 }
%"union.std::_Align_type.10" = type { double, [8 x i8] }
%"class.std::vector.11" = type { %"class.std::_Vector_alloc.12" }
%"class.std::_Vector_alloc.12" = type { %"class.std::_Compressed_pair.13" }
%"class.std::_Compressed_pair.13" = type { %"class.std::_Vector_val.16.25" }
%"class.std::_Vector_val.16.25" = type { %class.variant.43**, %class.variant.43**, %class.variant.43** }
%class.variant.43 = type { [1 x %"union.std::_Align_type.44"], i32 }
%"union.std::_Align_type.44" = type { double }
%struct.ImportedFunction = type { i8*, %"class.std::vector.34", %"class.std::vector.34" }
%"class.std::vector.34" = type { %"class.std::_Vector_alloc.35" }
%"class.std::_Vector_alloc.35" = type { %"class.std::_Compressed_pair.36" }
%"class.std::_Compressed_pair.36" = type { %"class.std::_Vector_val.39" }
%"class.std::_Vector_val.39" = type { i32*, i32*, i32* }
%"class.std::vector.28" = type { %"class.std::_Vector_alloc.29" }
%"class.std::_Vector_alloc.29" = type { %"class.std::_Compressed_pair.30" }
%"class.std::_Compressed_pair.30" = type { %"class.std::_Vector_val.33" }
%"class.std::_Vector_val.33" = type { %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"* }
%"class.std::_List_const_iterator.40" = type { %"class.std::_List_unchecked_const_iterator.33" }
%"class.std::_List_unchecked_const_iterator.33" = type { %"struct.std::_List_node.32"* }
%"class.std::vector.56" = type { %"class.std::_Vector_alloc.57" }
%"class.std::_Vector_alloc.57" = type { %"class.std::_Compressed_pair.58" }
%"class.std::_Compressed_pair.58" = type { %"class.std::_Vector_val.61" }
%"class.std::_Vector_val.61" = type { %"class.std::basic_string"*, %"class.std::basic_string"*, %"class.std::basic_string"* }
%class.Interner = type { %"class.std::unordered_set" }
%"class.std::unordered_set" = type { %"class.std::_Hash" }
%"class.std::_Hash" = type { %"class.std::_Uset_traits", %"class.std::list", %"class.std::vector", i32, i32 }
%"class.std::list" = type { %"class.std::_List_buy" }
%"class.std::_List_buy" = type { %"class.std::_List_alloc" }
%"class.std::_List_alloc" = type { %"class.std::_Compressed_pair.1" }
%"class.std::_Compressed_pair.1" = type { %"class.std::_List_val" }
%"class.std::_List_val" = type { %"struct.std::_List_node"*, i32 }
%"struct.std::_List_node" = type { %"struct.std::_List_node"*, %"struct.std::_List_node"*, %"class.std::basic_string" }
%"class.std::vector" = type { %"class.std::_Vector_alloc" }
%"class.std::_Vector_alloc" = type { %"class.std::_Compressed_pair.2" }
%"class.std::_Compressed_pair.2" = type { %"class.std::_Vector_val" }
%"class.std::_Vector_val" = type { %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"* }
%"class.std::_List_unchecked_const_iterator" = type { %"struct.std::_List_node"* }
%class.Interner.5 = type { %"class.std::unordered_set.6" }
%"class.std::unordered_set.6" = type { %"class.std::_Hash.7" }
%"class.std::_Hash.7" = type { %"class.std::_Uset_traits", %"class.std::list.16", %"class.std::vector.24", i32, i32 }
%"class.std::list.16" = type { %"class.std::_List_buy.17" }
%"class.std::_List_buy.17" = type { %"class.std::_List_alloc.18" }
%"class.std::_List_alloc.18" = type { %"class.std::_Compressed_pair.19" }
%"class.std::_Compressed_pair.19" = type { %"class.std::_List_val.22" }
%"class.std::_List_val.22" = type { %"struct.std::_List_node.23"*, i32 }
%"struct.std::_List_node.23" = type { %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"*, %"class.std::vector.37" }
%"class.std::vector.37" = type { %"class.std::_Vector_alloc.38" }
%"class.std::_Vector_alloc.38" = type { %"class.std::_Compressed_pair.39" }
%"class.std::_Compressed_pair.39" = type { %"class.std::_Vector_val.42" }
%"class.std::_Vector_val.42" = type { %class.variant.43*, %class.variant.43*, %class.variant.43* }
%"class.std::vector.24" = type { %"class.std::_Vector_alloc.25" }
%"class.std::_Vector_alloc.25" = type { %"class.std::_Compressed_pair.26" }
%"class.std::_Compressed_pair.26" = type { %"class.std::_Vector_val.29" }
%"class.std::_Vector_val.29" = type { %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"* }
%"class.std::_List_unchecked_const_iterator.30" = type { %"struct.std::_List_node.23"* }
%"class.std::unordered_map.62" = type { %"class.std::_Hash.63" }
%"class.std::_Hash.63" = type { %"class.std::_Uset_traits", %"class.std::list.65", %"class.std::vector.73", i32, i32 }
%"class.std::list.65" = type { %"class.std::_List_buy.66" }
%"class.std::_List_buy.66" = type { %"class.std::_List_alloc.67" }
%"class.std::_List_alloc.67" = type { %"class.std::_Compressed_pair.68" }
%"class.std::_Compressed_pair.68" = type { %"class.std::_List_val.71" }
%"class.std::_List_val.71" = type { %"struct.std::_List_node.72"*, i32 }
%"struct.std::_List_node.72" = type { %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"*, %"struct.std::pair.151" }
%"struct.std::pair.151" = type { %"class.std::basic_string", %"struct.std::pair.23"* }
%"class.std::vector.73" = type { %"class.std::_Vector_alloc.74" }
%"class.std::_Vector_alloc.74" = type { %"class.std::_Compressed_pair.75" }
%"class.std::_Compressed_pair.75" = type { %"class.std::_Vector_val.78" }
%"class.std::_Vector_val.78" = type { %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"* }
%"class.std::_List_unchecked_iterator.79" = type { %"class.std::_List_unchecked_const_iterator.149" }
%"class.std::_List_unchecked_const_iterator.149" = type { %"struct.std::_List_node.72"* }
%"class.std::vector.44" = type { %"class.std::_Vector_alloc.45" }
%"class.std::_Vector_alloc.45" = type { %"class.std::_Compressed_pair.46" }
%"class.std::_Compressed_pair.46" = type { %"class.std::_Vector_val.49" }
%"class.std::_Vector_val.49" = type { %struct.File*, %struct.File*, %struct.File* }
%struct.File = type { %"class.std::basic_string", %"class.std::basic_string", %"struct.std::pair.23"*, i32 }
%struct.SourceText = type { %"struct.std::pair.23"*, i32 }
%"class.std::vector.92" = type { %"class.std::_Vector_alloc.93" }
%"class.std::_Vector_alloc.93" = type { %"class.std::_Compressed_pair.94" }
%"class.std::_Compressed_pair.94" = type { %"class.std::_Vector_val.97" }
%"class.std::_Vector_val.97" = type { %"class.std::vector.37"**, %"class.std::vector.37"**, %"class.std::vector.37"** }
%"class.std::vector.104" = type { %"class.std::_Vector_alloc.105" }
%"class.std::_Vector_alloc.105" = type { %"class.std::_Compressed_pair.106" }
%"class.std::_Compressed_pair.106" = type { %"class.std::_Vector_val.109" }
%"class.std::_Vector_val.109" = type { %"class.std::vector.4"**, %"class.std::vector.4"**, %"class.std::vector.4"** }
%"class.std::vector.117" = type { %"class.std::_Vector_alloc.118" }
%"class.std::_Vector_alloc.118" = type { %"class.std::_Compressed_pair.119" }
%"class.std::_Compressed_pair.119" = type { %"class.std::_Vector_val.122" }
%"class.std::_Vector_val.122" = type { %struct.Node*, %struct.Node*, %struct.Node* }
%struct.Node = type { %"class.std::vector.17" }
%"class.std::vector.17" = type { %"class.std::_Vector_alloc.18" }
%"class.std::_Vector_alloc.18" = type { %"class.std::_Compressed_pair.19.38" }
%"class.std::_Compressed_pair.19.38" = type { %"class.std::_Vector_val.22" }
%"class.std::_Vector_val.22" = type { %struct.Field*, %struct.Field*, %struct.Field* }
%struct.Field = type { %"struct.std::pair.23"*, %class.variant.43 }
%"class.std::map" = type { %"class.std::_Tree" }
%"class.std::_Tree" = type { %"class.std::_Tree_comp_alloc" }
%"class.std::_Tree_comp_alloc" = type { %"class.std::_Compressed_pair.146" }
%"class.std::_Compressed_pair.146" = type { %"class.std::_Compressed_pair.0.147" }
%"class.std::_Compressed_pair.0.147" = type { %"class.std::_Tree_val" }
%"class.std::_Tree_val" = type { %"struct.std::_Tree_node"*, i32 }
%"struct.std::_Tree_node" = type { %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"*, i8, i8, %"struct.std::pair.149" }
%"struct.std::pair.149" = type { %"class.std::basic_string", %struct.HINSTANCE__* }
%struct.HINSTANCE__ = type { i32 }
%"class.ast::ASTBuilder" = type { %"class.parser::EventHandler", %class.Interner*, %class.Interner.5*, i16*, %"class.std::vector.31", i32, i32 }
%"class.std::vector.31" = type { %"class.std::_Vector_alloc.32" }
%"class.std::_Vector_alloc.32" = type { %"class.std::_Compressed_pair.33" }
%"class.std::_Compressed_pair.33" = type { %"class.std::_Vector_val.36" }
%"class.std::_Vector_val.36" = type { %class.variant*, %class.variant*, %class.variant* }
%class.variant = type { [1 x %"union.std::_Align_type"], i32 }
%"union.std::_Align_type" = type { i32, [8 x i8] }
%"struct.ast::ASTDetailedNodes" = type { %class.Ptr, %"class.std::vector.45" }
%class.Ptr = type { %"class.std::vector.37"* }
%"class.std::vector.45" = type { %"class.std::_Vector_alloc.46" }
%"class.std::_Vector_alloc.46" = type { %"class.std::_Compressed_pair.47" }
%"class.std::_Compressed_pair.47" = type { %"class.std::_Vector_val.50" }
%"class.std::_Vector_val.50" = type { %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"* }
%"struct.ast::ASTNodeInfo" = type { i32, %"class.std::vector.45" }
%"struct.std::_Not_a_node_tag" = type { i8 }
%"struct.std::pair.113" = type { %"class.std::_List_const_iterator.114", i8 }
%"class.std::_List_const_iterator.114" = type { %"class.std::_List_unchecked_const_iterator.30" }
%"struct.std::pair" = type { %"class.std::_List_const_iterator", i8 }
%"class.std::_List_const_iterator" = type { %"class.std::_List_unchecked_const_iterator" }
%"class.std::basic_string.101" = type { %"class.std::_String_alloc.102" }
%"class.std::_String_alloc.102" = type { %"class.std::_Compressed_pair.103" }
%"class.std::_Compressed_pair.103" = type { %"class.std::_String_val.106" }
%"class.std::_String_val.106" = type { %"union.std::_String_val<std::_Simple_types<wchar_t> >::_Bxty", i32, i32 }
%"union.std::_String_val<std::_Simple_types<wchar_t> >::_Bxty" = type { i16*, [12 x i8] }
%"struct.ast::IntX" = type { i64 }
%"struct.ast::Label" = type { %class.Ptr.55 }
%class.Ptr.55 = type { %"class.std::basic_string"* }
%struct.Overloaded = type { %class.anon, %struct.Overloaded.51 }
%class.anon = type { %"class.ast::ASTBuilder"*, %"class.std::vector.37"*, %"class.std::vector.45"* }
%struct.Overloaded.51 = type { %struct.Overloaded.53 }
%struct.Overloaded.53 = type { %class.anon }
%"class.detail::DiagonalVisitor" = type { %class.variant.43* }
%"struct.ast::ListBegin" = type { %class.Ptr }
%"struct.parser::Expected" = type { i8, %"struct.parser::ParseException" }
%"struct.parser::ParseException" = type { i32, i32, i32, i32, i32 }
%"class.parser::Parser" = type { i32 (...)**, i16*, %"class.parser::EventHandler"*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
%"struct.parser::Expected.6" = type { i8, %union.anon }
%union.anon = type { %"struct.parser::ParseException" }
%struct.__crt_locale_pointers = type { %struct.__crt_locale_data*, %struct.__crt_multibyte_data* }
%struct.__crt_locale_data = type opaque
%struct.__crt_multibyte_data = type opaque
%"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data" = type { i32, %"class.std::basic_string" }
%struct.Combined = type { i32, i32, i32, i32, %"class.std::vector.17" }
%struct.SourceCode = type { %"class.std::vector.4"*, i32 }
%"struct.std::pair.41" = type { %"class.std::_List_iterator", i8 }
%"class.std::_List_iterator" = type { %"class.std::_List_const_iterator.40" }
%"class.std::ios_base::failure" = type { %"class.std::system_error" }
%"class.std::system_error" = type { %"class.std::_System_error" }
%"class.std::_System_error" = type { %"class.std::runtime_error", %"class.std::error_code" }
%"class.std::runtime_error" = type { %"class.std::exception" }
%"class.std::exception" = type { i32 (...)**, %"class.std::_Yarn" }
%"class.std::error_code" = type { i32, %"class.std::error_category"* }
%"class.std::error_category" = type { i32 (...)**, i32 }
%"struct.std::once_flag" = type { i8* }
%"class.std::_Iostream_error_category" = type { %"class.std::_Generic_error_category" }
%"class.std::_Generic_error_category" = type { %"class.std::error_category" }
%"struct.std::pair.148" = type { %"class.std::_List_iterator.88", i8 }
%"class.std::_List_iterator.88" = type { %"class.std::_List_unchecked_iterator.79" }
%struct.ListBegin = type { %"class.std::vector.4" }
%"class.std::_Tree_iterator" = type { %"class.std::_Tree_const_iterator" }
%"class.std::_Tree_const_iterator" = type { %"class.std::_Tree_unchecked_const_iterator" }
%"class.std::_Tree_unchecked_const_iterator" = type { %"struct.std::_Tree_node"* }
%"struct.std::pair.12" = type { %"class.std::_Tree_iterator", i8 }
%struct._SECURITY_ATTRIBUTES = type { i32, i8*, i32 }
%struct.anon = type { i32, i32 }
%struct._OVERLAPPED = type { i32, i32, %union.anon.159, i8* }
%union.anon.159 = type { %struct.anon }

$"\01??_GASTBuilder@ast@@UAEPAXI@Z" = comdat any

$"\01??$emplace_back@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@Z" = comdat any

$"\01??@ecdc85686029a3757587674877544440@" = comdat any

$"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ" = comdat any

$"\01??$visitInternal@UHasher@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAUHasher@detail@@@Z" = comdat any

$"\01??$visitInternal@V?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAV?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@Z" = comdat any

$"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ" = comdat any

$"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ" = comdat any

$"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z" = comdat any

$"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z" = comdat any

$"\01??@63050e9c505cabf46eb983fddbcba5a7@" = comdat any

$"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@I_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@I_W@Z@I_W@Z" = comdat any

$"\01??$emplace_back@C@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAC@Z" = comdat any

$"\01??$emplace_back@F@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAF@Z" = comdat any

$"\01??$emplace_back@H@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAH@Z" = comdat any

$"\01??$emplace_back@_J@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_J@Z" = comdat any

$"\01??$emplace_back@UIntX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUIntX@ast@@@Z" = comdat any

$"\01??$emplace_back@E@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAE@Z" = comdat any

$"\01??$emplace_back@G@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAG@Z" = comdat any

$"\01??$emplace_back@I@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z" = comdat any

$"\01??$emplace_back@_K@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_K@Z" = comdat any

$"\01??$emplace_back@UNatX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNatX@ast@@@Z" = comdat any

$"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z" = comdat any

$"\01??$emplace_back@M@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAM@Z" = comdat any

$"\01??$emplace_back@N@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAN@Z" = comdat any

$"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z" = comdat any

$"\01??$emplace_back@UName@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUName@ast@@@Z" = comdat any

$"\01??$emplace_back@V?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z" = comdat any

$"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ" = comdat any

$"\01??$emplace_back@UNameRead@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameRead@ast@@@Z" = comdat any

$"\01??$emplace_back@UNameWrite@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWrite@ast@@@Z" = comdat any

$"\01??$emplace_back@UNameMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameMember@ast@@@Z" = comdat any

$"\01??$emplace_back@UNameReadMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameReadMember@ast@@@Z" = comdat any

$"\01??$emplace_back@UNameWriteMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWriteMember@ast@@@Z" = comdat any

$"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z" = comdat any

$"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAEXXZ" = comdat any

$"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ" = comdat any

$"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z" = comdat any

$"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z" = comdat any

$"\01??$_Insert@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@@Z" = comdat any

$"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ" = comdat any

$"\01??$emplace_back@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@Z" = comdat any

$"\01??$emplace_back@UListBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUListBegin@ast@@@Z" = comdat any

$"\01??$emplace_back@UObjectBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUObjectBegin@ast@@@Z" = comdat any

$"\01??$emplace_back@UCode@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUCode@ast@@@Z" = comdat any

$"\01??$emplace_back@ULabel@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabel@ast@@@Z" = comdat any

$"\01??$emplace_back@ULabelReset@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabelReset@ast@@@Z" = comdat any

$"\01??_GEventHandler@parser@@UAEPAXI@Z" = comdat any

$"\01??_GParser@parser@@UAEPAXI@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z" = comdat any

$swprintf = comdat any

$__local_stdio_printf_options = comdat any

$"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z" = comdat any

$"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ" = comdat any

$"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z" = comdat any

$"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z" = comdat any

$"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z" = comdat any

$"\01?_Xlength@?$vector@UField@@V?$allocator@UField@@@std@@@std@@CAXXZ" = comdat any

$"\01?_Xlength@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z@$$V@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z" = comdat any

$"\01??$emplace_back@UField@@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUField@@@Z" = comdat any

$"\01??$emplace_back@W4ValueType@@@?$vector@W4ValueType@@V?$allocator@W4ValueType@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAW4ValueType@@@Z" = comdat any

$"\01??$_Insert@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@U_Not_a_node_tag@1@@Z" = comdat any

$"\01?_Check_size@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAEXXZ" = comdat any

$"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ" = comdat any

$"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z" = comdat any

$"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z" = comdat any

$"\01??$_Insert@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@@Z" = comdat any

$"\01??1ImportedFunction@@QAE@XZ" = comdat any

$"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z" = comdat any

$"\01?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ" = comdat any

$"\01?clear@ios_base@std@@QAEXH_N@Z" = comdat any

$"\01?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z" = comdat any

$"\01??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z" = comdat any

$"\01??1exception@std@@UAE@XZ" = comdat any

$"\01??0exception@std@@QAE@ABV01@@Z" = comdat any

$"\01??_Gexception@std@@UAEPAXI@Z" = comdat any

$"\01?what@exception@std@@UBEPBDXZ" = comdat any

$"\01??0runtime_error@std@@QAE@ABV01@@Z" = comdat any

$"\01??_Gruntime_error@std@@UAEPAXI@Z" = comdat any

$"\01??0_System_error@std@@QAE@ABV01@@Z" = comdat any

$"\01??_G_System_error@std@@UAEPAXI@Z" = comdat any

$"\01??0system_error@std@@QAE@ABV01@@Z" = comdat any

$"\01??_Gsystem_error@std@@UAEPAXI@Z" = comdat any

$"\01??0failure@ios_base@std@@QAE@ABV012@@Z" = comdat any

$"\01??_Gfailure@ios_base@std@@UAEPAXI@Z" = comdat any

$"\01??0system_error@std@@QAE@Verror_code@1@PBD@Z" = comdat any

$"\01??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z" = comdat any

$"\01?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z" = comdat any

$"\01??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z" = comdat any

$"\01??_G_Iostream_error_category@std@@UAEPAXI@Z" = comdat any

$"\01?name@_Iostream_error_category@std@@UBEPBDXZ" = comdat any

$"\01?message@_Iostream_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z" = comdat any

$"\01?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z" = comdat any

$"\01?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z" = comdat any

$"\01?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z" = comdat any

$"\01??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z" = comdat any

$"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z" = comdat any

$"\01?_Xlength@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ" = comdat any

$"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z" = comdat any

$"\01??$emplace_back@I@?$vector@IV?$allocator@I@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z" = comdat any

$"\01??_G_Generic_error_category@std@@UAEPAXI@Z" = comdat any

$"\01?name@_Generic_error_category@std@@UBEPBDXZ" = comdat any

$"\01?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z" = comdat any

$"\01??_Gerror_category@std@@UAEPAXI@Z" = comdat any

$"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z" = comdat any

$"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z" = comdat any

$"\01?_Tidy@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXXZ" = comdat any

$"\01??1File@@QAE@XZ" = comdat any

$"\01??1?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE@XZ" = comdat any

$"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ" = comdat any

$"\01?clear@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAEXXZ" = comdat any

$"\01??1?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE@XZ" = comdat any

$"\01?_Tidy@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@AAEXXZ" = comdat any

$"\01??1?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE@XZ" = comdat any

$"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z" = comdat any

$"\01??$_Integral_to_string@D_J@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_J@Z" = comdat any

$"\01??$_Floating_to_string@M@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDM@Z" = comdat any

$"\01??$_Floating_to_string@N@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDN@Z" = comdat any

$_scprintf = comdat any

$"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@ID@Z@D@Z" = comdat any

$sprintf_s = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@ID@Z@ID@Z" = comdat any

$"\01?_Xlength@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@CAXXZ" = comdat any

$"\01?_Change_array@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXQAUNode@@II@Z" = comdat any

$"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z" = comdat any

$"\01??$emplace_back@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@$$QAPAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@1@@Z" = comdat any

$"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z" = comdat any

$"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z" = comdat any

$"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z" = comdat any

$"\01??$emplace_back@UFile@@@?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUFile@@@Z" = comdat any

$"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ" = comdat any

$"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z" = comdat any

$"\01??$construct@V?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEX$$QAV0@@Z" = comdat any

$"\01??$emplace_back@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@1@@Z" = comdat any

$"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z" = comdat any

$"\01?_Xlength@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@CAXXZ" = comdat any

$"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@0@Z" = comdat any

$"\01?_Erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@@Z" = comdat any

$"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z" = comdat any

$"\01?_Extract@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z" = comdat any

$"\01?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z" = comdat any

$"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@I_W@Z@_W@Z" = comdat any

$"\01??$_Insert_nohint@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@_N@1@_N$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z" = comdat any

$"\01??$_Insert_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@1@_NPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@1@$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z" = comdat any

$"\01?_Xlength@?$vector@_WV?$allocator@_W@std@@@std@@CAXXZ" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z" = comdat any

$"\01?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z" = comdat any

$"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z@$$V@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z" = comdat any

$"\01??_7ASTBuilder@ast@@6B@" = comdat largest

$"\01??_R4ASTBuilder@ast@@6B@" = comdat any

$"\01??_R0?AVASTBuilder@ast@@@8" = comdat any

$"\01??_R3ASTBuilder@ast@@8" = comdat any

$"\01??_R2ASTBuilder@ast@@8" = comdat any

$"\01??_R1A@?0A@EA@ASTBuilder@ast@@8" = comdat any

$"\01??_R1A@?0A@EA@EventHandler@parser@@8" = comdat any

$"\01??_R0?AVEventHandler@parser@@@8" = comdat any

$"\01??_R3EventHandler@parser@@8" = comdat any

$"\01??_R2EventHandler@parser@@8" = comdat any

$"\01??_C@_1EO@DBEKBHLP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi@" = comdat any

$"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = comdat any

$"\01??_C@_1DG@NGGMGLMM@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAo?$AAf?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1EK@MJHEMJNL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi?$AAt?$AAh@" = comdat any

$"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@" = comdat any

$"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@" = comdat any

$"\01??_C@_1EA@NLLLDLAB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1EG@BMHPPKH@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo@" = comdat any

$"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@" = comdat any

$"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@" = comdat any

$"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@" = comdat any

$"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@" = comdat any

$"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@" = comdat any

$"\01??_C@_0BG@OFLLLHIE@invalid?5stof?5argument?$AA@" = comdat any

$"\01??_C@_0BL@CGEIMNKL@stof?5argument?5out?5of?5range?$AA@" = comdat any

$"\01??_C@_0BG@LNNHAOEF@invalid?5stod?5argument?$AA@" = comdat any

$"\01??_C@_0BL@PPHDABKE@stod?5argument?5out?5of?5range?$AA@" = comdat any

$"\01??_C@_1DE@CNDHOMIC@?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA?2?$AA?8?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?$CC?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_1EE@EOKDBJGG@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@" = comdat any

$"\01??_C@_1EE@FMBGLGII@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@" = comdat any

$"\01??_C@_1EC@FLGDOOBO@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?$CJ@" = comdat any

$"\01??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@" = comdat any

$"\01??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@" = comdat any

$"\01??_C@_1DG@OPPABMNJ@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAi?$AAs?$AAt?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1DK@KAJAHBLB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1DG@COIOBKOD@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAC?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1DI@CKLOFELG@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAN?$AAa?$AAm?$AAe?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1DI@LICFBLBP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_1EC@IHGGMHKL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?$CJ@" = comdat any

$"\01??_7EventHandler@parser@@6B@" = comdat largest

$"\01??_R4EventHandler@parser@@6B@" = comdat any

$"\01??_C@_17GJAOLOGM@?$AA?$CI?$AA0?$AA?$CJ?$AA?$AA@" = comdat any

$"\01??_C@_17LLNBFDEH@?$AAE?$AAO?$AAF?$AA?$AA@" = comdat any

$"\01??_C@_1BA@BCPHNIGF@?$AAC?$AAo?$AAm?$AAm?$AAe?$AAn?$AAt?$AA?$AA@" = comdat any

$"\01??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe?$AA?$AA@" = comdat any

$"\01??_C@_1BC@HFLNOOCG@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AA?$AA@" = comdat any

$"\01??_C@_1BE@FHGMKHI@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AA?$AA@" = comdat any

$"\01??_C@_1BG@CCFLMPGD@?$AAN?$AAa?$AAm?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = comdat any

$"\01??_C@_1BO@CKBJDCOA@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = comdat any

$"\01??_C@_1CA@LJOKHBCE@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = comdat any

$"\01??_C@_19ILMHPLGH@?$AAR?$AAe?$AAa?$AAl?$AA?$AA@" = comdat any

$"\01??_C@_1O@DHFHAMFF@?$AAN?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = comdat any

$"\01??_C@_1O@PLHFJNFA@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@" = comdat any

$"\01??_C@_1BI@GKNFFAPF@?$AAW?$AAh?$AAi?$AAt?$AAe?$AAs?$AAp?$AAa?$AAc?$AAe?$AAs?$AA?$AA@" = comdat any

$"\01??_C@_17LPHEFLAF@?$AA?8?$AA?$CI?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17HECIIIKA@?$AA?8?$AA?$CJ?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17CEOFBJBD@?$AA?8?$AA?0?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17PBGKPIJF@?$AA?8?$AA?3?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_19FEOMIBIB@?$AA?8?$AA?3?$AA?$CB?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17DKDGCLDA@?$AA?8?$AA?$DL?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17DCMCCEGK@?$AA?8?$AA?$FL?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17OEJLMHHH@?$AA?8?$AA?$FN?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17DFGOCBFM@?$AA?8?$AA?$HL?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_17ODDHMCEB@?$AA?8?$AA?$HN?$AA?8?$AA?$AA@" = comdat any

$"\01??_C@_1DA@LGMIGNBH@?$AAl?$AAe?$AAx?$AAi?$AAc?$AAa?$AAl?$AA?5?$AAa?$AAn?$AAa?$AAl?$AAy?$AAs?$AAi?$AAs?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@" = comdat any

$"\01??_C@_1BK@ECDIFIKG@?$AAs?$AAy?$AAn?$AAt?$AAa?$AAx?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@" = comdat any

$"\01??_7Parser@parser@@6B@" = comdat largest

$"\01??_R4Parser@parser@@6B@" = comdat any

$"\01??_R0?AVParser@parser@@@8" = comdat any

$"\01??_R3Parser@parser@@8" = comdat any

$"\01??_R2Parser@parser@@8" = comdat any

$"\01??_R1A@?0A@EA@Parser@parser@@8" = comdat any

$"\01??_C@_1BC@GOLKDDE@?$AA?0?$AA?5?$AAf?$AAo?$AAu?$AAn?$AAd?$AA?5?$AA?$AA@" = comdat any

$"\01??_C@_1CE@DBEBHKDO@?$AA?6?$AAw?$AAh?$AAi?$AAl?$AAe?$AA?5?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" = comdat any

$"\01??_C@_11LOCGONAA@?$AA?$AA@" = comdat any

$"\01??_C@_13MCLHKIEA@?$AA?$FL?$AA?$AA@" = comdat any

$"\01??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@" = comdat any

$"\01??_C@_15JBJAKFBB@?$AA?$FN?$AA?6?$AA?$AA@" = comdat any

$"\01??_C@_15JOGBDECP@?$AA?0?$AA?5?$AA?$AA@" = comdat any

$"\01??_C@_1DK@EAKPMKKL@?$AAa?$AAf?$AAt?$AAe?$AAr?$AA?5?$AAs?$AAu?$AAc?$AAc?$AAe?$AAs?$AAs?$AAf?$AAu?$AAl?$AAl?$AAy?$AA?5?$AAs?$AAc?$AAa?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" = comdat any

$"\01??_C@_15KNBIKKIN@?$AA?$CF?$AAd?$AA?$AA@" = comdat any

$"\01??_C@_1CO@HJFNILBI@?$AA?5?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAb?$AAe?$AAg?$AAi?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?6?$AA?$AA@" = comdat any

$"\01?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA" = comdat any

$"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@" = comdat any

$"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@" = comdat any

$"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@" = comdat any

$"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@" = comdat any

$"\01??_C@_0BK@KGDODFCD@unable?5to?5allocate?5memory?$AA@" = comdat any

$"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@" = comdat any

$"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@" = comdat any

$"\01??_C@_0N@DFBCBKCD@non?5callable?$AA@" = comdat any

$"\01??_C@_0O@MEAOPHLN@body?5with?5PRE?$AA@" = comdat any

$"\01??_C@_0CJ@CILIKIOE@already?5imported?5function?5with?5s@" = comdat any

$"\01??_C@_0BG@NGANBCHN@invalid?5argument?5type?$AA@" = comdat any

$"\01??_C@_0BI@FMHIGIAA@unsupported?5output?5size?$AA@" = comdat any

$"\01??_C@_0BE@BAIDNNBL@invalid?5output?5type?$AA@" = comdat any

$"\01??_C@_0N@GAIHBLBI@invalid?5name?$AA@" = comdat any

$"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@" = comdat any

$"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@" = comdat any

$"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@" = comdat any

$"\01??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@" = comdat any

$"_TI5?AVfailure@ios_base@std@@" = comdat any

$"\01??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@" = comdat any

$"\01??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@" = comdat any

$"_CTA5?AVfailure@ios_base@std@@" = comdat any

$"_CT??_R0?AVfailure@ios_base@std@@@820" = comdat any

$"_CT??_R0?AVsystem_error@std@@@820" = comdat any

$"_CT??_R0?AV_System_error@std@@@820" = comdat any

$"_CT??_R0?AVruntime_error@std@@@812" = comdat any

$"_CT??_R0?AVexception@std@@@812" = comdat any

$"\01??_R0?AVexception@std@@@8" = comdat any

$"\01??_7exception@std@@6B@" = comdat largest

$"\01??_R4exception@std@@6B@" = comdat any

$"\01??_C@_0BC@EOODALEL@Unknown?5exception?$AA@" = comdat any

$"\01??_R3exception@std@@8" = comdat any

$"\01??_R2exception@std@@8" = comdat any

$"\01??_R1A@?0A@EA@exception@std@@8" = comdat any

$"\01??_R0?AVruntime_error@std@@@8" = comdat any

$"\01??_7runtime_error@std@@6B@" = comdat largest

$"\01??_R4runtime_error@std@@6B@" = comdat any

$"\01??_R3runtime_error@std@@8" = comdat any

$"\01??_R2runtime_error@std@@8" = comdat any

$"\01??_R1A@?0A@EA@runtime_error@std@@8" = comdat any

$"\01??_R0?AV_System_error@std@@@8" = comdat any

$"\01??_7_System_error@std@@6B@" = comdat largest

$"\01??_R4_System_error@std@@6B@" = comdat any

$"\01??_R3_System_error@std@@8" = comdat any

$"\01??_R2_System_error@std@@8" = comdat any

$"\01??_R1A@?0A@EA@_System_error@std@@8" = comdat any

$"\01??_R0?AVsystem_error@std@@@8" = comdat any

$"\01??_7system_error@std@@6B@" = comdat largest

$"\01??_R4system_error@std@@6B@" = comdat any

$"\01??_R3system_error@std@@8" = comdat any

$"\01??_R2system_error@std@@8" = comdat any

$"\01??_R1A@?0A@EA@system_error@std@@8" = comdat any

$"\01??_R0?AVfailure@ios_base@std@@@8" = comdat any

$"\01??_7failure@ios_base@std@@6B@" = comdat largest

$"\01??_R4failure@ios_base@std@@6B@" = comdat any

$"\01??_R3failure@ios_base@std@@8" = comdat any

$"\01??_R2failure@ios_base@std@@8" = comdat any

$"\01??_R1A@?0A@EA@failure@ios_base@std@@8" = comdat any

$"\01??_C@_02LMMGGCAJ@?3?5?$AA@" = comdat any

$"\01?_Flag@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4PAXA" = comdat any

$"\01?_Storage@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4T?$_Align_type@H$07@1@A" = comdat any

$"\01??_7_Iostream_error_category@std@@6B@" = comdat largest

$"\01??_R4_Iostream_error_category@std@@6B@" = comdat any

$"\01??_C@_0BG@PADBLCHM@iostream?5stream?5error?$AA@" = comdat any

$"\01??_C@_08LLGCOLLL@iostream?$AA@" = comdat any

$"\01??_R0?AV_Iostream_error_category@std@@@8" = comdat any

$"\01??_R3_Iostream_error_category@std@@8" = comdat any

$"\01??_R2_Iostream_error_category@std@@8" = comdat any

$"\01??_R1A@?0A@EA@_Iostream_error_category@std@@8" = comdat any

$"\01??_R1A@?0A@EA@_Generic_error_category@std@@8" = comdat any

$"\01??_R1A@?0A@EA@error_category@std@@8" = comdat any

$"\01??_R0?AVerror_category@std@@@8" = comdat any

$"\01??_R3error_category@std@@8" = comdat any

$"\01??_R2error_category@std@@8" = comdat any

$"\01??_R0?AV_Generic_error_category@std@@@8" = comdat any

$"\01??_R3_Generic_error_category@std@@8" = comdat any

$"\01??_R2_Generic_error_category@std@@8" = comdat any

$"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@" = comdat any

$"\01??_C@_0CE@OKCECOIE@attempted?5to?5set?5combined?5to?5its@" = comdat any

$"\01??_C@_0L@DAAPHPOG@empty?5list?$AA@" = comdat any

$"\01??_C@_0O@NKLCAAOG@no?5filesystem?$AA@" = comdat any

$"\01??_C@_05JJJEGPH@?4easy?$AA@" = comdat any

$"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@" = comdat any

$"\01??_C@_03HAFDNMHA@?$CC?0?5?$AA@" = comdat any

$"\01??_C@_03BCGAIFPO@abs?$AA@" = comdat any

$"\01??_C@_0P@KPJDOPMC@allocateMemory?$AA@" = comdat any

$"\01??_C@_03BOPJPIAM@and?$AA@" = comdat any

$"\01??_C@_05HIFJDKLD@array?$AA@" = comdat any

$"\01??_C@_05KNGEOGJB@atan2?$AA@" = comdat any

$"\01??_C@_03LALBNOCG@cos?$AA@" = comdat any

$"\01??_C@_03KHJOGHMM@exp?$AA@" = comdat any

$"\01??_C@_05MAJJAKPI@FALSE?$AA@" = comdat any

$"\01??_C@_0L@CIPHLGBD@fieldCount?$AA@" = comdat any

$"\01??_C@_09ELOIKAJM@fieldName?$AA@" = comdat any

$"\01??_C@_05PBJFFIGL@floor?$AA@" = comdat any

$"\01??_C@_0L@IGNAINIB@freeMemory?$AA@" = comdat any

$"\01??_C@_03GNCOHECN@has?$AA@" = comdat any

$"\01??_C@_0O@HPJEOGCK@importDynamic?$AA@" = comdat any

$"\01??_C@_06OAOPNKHP@insert?$AA@" = comdat any

$"\01??_C@_06ELFGPGBK@lshift?$AA@" = comdat any

$"\01??_C@_0N@CBKBGGGE@memoryToText?$AA@" = comdat any

$"\01??_C@_03FFONCNID@mod?$AA@" = comdat any

$"\01??_C@_03GBOCFEHI@neg?$AA@" = comdat any

$"\01??_C@_05IJDJACGD@print?$AA@" = comdat any

$"\01??_C@_0L@HMCKFDCO@printStack?$AA@" = comdat any

$"\01??_C@_03HKCDEEHL@rcp?$AA@" = comdat any

$"\01??_C@_0L@MMMLPBML@readMemory?$AA@" = comdat any

$"\01??_C@_06LEMKAMD@remove?$AA@" = comdat any

$"\01??_C@_06HMLHBBIJ@rshift?$AA@" = comdat any

$"\01??_C@_03KCHOJKKI@set?$AA@" = comdat any

$"\01??_C@_03BLEJJJBH@sin?$AA@" = comdat any

$"\01??_C@_0M@BFKEMMBK@storageSize?$AA@" = comdat any

$"\01??_C@_03IIINPABG@tan?$AA@" = comdat any

$"\01??_C@_0BC@FFKBOHDD@textMemoryPointer?$AA@" = comdat any

$"\01??_C@_0P@MKJHBKDE@textMemorySize?$AA@" = comdat any

$"\01??_C@_09JMNMJGON@textSplit?$AA@" = comdat any

$"\01??_C@_06FDMMICBG@toText?$AA@" = comdat any

$"\01??_C@_06OPLLLDEK@untail?$AA@" = comdat any

$"\01??_C@_07DDAOFDPL@useFile?$AA@" = comdat any

$"\01??_C@_0M@LMIKAJBN@writeMemory?$AA@" = comdat any

$"\01??_C@_03COLCDPPJ@xor?$AA@" = comdat any

$"\01??_C@_07NMGBPFLN@closure?$AA@" = comdat any

$"\01??_C@_03DIIIOCIG@DIE?$AA@" = comdat any

$"\01??_C@_03PHIAGONP@PRE?$AA@" = comdat any

$"\01??_7_Generic_error_category@std@@6B@" = comdat largest

$"\01??_R4_Generic_error_category@std@@6B@" = comdat any

$"\01??_C@_07DCLBNMLN@generic?$AA@" = comdat any

$"\01??_7error_category@std@@6B@" = comdat largest

$"\01??_R4error_category@std@@6B@" = comdat any

$"\01??_C@_04EDNPHEAP@easy?$AA@" = comdat any

$"\01??_C@_0BA@NIHDDCPL@stack?5is?5empty?6?$AA@" = comdat any

$"\01??_C@_07ICCLGLHB@stack?3?6?$AA@" = comdat any

$"\01??_C@_02NJPGOMH@?$CFf?$AA@" = comdat any

$"\01??_C@_06HNBMIJMO@?$FLCODE?$FN?$AA@" = comdat any

$"\01??_C@_02HMLFPPOG@?5?$CJ?$AA@" = comdat any

$"\01??_C@_02KCGCGHLG@?5?$HN?$AA@" = comdat any

$"\01??_C@_0BB@PHIHBIME@max?5node?5depth?3?5?$AA@" = comdat any

$"\01??_C@_0BN@POPFBIED@created?1released?5combineds?3?5?$AA@" = comdat any

$"\01??_C@_0CC@PAFBEPGE@maximum?5recursion?5level?5reached?5@" = comdat any

$"\01??_C@_02MCBEACAC@?4?$EA?$AA@" = comdat any

$"\01??_C@_02LOPCFIOE@?4?$CB?$AA@" = comdat any

$"\01??_C@_0L@GDMABBIG@?3?5error?0?5?$FL?$AA@" = comdat any

$"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@" = comdat any

$"\01??_C@_03CACPPKFJ@?3?5?$FL?$AA@" = comdat any

$"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@" = comdat any

$"\01??_C@_0M@ECIFEILD@?$DMGENERATED?$DO?$AA@" = comdat any

$"\01??_C@_1EM@HMJIJEKF@?$AAt?$AAe?$AAx?$AAt?$AA?4?$AAt?$AAe?$AAx?$AAt?$AA?9?$AA?$DO?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?4?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu@" = comdat any

$"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = comdat any

$"\01??_C@_1FA@KKJNNKNK@?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAI?$AAn?$AAf?$AAo?$AAs?$AA?4?$AAs?$AAi?$AAz?$AAe?$AA?$CI?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?9@" = comdat any

$"\01??_C@_0BF@MIAPDANG@unsupported?5AST?5node?$AA@" = comdat any

$"\01??_C@_0BD@HAHNBGGB@invalid?5input?5type?$AA@" = comdat any

$"\01??_C@_0M@PGAKIHGM@?$CJ?3?5error?0?5?$FL?$AA@" = comdat any

$"\01??_C@_04LJIJPCN@?$CJ?3?5?$FL?$AA@" = comdat any

$"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@" = comdat any

$"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@" = comdat any

$"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@" = comdat any

$"\01??_C@_0BE@JONHPENG@map?1set?$DMT?$DO?5too?5long?$AA@" = comdat any

$"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@" = comdat any

$"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@" = comdat any

$"\01??_C@_0BA@MFBJLJNL@file?5is?5too?5big?$AA@" = comdat any

$"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@" = comdat any

$"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@" = comdat any

$"\01??_C@_1CK@NEHOOEBB@?$AAc?$AAo?$AAd?$AAe?$AAP?$AAo?$AAi?$AAn?$AAt?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA1?$AA1?$AA0?$AA0?$AA0?$AA0?$AA?$AA@" = comdat any

$"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = comdat any

$"\01??_C@_1FA@IEDPGJFO@?$AAc?$AAu?$AA0?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAc?$AAu?$AA0?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AAu?$AA0@" = comdat any

$"\01??_C@_1EE@GHANBHFB@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = comdat any

$"\01??_C@_1IO@ILHBODHE@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = comdat any

$"\01??_C@_1NI@CHJMDPEJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = comdat any

$"\01??_C@_1BE@NMHMCMGK@?$AAc?$AAu?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?$AA@" = comdat any

$"\01??_C@_1CI@PMKMCCAI@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$AA@" = comdat any

$"\01??_C@_1CI@HCOLGIDN@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$AA@" = comdat any

$"\01??_C@_1PE@FFKMHBIJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AA?$CK?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?5?$AA?9?$AA?5?$AA4?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA8?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN@" = comdat any

@0 = private unnamed_addr constant { [6 x i8*] } { [6 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4ASTBuilder@ast@@6B@" to i8*), i8* bitcast (i8* (%"class.ast::ASTBuilder"*, i32)* @"\01??_GASTBuilder@ast@@UAEPAXI@Z" to i8*), i8* bitcast (void (%"class.ast::ASTBuilder"*, i16*)* @"\01?reset@ASTBuilder@ast@@EAEXPB_W@Z" to i8*), i8* bitcast (void (%"class.ast::ASTBuilder"*, i32, i32)* @"\01?startNonterminal@ASTBuilder@ast@@EAEXW4NonterminalType@parser@@H@Z" to i8*), i8* bitcast (void (%"class.ast::ASTBuilder"*, i32, i32)* @"\01?endNonterminal@ASTBuilder@ast@@EAEXW4NonterminalType@parser@@H@Z" to i8*), i8* bitcast (void (%"class.ast::ASTBuilder"*, i32, i32, i32)* @"\01?terminal@ASTBuilder@ast@@EAEXW4TokenType@parser@@HH@Z" to i8*)] }, comdat($"\01??_7ASTBuilder@ast@@6B@")
@"\01??_R4ASTBuilder@ast@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor20* @"\01??_R0?AVASTBuilder@ast@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3ASTBuilder@ast@@8" }, comdat
@"\01??_R0?AVASTBuilder@ast@@@8" = linkonce_odr global %rtti.TypeDescriptor20 { i8** @"\01??_7type_info@@6B@", i8* null, [21 x i8] c".?AVASTBuilder@ast@@\00" }, comdat
@"\01??_R3ASTBuilder@ast@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 2, %rtti.BaseClassDescriptor** getelementptr inbounds ([3 x %rtti.BaseClassDescriptor*], [3 x %rtti.BaseClassDescriptor*]* @"\01??_R2ASTBuilder@ast@@8", i32 0, i32 0) }, comdat
@"\01??_R2ASTBuilder@ast@@8" = linkonce_odr constant [3 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@ASTBuilder@ast@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@EventHandler@parser@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@ASTBuilder@ast@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor20* @"\01??_R0?AVASTBuilder@ast@@@8" to i8*), i32 1, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3ASTBuilder@ast@@8" }, comdat
@"\01??_R1A@?0A@EA@EventHandler@parser@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor25* @"\01??_R0?AVEventHandler@parser@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3EventHandler@parser@@8" }, comdat
@"\01??_R0?AVEventHandler@parser@@@8" = linkonce_odr global %rtti.TypeDescriptor25 { i8** @"\01??_7type_info@@6B@", i8* null, [26 x i8] c".?AVEventHandler@parser@@\00" }, comdat
@"\01??_R3EventHandler@parser@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2EventHandler@parser@@8", i32 0, i32 0) }, comdat
@"\01??_R2EventHandler@parser@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@EventHandler@parser@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_7type_info@@6B@" = external constant i8*
@"\01??_C@_1EO@DBEKBHLP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi@" = linkonce_odr unnamed_addr constant [39 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 83, i16 116, i16 97, i16 114, i16 116, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 80, i16 114, i16 111, i16 103, i16 114, i16 97, i16 109, i16 87, i16 105, i16 116, i16 104, i16 69, i16 79, i16 70, i16 41, i16 0], comdat, align 2
@"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = linkonce_odr unnamed_addr constant [11 x i16] [i16 46, i16 46, i16 47, i16 97, i16 115, i16 116, i16 46, i16 99, i16 112, i16 112, i16 0], comdat, align 2
@"\01??_C@_1DG@NGGMGLMM@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAo?$AAf?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [27 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 84, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 69, i16 111, i16 102, i16 41, i16 0], comdat, align 2
@"\01??_C@_1EK@MJHEMJNL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi?$AAt?$AAh@" = linkonce_odr unnamed_addr constant [37 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 80, i16 114, i16 111, i16 103, i16 114, i16 97, i16 109, i16 87, i16 105, i16 116, i16 104, i16 69, i16 79, i16 70, i16 41, i16 0], comdat, align 2
@"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@" = linkonce_odr unnamed_addr constant [17 x i8] c"list<T> too long\00", comdat, align 1
@"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@" = linkonce_odr unnamed_addr constant [19 x i8] c"vector<T> too long\00", comdat, align 1
@"\01??_C@_1EA@NLLLDLAB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [32 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 83, i16 116, i16 97, i16 114, i16 116, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 80, i16 114, i16 111, i16 103, i16 114, i16 97, i16 109, i16 41, i16 0], comdat, align 2
@"\01??_C@_1EG@BMHPPKH@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo@" = linkonce_odr unnamed_addr constant [35 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 83, i16 116, i16 97, i16 114, i16 116, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 69, i16 120, i16 112, i16 114, i16 101, i16 115, i16 115, i16 105, i16 111, i16 110, i16 41, i16 0], comdat, align 2
@"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@" = linkonce_odr unnamed_addr constant [6 x i16] [i16 102, i16 97, i16 108, i16 115, i16 101, i16 0], comdat, align 2
@"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@" = linkonce_odr unnamed_addr constant [23 x i8] c"invalid stoll argument\00", comdat, align 1
@"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@" = linkonce_odr unnamed_addr constant [28 x i8] c"stoll argument out of range\00", comdat, align 1
@"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@" = linkonce_odr unnamed_addr constant [24 x i8] c"invalid stoull argument\00", comdat, align 1
@"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@" = linkonce_odr unnamed_addr constant [29 x i8] c"stoull argument out of range\00", comdat, align 1
@"\01??_C@_0BG@OFLLLHIE@invalid?5stof?5argument?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"invalid stof argument\00", comdat, align 1
@"\01??_C@_0BL@CGEIMNKL@stof?5argument?5out?5of?5range?$AA@" = linkonce_odr unnamed_addr constant [27 x i8] c"stof argument out of range\00", comdat, align 1
@"\01??_C@_0BG@LNNHAOEF@invalid?5stod?5argument?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"invalid stod argument\00", comdat, align 1
@"\01??_C@_0BL@PPHDABKE@stod?5argument?5out?5of?5range?$AA@" = linkonce_odr unnamed_addr constant [27 x i8] c"stod argument out of range\00", comdat, align 1
@"\01??_C@_1DE@CNDHOMIC@?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA?2?$AA?8?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?$CC?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [26 x i16] [i16 42, i16 105, i16 116, i16 32, i16 61, i16 61, i16 32, i16 39, i16 92, i16 92, i16 39, i16 32, i16 124, i16 124, i16 32, i16 42, i16 105, i16 116, i16 32, i16 61, i16 61, i16 32, i16 39, i16 34, i16 39, i16 0], comdat, align 2
@"\01??_C@_1EE@EOKDBJGG@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@" = linkonce_odr unnamed_addr constant [34 x i16] [i16 116, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 46, i16 101, i16 110, i16 100, i16 32, i16 45, i16 32, i16 116, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 46, i16 98, i16 101, i16 103, i16 105, i16 110, i16 32, i16 62, i16 32, i16 49, i16 0], comdat, align 2
@"\01??_C@_1EE@FMBGLGII@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@" = linkonce_odr unnamed_addr constant [34 x i16] [i16 116, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 46, i16 101, i16 110, i16 100, i16 32, i16 45, i16 32, i16 116, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 46, i16 98, i16 101, i16 103, i16 105, i16 110, i16 32, i16 62, i16 32, i16 50, i16 0], comdat, align 2
@"\01??_C@_1EC@FLGDOOBO@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?$CJ@" = linkonce_odr unnamed_addr constant [33 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 69, i16 120, i16 112, i16 114, i16 101, i16 115, i16 115, i16 105, i16 111, i16 110, i16 41, i16 0], comdat, align 2
@"\01??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@" = linkonce_odr unnamed_addr constant [24 x i8] c"invalid string position\00", comdat, align 1
@"\01??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@" = linkonce_odr unnamed_addr constant [16 x i8] c"string too long\00", comdat, align 1
@"\01??_C@_1DG@OPPABMNJ@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAi?$AAs?$AAt?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [27 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 76, i16 105, i16 115, i16 116, i16 41, i16 0], comdat, align 2
@"\01??_C@_1DK@KAJAHBLB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [29 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 79, i16 98, i16 106, i16 101, i16 99, i16 116, i16 41, i16 0], comdat, align 2
@"\01??_C@_1DG@COIOBKOD@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAC?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [27 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 67, i16 111, i16 100, i16 101, i16 41, i16 0], comdat, align 2
@"\01??_C@_1DI@CKLOFELG@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAN?$AAa?$AAm?$AAe?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [28 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 84, i16 101, i16 114, i16 109, i16 105, i16 110, i16 97, i16 108, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 78, i16 97, i16 109, i16 101, i16 41, i16 0], comdat, align 2
@"\01??_C@_1DI@LICFBLBP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [28 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 76, i16 97, i16 98, i16 101, i16 108, i16 41, i16 0], comdat, align 2
@"\01??_C@_1EC@IHGGMHKL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?$CJ@" = linkonce_odr unnamed_addr constant [33 x i16] [i16 99, i16 104, i16 101, i16 99, i16 107, i16 69, i16 110, i16 100, i16 84, i16 121, i16 112, i16 101, i16 40, i16 112, i16 97, i16 114, i16 115, i16 101, i16 114, i16 58, i16 58, i16 76, i16 97, i16 98, i16 101, i16 108, i16 82, i16 101, i16 115, i16 101, i16 116, i16 41, i16 0], comdat, align 2
@1 = private unnamed_addr constant { [6 x i8*] } { [6 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4EventHandler@parser@@6B@" to i8*), i8* bitcast (i8* (%"class.parser::EventHandler"*, i32)* @"\01??_GEventHandler@parser@@UAEPAXI@Z" to i8*), i8* bitcast (void ()* @_purecall to i8*), i8* bitcast (void ()* @_purecall to i8*), i8* bitcast (void ()* @_purecall to i8*), i8* bitcast (void ()* @_purecall to i8*)] }, comdat($"\01??_7EventHandler@parser@@6B@")
@"\01??_R4EventHandler@parser@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor25* @"\01??_R0?AVEventHandler@parser@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3EventHandler@parser@@8" }, comdat
@"\01?MAP0@Parser@parser@@0QBHB" = local_unnamed_addr constant [128 x i32] [i32 33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 3, i32 4, i32 5, i32 6, i32 6, i32 6, i32 6, i32 7, i32 8, i32 6, i32 9, i32 10, i32 9, i32 11, i32 6, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 17, i32 19, i32 17, i32 20, i32 21, i32 6, i32 6, i32 6, i32 6, i32 22, i32 23, i32 23, i32 23, i32 23, i32 24, i32 23, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 25, i32 26, i32 27, i32 6, i32 6, i32 6, i32 23, i32 23, i32 23, i32 23, i32 24, i32 23, i32 6, i32 6, i32 28, i32 6, i32 6, i32 6, i32 6, i32 28, i32 6, i32 6, i32 6, i32 29, i32 6, i32 6, i32 6, i32 6, i32 6, i32 30, i32 6, i32 6, i32 31, i32 6, i32 32, i32 6, i32 6], align 4
@"\01?MAP1@Parser@parser@@0QBHB" = local_unnamed_addr constant [245 x i32] [i32 54, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 58, i32 90, i32 122, i32 182, i32 213, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 150, i32 33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 3, i32 4, i32 5, i32 6, i32 6, i32 6, i32 6, i32 7, i32 8, i32 6, i32 9, i32 10, i32 9, i32 11, i32 6, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 17, i32 19, i32 17, i32 20, i32 21, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 22, i32 23, i32 23, i32 23, i32 23, i32 24, i32 23, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 25, i32 26, i32 27, i32 6, i32 6, i32 23, i32 23, i32 23, i32 23, i32 24, i32 23, i32 6, i32 6, i32 28, i32 6, i32 6, i32 6, i32 6, i32 28, i32 6, i32 6, i32 6, i32 29, i32 6, i32 6, i32 6, i32 6, i32 6, i32 30, i32 6, i32 6, i32 31, i32 6, i32 32, i32 6, i32 6], align 4
@"\01?MAP2@Parser@parser@@0QBHB" = local_unnamed_addr constant [6 x i32] [i32 57344, i32 65536, i32 65533, i32 1114111, i32 6, i32 6], align 4
@"\01?INITIAL@Parser@parser@@0QBHB" = local_unnamed_addr constant [14 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14], align 4
@"\01?TRANSITION@Parser@parser@@0QBHB" = local_unnamed_addr constant [814 x i32] [i32 291, i32 291, i32 291, i32 291, i32 291, i32 291, i32 291, i32 291, i32 291, i32 754, i32 697, i32 758, i32 291, i32 291, i32 291, i32 291, i32 291, i32 754, i32 290, i32 758, i32 291, i32 291, i32 291, i32 291, i32 675, i32 362, i32 272, i32 301, i32 291, i32 291, i32 291, i32 291, i32 292, i32 285, i32 312, i32 293, i32 291, i32 291, i32 291, i32 291, i32 291, i32 279, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 506, i32 806, i32 320, i32 328, i32 485, i32 345, i32 383, i32 291, i32 291, i32 356, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 783, i32 800, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 760, i32 408, i32 370, i32 378, i32 460, i32 391, i32 383, i32 291, i32 291, i32 402, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 785, i32 416, i32 424, i32 526, i32 630, i32 291, i32 291, i32 291, i32 348, i32 520, i32 432, i32 333, i32 440, i32 453, i32 540, i32 291, i32 394, i32 581, i32 468, i32 333, i32 476, i32 493, i32 540, i32 291, i32 394, i32 581, i32 468, i32 333, i32 514, i32 493, i32 575, i32 674, i32 394, i32 581, i32 468, i32 333, i32 534, i32 493, i32 718, i32 291, i32 394, i32 581, i32 468, i32 333, i32 514, i32 493, i32 712, i32 673, i32 394, i32 581, i32 468, i32 333, i32 514, i32 493, i32 540, i32 291, i32 394, i32 581, i32 468, i32 333, i32 554, i32 568, i32 560, i32 291, i32 394, i32 581, i32 468, i32 333, i32 595, i32 493, i32 540, i32 291, i32 615, i32 481, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 658, i32 609, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 304, i32 546, i32 272, i32 627, i32 291, i32 291, i32 291, i32 291, i32 506, i32 806, i32 320, i32 328, i32 445, i32 345, i32 601, i32 291, i32 506, i32 806, i32 638, i32 646, i32 445, i32 654, i32 601, i32 291, i32 291, i32 666, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 506, i32 806, i32 683, i32 691, i32 485, i32 345, i32 383, i32 291, i32 619, i32 705, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 506, i32 806, i32 726, i32 734, i32 485, i32 345, i32 739, i32 291, i32 506, i32 806, i32 320, i32 328, i32 485, i32 747, i32 383, i32 291, i32 506, i32 806, i32 768, i32 328, i32 587, i32 345, i32 383, i32 291, i32 291, i32 776, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 337, i32 793, i32 697, i32 291, i32 291, i32 291, i32 291, i32 291, i32 505, i32 500, i32 291, i32 291, i32 291, i32 291, i32 291, i32 291, i32 17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 320, i32 216, i32 216, i32 216, i32 216, i32 216, i32 216, i32 0, i32 0, i32 17, i32 0, i32 17, i32 17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 17, i32 0, i32 40, i32 0, i32 40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 279, i32 768, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 216, i32 17, i32 274, i32 274, i32 0, i32 0, i32 0, i32 357, i32 216, i32 489, i32 0, i32 489, i32 412, i32 412, i32 0, i32 0, i32 0, i32 412, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1472, i32 0, i32 489, i32 489, i32 566, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 725, i32 896, i32 896, i32 896, i32 896, i32 896, i32 896, i32 0, i32 0, i32 272, i32 0, i32 272, i32 272, i32 1152, i32 384, i32 17, i32 274, i32 274, i32 0, i32 0, i32 0, i32 358, i32 216, i32 490, i32 0, i32 490, i32 412, i32 412, i32 0, i32 0, i32 0, i32 628, i32 628, i32 566, i32 566, i32 0, i32 489, i32 489, i32 567, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 726, i32 1024, i32 1024, i32 1024, i32 1024, i32 1024, i32 1024, i32 0, i32 0, i32 275, i32 0, i32 275, i32 275, i32 0, i32 413, i32 25, i32 25, i32 283, i32 25, i32 283, i32 283, i32 0, i32 414, i32 17, i32 0, i32 0, i32 276, i32 33, i32 33, i32 359, i32 216, i32 17, i32 274, i32 736, i32 0, i32 0, i32 726, i32 0, i32 216, i32 684, i32 686, i32 0, i32 755, i32 357, i32 0, i32 0, i32 0, i32 755, i32 357, i32 357, i32 0, i32 628, i32 489, i32 0, i32 0, i32 684, i32 686, i32 0, i32 687, i32 0, i32 45, i32 0, i32 0, i32 357, i32 357, i32 0, i32 629, i32 17, i32 274, i32 726, i32 0, i32 0, i32 726, i32 0, i32 216, i32 684, i32 687, i32 48, i32 755, i32 357, i32 0, i32 0, i32 0, i32 1103, i32 0, i32 0, i32 0, i32 0, i32 357, i32 357, i32 0, i32 628, i32 489, i32 0, i32 0, i32 684, i32 687, i32 0, i32 687, i32 0, i32 128, i32 0, i32 128, i32 128, i32 128, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 274, i32 684, i32 687, i32 0, i32 755, i32 357, i32 0, i32 0, i32 0, i32 725, i32 0, i32 725, i32 725, i32 0, i32 0, i32 276, i32 0, i32 0, i32 414, i32 0, i32 33, i32 684, i32 687, i32 49, i32 755, i32 357, i32 0, i32 0, i32 0, i32 755, i32 628, i32 0, i32 566, i32 0, i32 0, i32 279, i32 0, i32 279, i32 279, i32 0, i32 384, i32 684, i32 687, i32 50, i32 755, i32 357, i32 0, i32 0, i32 0, i32 755, i32 628, i32 0, i32 566, i32 0, i32 58, i32 489, i32 0, i32 0, i32 684, i32 687, i32 0, i32 687, i32 704, i32 0, i32 755, i32 628, i32 0, i32 566, i32 0, i32 0, i32 726, i32 0, i32 726, i32 726, i32 0, i32 0, i32 704, i32 0, i32 357, i32 357, i32 0, i32 628, i32 684, i32 687, i32 704, i32 755, i32 357, i32 0, i32 0, i32 0, i32 755, i32 628, i32 628, i32 566, i32 566, i32 0, i32 0, i32 1216, i32 0, i32 1216, i32 1216, i32 1216, i32 0, i32 0, i32 1088, i32 15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1344, i32 0, i32 0, i32 43, i32 0, i32 43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 359, i32 0, i32 17, i32 274, i32 274, i32 0, i32 34, i32 34, i32 357, i32 216, i32 489, i32 0, i32 489, i32 412, i32 412, i32 0, i32 0, i32 34, i32 489, i32 489, i32 566, i32 34, i32 0, i32 0, i32 0, i32 0, i32 1216, i32 0, i32 0, i32 0, i32 1280, i32 1280, i32 1280, i32 1280, i32 1280, i32 1280, i32 0, i32 0, i32 640, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 272, i32 31, i32 274, i32 274, i32 0, i32 0, i32 0, i32 357, i32 216, i32 489, i32 0, i32 489, i32 412, i32 412, i32 0, i32 17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 216, i32 0, i32 1344, i32 0, i32 1344, i32 1344, i32 1344, i32 0, i32 0, i32 704, i32 755, i32 628, i32 0, i32 566, i32 0, i32 0, i32 755, i32 628, i32 0, i32 566, i32 0, i32 57, i32 17, i32 274, i32 274, i32 0, i32 35, i32 35, i32 357, i32 216, i32 489, i32 0, i32 489, i32 412, i32 412, i32 0, i32 0, i32 35, i32 628, i32 628, i32 566, i32 566, i32 0, i32 489, i32 489, i32 566, i32 56, i32 0, i32 56, i32 56, i32 0, i32 858, i32 0, i32 858, i32 0, i32 858, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 275, i32 17, i32 274, i32 274, i32 0, i32 36, i32 0, i32 357, i32 216, i32 1408, i32 1408, i32 1408, i32 1408, i32 1408, i32 1408, i32 0, i32 0, i32 960, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 276, i32 0, i32 1472, i32 0, i32 1472, i32 1472, i32 1472, i32 0, i32 0, i32 960, i32 0, i32 960, i32 960, i32 960, i32 0, i32 0, i32 274, i32 0, i32 274, i32 274, i32 0, i32 412], align 4
@"\01?EXPECTED@Parser@parser@@0QBHB" = local_unnamed_addr constant [58 x i32] [i32 2, i32 16384, i32 65536, i32 131072, i32 262144, i32 1048576, i32 4194304, i32 3640, i32 2662852, i32 8188358, i32 2666492, i32 8384966, i32 8187902, i32 8191998, i32 131072, i32 32, i32 2048, i32 8, i32 1544, i32 8, i32 1536, i32 1536, i32 16, i32 4, i32 448, i32 4096, i32 456, i32 32, i32 32, i32 32, i32 2048, i32 1536, i32 512, i32 512, i32 1024, i32 1024, i32 16, i32 16, i32 16, i32 256, i32 64, i32 64, i32 128, i32 512, i32 512, i32 512, i32 512, i32 1024, i32 1024, i32 1024, i32 1024, i32 256, i32 256, i32 128, i32 128, i32 512, i32 512, i32 512], align 4
@"\01?TOKEN@Parser@parser@@0PAPB_WA" = local_unnamed_addr global [23 x i16*] [i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17GJAOLOGM@?$AA?$CI?$AA0?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17LLNBFDEH@?$AAE?$AAO?$AAF?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([8 x i16], [8 x i16]* @"\01??_C@_1BA@BCPHNIGF@?$AAC?$AAo?$AAm?$AAm?$AAe?$AAn?$AAt?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([5 x i16], [5 x i16]* @"\01??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([9 x i16], [9 x i16]* @"\01??_C@_1BC@HFLNOOCG@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([10 x i16], [10 x i16]* @"\01??_C@_1BE@FHGMKHI@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@CCFLMPGD@?$AAN?$AAa?$AAm?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([15 x i16], [15 x i16]* @"\01??_C@_1BO@CKBJDCOA@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([16 x i16], [16 x i16]* @"\01??_C@_1CA@LJOKHBCE@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([5 x i16], [5 x i16]* @"\01??_C@_19ILMHPLGH@?$AAR?$AAe?$AAa?$AAl?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([7 x i16], [7 x i16]* @"\01??_C@_1O@DHFHAMFF@?$AAN?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([7 x i16], [7 x i16]* @"\01??_C@_1O@PLHFJNFA@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([12 x i16], [12 x i16]* @"\01??_C@_1BI@GKNFFAPF@?$AAW?$AAh?$AAi?$AAt?$AAe?$AAs?$AAp?$AAa?$AAc?$AAe?$AAs?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17LPHEFLAF@?$AA?8?$AA?$CI?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17HECIIIKA@?$AA?8?$AA?$CJ?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17CEOFBJBD@?$AA?8?$AA?0?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17PBGKPIJF@?$AA?8?$AA?3?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([5 x i16], [5 x i16]* @"\01??_C@_19FEOMIBIB@?$AA?8?$AA?3?$AA?$CB?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17DKDGCLDA@?$AA?8?$AA?$DL?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17DCMCCEGK@?$AA?8?$AA?$FL?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17OEJLMHHH@?$AA?8?$AA?$FN?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17DFGOCBFM@?$AA?8?$AA?$HL?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([4 x i16], [4 x i16]* @"\01??_C@_17ODDHMCEB@?$AA?8?$AA?$HN?$AA?8?$AA?$AA@", i32 0, i32 0)], align 4
@"\01??_C@_17GJAOLOGM@?$AA?$CI?$AA0?$AA?$CJ?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 40, i16 48, i16 41, i16 0], comdat, align 2
@"\01??_C@_17LLNBFDEH@?$AAE?$AAO?$AAF?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 69, i16 79, i16 70, i16 0], comdat, align 2
@"\01??_C@_1BA@BCPHNIGF@?$AAC?$AAo?$AAm?$AAm?$AAe?$AAn?$AAt?$AA?$AA@" = linkonce_odr unnamed_addr constant [8 x i16] [i16 67, i16 111, i16 109, i16 109, i16 101, i16 110, i16 116, i16 0], comdat, align 2
@"\01??_C@_19DINFBLAK@?$AAN?$AAa?$AAm?$AAe?$AA?$AA@" = linkonce_odr unnamed_addr constant [5 x i16] [i16 78, i16 97, i16 109, i16 101, i16 0], comdat, align 2
@"\01??_C@_1BC@HFLNOOCG@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AA?$AA@" = linkonce_odr unnamed_addr constant [9 x i16] [i16 78, i16 97, i16 109, i16 101, i16 82, i16 101, i16 97, i16 100, i16 0], comdat, align 2
@"\01??_C@_1BE@FHGMKHI@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AA?$AA@" = linkonce_odr unnamed_addr constant [10 x i16] [i16 78, i16 97, i16 109, i16 101, i16 87, i16 114, i16 105, i16 116, i16 101, i16 0], comdat, align 2
@"\01??_C@_1BG@CCFLMPGD@?$AAN?$AAa?$AAm?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = linkonce_odr unnamed_addr constant [11 x i16] [i16 78, i16 97, i16 109, i16 101, i16 77, i16 101, i16 109, i16 98, i16 101, i16 114, i16 0], comdat, align 2
@"\01??_C@_1BO@CKBJDCOA@?$AAN?$AAa?$AAm?$AAe?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = linkonce_odr unnamed_addr constant [15 x i16] [i16 78, i16 97, i16 109, i16 101, i16 82, i16 101, i16 97, i16 100, i16 77, i16 101, i16 109, i16 98, i16 101, i16 114, i16 0], comdat, align 2
@"\01??_C@_1CA@LJOKHBCE@?$AAN?$AAa?$AAm?$AAe?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = linkonce_odr unnamed_addr constant [16 x i16] [i16 78, i16 97, i16 109, i16 101, i16 87, i16 114, i16 105, i16 116, i16 101, i16 77, i16 101, i16 109, i16 98, i16 101, i16 114, i16 0], comdat, align 2
@"\01??_C@_19ILMHPLGH@?$AAR?$AAe?$AAa?$AAl?$AA?$AA@" = linkonce_odr unnamed_addr constant [5 x i16] [i16 82, i16 101, i16 97, i16 108, i16 0], comdat, align 2
@"\01??_C@_1O@DHFHAMFF@?$AAN?$AAu?$AAm?$AAb?$AAe?$AAr?$AA?$AA@" = linkonce_odr unnamed_addr constant [7 x i16] [i16 78, i16 117, i16 109, i16 98, i16 101, i16 114, i16 0], comdat, align 2
@"\01??_C@_1O@PLHFJNFA@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?$AA@" = linkonce_odr unnamed_addr constant [7 x i16] [i16 83, i16 116, i16 114, i16 105, i16 110, i16 103, i16 0], comdat, align 2
@"\01??_C@_1BI@GKNFFAPF@?$AAW?$AAh?$AAi?$AAt?$AAe?$AAs?$AAp?$AAa?$AAc?$AAe?$AAs?$AA?$AA@" = linkonce_odr unnamed_addr constant [12 x i16] [i16 87, i16 104, i16 105, i16 116, i16 101, i16 115, i16 112, i16 97, i16 99, i16 101, i16 115, i16 0], comdat, align 2
@"\01??_C@_17LPHEFLAF@?$AA?8?$AA?$CI?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 40, i16 39, i16 0], comdat, align 2
@"\01??_C@_17HECIIIKA@?$AA?8?$AA?$CJ?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 41, i16 39, i16 0], comdat, align 2
@"\01??_C@_17CEOFBJBD@?$AA?8?$AA?0?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 44, i16 39, i16 0], comdat, align 2
@"\01??_C@_17PBGKPIJF@?$AA?8?$AA?3?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 58, i16 39, i16 0], comdat, align 2
@"\01??_C@_19FEOMIBIB@?$AA?8?$AA?3?$AA?$CB?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [5 x i16] [i16 39, i16 58, i16 33, i16 39, i16 0], comdat, align 2
@"\01??_C@_17DKDGCLDA@?$AA?8?$AA?$DL?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 59, i16 39, i16 0], comdat, align 2
@"\01??_C@_17DCMCCEGK@?$AA?8?$AA?$FL?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 91, i16 39, i16 0], comdat, align 2
@"\01??_C@_17OEJLMHHH@?$AA?8?$AA?$FN?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 93, i16 39, i16 0], comdat, align 2
@"\01??_C@_17DFGOCBFM@?$AA?8?$AA?$HL?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 123, i16 39, i16 0], comdat, align 2
@"\01??_C@_17ODDHMCEB@?$AA?8?$AA?$HN?$AA?8?$AA?$AA@" = linkonce_odr unnamed_addr constant [4 x i16] [i16 39, i16 125, i16 39, i16 0], comdat, align 2
@"\01??_C@_1DA@LGMIGNBH@?$AAl?$AAe?$AAx?$AAi?$AAc?$AAa?$AAl?$AA?5?$AAa?$AAn?$AAa?$AAl?$AAy?$AAs?$AAi?$AAs?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@" = linkonce_odr unnamed_addr constant [24 x i16] [i16 108, i16 101, i16 120, i16 105, i16 99, i16 97, i16 108, i16 32, i16 97, i16 110, i16 97, i16 108, i16 121, i16 115, i16 105, i16 115, i16 32, i16 102, i16 97, i16 105, i16 108, i16 101, i16 100, i16 0], comdat, align 2
@"\01??_C@_1BK@ECDIFIKG@?$AAs?$AAy?$AAn?$AAt?$AAa?$AAx?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@" = linkonce_odr unnamed_addr constant [13 x i16] [i16 115, i16 121, i16 110, i16 116, i16 97, i16 120, i16 32, i16 101, i16 114, i16 114, i16 111, i16 114, i16 0], comdat, align 2
@2 = private unnamed_addr constant { [2 x i8*] } { [2 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4Parser@parser@@6B@" to i8*), i8* bitcast (i8* (%"class.parser::Parser"*, i32)* @"\01??_GParser@parser@@UAEPAXI@Z" to i8*)] }, comdat($"\01??_7Parser@parser@@6B@")
@"\01??_R4Parser@parser@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor19* @"\01??_R0?AVParser@parser@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3Parser@parser@@8" }, comdat
@"\01??_R0?AVParser@parser@@@8" = linkonce_odr global %rtti.TypeDescriptor19 { i8** @"\01??_7type_info@@6B@", i8* null, [20 x i8] c".?AVParser@parser@@\00" }, comdat
@"\01??_R3Parser@parser@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2Parser@parser@@8", i32 0, i32 0) }, comdat
@"\01??_R2Parser@parser@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@Parser@parser@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@Parser@parser@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor19* @"\01??_R0?AVParser@parser@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3Parser@parser@@8" }, comdat
@"\01??_C@_1BC@GOLKDDE@?$AA?0?$AA?5?$AAf?$AAo?$AAu?$AAn?$AAd?$AA?5?$AA?$AA@" = linkonce_odr unnamed_addr constant [9 x i16] [i16 44, i16 32, i16 102, i16 111, i16 117, i16 110, i16 100, i16 32, i16 0], comdat, align 2
@"\01??_C@_1CE@DBEBHKDO@?$AA?6?$AAw?$AAh?$AAi?$AAl?$AAe?$AA?5?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" = linkonce_odr unnamed_addr constant [18 x i16] [i16 10, i16 119, i16 104, i16 105, i16 108, i16 101, i16 32, i16 101, i16 120, i16 112, i16 101, i16 99, i16 116, i16 105, i16 110, i16 103, i16 32, i16 0], comdat, align 2
@"\01??_C@_11LOCGONAA@?$AA?$AA@" = linkonce_odr unnamed_addr constant [1 x i16] zeroinitializer, comdat, align 2
@"\01??_C@_13MCLHKIEA@?$AA?$FL?$AA?$AA@" = linkonce_odr unnamed_addr constant [2 x i16] [i16 91, i16 0], comdat, align 2
@"\01??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@" = linkonce_odr unnamed_addr constant [2 x i16] [i16 10, i16 0], comdat, align 2
@"\01??_C@_15JBJAKFBB@?$AA?$FN?$AA?6?$AA?$AA@" = linkonce_odr unnamed_addr constant [3 x i16] [i16 93, i16 10, i16 0], comdat, align 2
@"\01??_C@_15JOGBDECP@?$AA?0?$AA?5?$AA?$AA@" = linkonce_odr unnamed_addr constant [3 x i16] [i16 44, i16 32, i16 0], comdat, align 2
@"\01??_C@_1DK@EAKPMKKL@?$AAa?$AAf?$AAt?$AAe?$AAr?$AA?5?$AAs?$AAu?$AAc?$AAc?$AAe?$AAs?$AAs?$AAf?$AAu?$AAl?$AAl?$AAy?$AA?5?$AAs?$AAc?$AAa?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" = linkonce_odr unnamed_addr constant [29 x i16] [i16 97, i16 102, i16 116, i16 101, i16 114, i16 32, i16 115, i16 117, i16 99, i16 99, i16 101, i16 115, i16 115, i16 102, i16 117, i16 108, i16 108, i16 121, i16 32, i16 115, i16 99, i16 97, i16 110, i16 110, i16 105, i16 110, i16 103, i16 32, i16 0], comdat, align 2
@"\01??_C@_15KNBIKKIN@?$AA?$CF?$AAd?$AA?$AA@" = linkonce_odr unnamed_addr constant [3 x i16] [i16 37, i16 100, i16 0], comdat, align 2
@"\01??_C@_1CO@HJFNILBI@?$AA?5?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAb?$AAe?$AAg?$AAi?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?6?$AA?$AA@" = linkonce_odr unnamed_addr constant [23 x i16] [i16 32, i16 99, i16 104, i16 97, i16 114, i16 97, i16 99, i16 116, i16 101, i16 114, i16 115, i16 32, i16 98, i16 101, i16 103, i16 105, i16 110, i16 110, i16 105, i16 110, i16 103, i16 10, i16 0], comdat, align 2
@"\01?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA" = linkonce_odr global i64 0, comdat, align 8
@"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@" = linkonce_odr unnamed_addr constant [16 x i8] c"stack underflow\00", comdat, align 1
@"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@" = linkonce_odr unnamed_addr constant [17 x i8] c"invalid argument\00", comdat, align 1
@"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@" = linkonce_odr unnamed_addr constant [13 x i8] c"invalid size\00", comdat, align 1
@"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@" = linkonce_odr unnamed_addr constant [18 x i8] c"invalid arguments\00", comdat, align 1
@"\01??_C@_0BK@KGDODFCD@unable?5to?5allocate?5memory?$AA@" = linkonce_odr unnamed_addr constant [26 x i8] c"unable to allocate memory\00", comdat, align 1
@"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"not a list\00", comdat, align 1
@"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"invalid index\00", comdat, align 1
@"\01??_C@_0N@DFBCBKCD@non?5callable?$AA@" = linkonce_odr unnamed_addr constant [13 x i8] c"non callable\00", comdat, align 1
@"\01??_C@_0O@MEAOPHLN@body?5with?5PRE?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"body with PRE\00", comdat, align 1
@"\01??_C@_0CJ@CILIKIOE@already?5imported?5function?5with?5s@" = linkonce_odr unnamed_addr constant [41 x i8] c"already imported function with same name\00", comdat, align 1
@"\01??_C@_0BG@NGANBCHN@invalid?5argument?5type?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"invalid argument type\00", comdat, align 1
@"\01??_C@_0BI@FMHIGIAA@unsupported?5output?5size?$AA@" = linkonce_odr unnamed_addr constant [24 x i8] c"unsupported output size\00", comdat, align 1
@"\01??_C@_0BE@BAIDNNBL@invalid?5output?5type?$AA@" = linkonce_odr unnamed_addr constant [20 x i8] c"invalid output type\00", comdat, align 1
@"\01??_C@_0N@GAIHBLBI@invalid?5name?$AA@" = linkonce_odr unnamed_addr constant [13 x i8] c"invalid name\00", comdat, align 1
@"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@" = linkonce_odr unnamed_addr constant [26 x i8] c"invalid body return value\00", comdat, align 1
@"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"invalid shift\00", comdat, align 1
@"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@" = linkonce_odr unnamed_addr constant [17 x i8] c"division by zero\00", comdat, align 1
@"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A" = external global %"class.std::basic_ostream", align 8
@"\01??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@" = linkonce_odr unnamed_addr constant [21 x i8] c"ios_base::badbit set\00", comdat, align 1
@"_TI5?AVfailure@ios_base@std@@" = linkonce_odr unnamed_addr constant %eh.ThrowInfo { i32 0, i8* bitcast (void (%"class.std::exception"*)* @"\01??1exception@std@@UAE@XZ" to i8*), i8* null, i8* bitcast (%eh.CatchableTypeArray.5* @"_CTA5?AVfailure@ios_base@std@@" to i8*) }, section ".xdata", comdat
@"\01??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"ios_base::failbit set\00", comdat, align 1
@"\01??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@" = linkonce_odr unnamed_addr constant [21 x i8] c"ios_base::eofbit set\00", comdat, align 1
@"_CTA5?AVfailure@ios_base@std@@" = linkonce_odr unnamed_addr constant %eh.CatchableTypeArray.5 { i32 5, [5 x %eh.CatchableType*] [%eh.CatchableType* @"_CT??_R0?AVfailure@ios_base@std@@@820", %eh.CatchableType* @"_CT??_R0?AVsystem_error@std@@@820", %eh.CatchableType* @"_CT??_R0?AV_System_error@std@@@820", %eh.CatchableType* @"_CT??_R0?AVruntime_error@std@@@812", %eh.CatchableType* @"_CT??_R0?AVexception@std@@@812"] }, section ".xdata", comdat
@"_CT??_R0?AVfailure@ios_base@std@@@820" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i8* bitcast (%rtti.TypeDescriptor26* @"\01??_R0?AVfailure@ios_base@std@@@8" to i8*), i32 0, i32 -1, i32 0, i32 20, i8* bitcast (%"class.std::ios_base::failure"* (%"class.std::ios_base::failure"*, %"class.std::ios_base::failure"*)* @"\01??0failure@ios_base@std@@QAE@ABV012@@Z" to i8*) }, section ".xdata", comdat
@"_CT??_R0?AVsystem_error@std@@@820" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i8* bitcast (%rtti.TypeDescriptor22* @"\01??_R0?AVsystem_error@std@@@8" to i8*), i32 0, i32 -1, i32 0, i32 20, i8* bitcast (%"class.std::system_error"* (%"class.std::system_error"*, %"class.std::system_error"*)* @"\01??0system_error@std@@QAE@ABV01@@Z" to i8*) }, section ".xdata", comdat
@"_CT??_R0?AV_System_error@std@@@820" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AV_System_error@std@@@8" to i8*), i32 0, i32 -1, i32 0, i32 20, i8* bitcast (%"class.std::_System_error"* (%"class.std::_System_error"*, %"class.std::_System_error"*)* @"\01??0_System_error@std@@QAE@ABV01@@Z" to i8*) }, section ".xdata", comdat
@"_CT??_R0?AVruntime_error@std@@@812" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AVruntime_error@std@@@8" to i8*), i32 0, i32 -1, i32 0, i32 12, i8* bitcast (%"class.std::runtime_error"* (%"class.std::runtime_error"*, %"class.std::runtime_error"*)* @"\01??0runtime_error@std@@QAE@ABV01@@Z" to i8*) }, section ".xdata", comdat
@"_CT??_R0?AVexception@std@@@812" = linkonce_odr unnamed_addr constant %eh.CatchableType { i32 0, i8* bitcast (%rtti.TypeDescriptor19* @"\01??_R0?AVexception@std@@@8" to i8*), i32 0, i32 -1, i32 0, i32 12, i8* bitcast (%"class.std::exception"* (%"class.std::exception"*, %"class.std::exception"*)* @"\01??0exception@std@@QAE@ABV01@@Z" to i8*) }, section ".xdata", comdat
@"\01??_R0?AVexception@std@@@8" = linkonce_odr global %rtti.TypeDescriptor19 { i8** @"\01??_7type_info@@6B@", i8* null, [20 x i8] c".?AVexception@std@@\00" }, comdat
@3 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4exception@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::exception"*, i32)* @"\01??_Gexception@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception"*)* @"\01?what@exception@std@@UBEPBDXZ" to i8*)] }, comdat($"\01??_7exception@std@@6B@")
@"\01??_R4exception@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor19* @"\01??_R0?AVexception@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3exception@std@@8" }, comdat
@"\01??_C@_0BC@EOODALEL@Unknown?5exception?$AA@" = linkonce_odr unnamed_addr constant [18 x i8] c"Unknown exception\00", comdat, align 1
@"\01??_R3exception@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2exception@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2exception@std@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@exception@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@exception@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor19* @"\01??_R0?AVexception@std@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3exception@std@@8" }, comdat
@"\01??_R0?AVruntime_error@std@@@8" = linkonce_odr global %rtti.TypeDescriptor23 { i8** @"\01??_7type_info@@6B@", i8* null, [24 x i8] c".?AVruntime_error@std@@\00" }, comdat
@4 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4runtime_error@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::runtime_error"*, i32)* @"\01??_Gruntime_error@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception"*)* @"\01?what@exception@std@@UBEPBDXZ" to i8*)] }, comdat($"\01??_7runtime_error@std@@6B@")
@"\01??_R4runtime_error@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AVruntime_error@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3runtime_error@std@@8" }, comdat
@"\01??_R3runtime_error@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 2, %rtti.BaseClassDescriptor** getelementptr inbounds ([3 x %rtti.BaseClassDescriptor*], [3 x %rtti.BaseClassDescriptor*]* @"\01??_R2runtime_error@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2runtime_error@std@@8" = linkonce_odr constant [3 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@runtime_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@exception@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@runtime_error@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AVruntime_error@std@@@8" to i8*), i32 1, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3runtime_error@std@@8" }, comdat
@"\01??_R0?AV_System_error@std@@@8" = linkonce_odr global %rtti.TypeDescriptor23 { i8** @"\01??_7type_info@@6B@", i8* null, [24 x i8] c".?AV_System_error@std@@\00" }, comdat
@5 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4_System_error@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::_System_error"*, i32)* @"\01??_G_System_error@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception"*)* @"\01?what@exception@std@@UBEPBDXZ" to i8*)] }, comdat($"\01??_7_System_error@std@@6B@")
@"\01??_R4_System_error@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AV_System_error@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3_System_error@std@@8" }, comdat
@"\01??_R3_System_error@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 3, %rtti.BaseClassDescriptor** getelementptr inbounds ([4 x %rtti.BaseClassDescriptor*], [4 x %rtti.BaseClassDescriptor*]* @"\01??_R2_System_error@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2_System_error@std@@8" = linkonce_odr constant [4 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_System_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@runtime_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@exception@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@_System_error@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor23* @"\01??_R0?AV_System_error@std@@@8" to i8*), i32 2, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3_System_error@std@@8" }, comdat
@"\01??_R0?AVsystem_error@std@@@8" = linkonce_odr global %rtti.TypeDescriptor22 { i8** @"\01??_7type_info@@6B@", i8* null, [23 x i8] c".?AVsystem_error@std@@\00" }, comdat
@6 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4system_error@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::system_error"*, i32)* @"\01??_Gsystem_error@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception"*)* @"\01?what@exception@std@@UBEPBDXZ" to i8*)] }, comdat($"\01??_7system_error@std@@6B@")
@"\01??_R4system_error@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor22* @"\01??_R0?AVsystem_error@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3system_error@std@@8" }, comdat
@"\01??_R3system_error@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 4, %rtti.BaseClassDescriptor** getelementptr inbounds ([5 x %rtti.BaseClassDescriptor*], [5 x %rtti.BaseClassDescriptor*]* @"\01??_R2system_error@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2system_error@std@@8" = linkonce_odr constant [5 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@system_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_System_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@runtime_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@exception@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@system_error@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor22* @"\01??_R0?AVsystem_error@std@@@8" to i8*), i32 3, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3system_error@std@@8" }, comdat
@"\01??_R0?AVfailure@ios_base@std@@@8" = linkonce_odr global %rtti.TypeDescriptor26 { i8** @"\01??_7type_info@@6B@", i8* null, [27 x i8] c".?AVfailure@ios_base@std@@\00" }, comdat
@7 = private unnamed_addr constant { [3 x i8*] } { [3 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4failure@ios_base@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::ios_base::failure"*, i32)* @"\01??_Gfailure@ios_base@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::exception"*)* @"\01?what@exception@std@@UBEPBDXZ" to i8*)] }, comdat($"\01??_7failure@ios_base@std@@6B@")
@"\01??_R4failure@ios_base@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor26* @"\01??_R0?AVfailure@ios_base@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3failure@ios_base@std@@8" }, comdat
@"\01??_R3failure@ios_base@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 5, %rtti.BaseClassDescriptor** getelementptr inbounds ([6 x %rtti.BaseClassDescriptor*], [6 x %rtti.BaseClassDescriptor*]* @"\01??_R2failure@ios_base@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2failure@ios_base@std@@8" = linkonce_odr constant [6 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@failure@ios_base@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@system_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_System_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@runtime_error@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@exception@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@failure@ios_base@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor26* @"\01??_R0?AVfailure@ios_base@std@@@8" to i8*), i32 4, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3failure@ios_base@std@@8" }, comdat
@"\01??_C@_02LMMGGCAJ@?3?5?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c": \00", comdat, align 1
@"\01?_Flag@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4PAXA" = linkonce_odr global i8* null, comdat, align 4
@"\01?_Storage@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4T?$_Align_type@H$07@1@A" = linkonce_odr global %"union.std::_Align_type.72" zeroinitializer, comdat, align 4
@8 = private unnamed_addr constant { [7 x i8*] } { [7 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4_Iostream_error_category@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::_Iostream_error_category"*, i32)* @"\01??_G_Iostream_error_category@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::_Iostream_error_category"*)* @"\01?name@_Iostream_error_category@std@@UBEPBDXZ" to i8*), i8* bitcast (void (%"class.std::_Iostream_error_category"*, %"class.std::basic_string"*, i32)* @"\01?message@_Iostream_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z" to i8*), i8* bitcast (void (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, i32, %"class.std::error_code"*)* @"\01?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z" to i8*)] }, comdat($"\01??_7_Iostream_error_category@std@@6B@")
@"\01??_R4_Iostream_error_category@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor34* @"\01??_R0?AV_Iostream_error_category@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3_Iostream_error_category@std@@8" }, comdat
@"\01??_C@_0BG@PADBLCHM@iostream?5stream?5error?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"iostream stream error\00", comdat, align 1
@"\01??_C@_08LLGCOLLL@iostream?$AA@" = linkonce_odr unnamed_addr constant [9 x i8] c"iostream\00", comdat, align 1
@"\01??_R0?AV_Iostream_error_category@std@@@8" = linkonce_odr global %rtti.TypeDescriptor34 { i8** @"\01??_7type_info@@6B@", i8* null, [35 x i8] c".?AV_Iostream_error_category@std@@\00" }, comdat
@"\01??_R3_Iostream_error_category@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 3, %rtti.BaseClassDescriptor** getelementptr inbounds ([4 x %rtti.BaseClassDescriptor*], [4 x %rtti.BaseClassDescriptor*]* @"\01??_R2_Iostream_error_category@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2_Iostream_error_category@std@@8" = linkonce_odr constant [4 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_Iostream_error_category@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_Generic_error_category@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@error_category@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R1A@?0A@EA@_Iostream_error_category@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor34* @"\01??_R0?AV_Iostream_error_category@std@@@8" to i8*), i32 2, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3_Iostream_error_category@std@@8" }, comdat
@"\01??_R1A@?0A@EA@_Generic_error_category@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor33* @"\01??_R0?AV_Generic_error_category@std@@@8" to i8*), i32 1, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3_Generic_error_category@std@@8" }, comdat
@"\01??_R1A@?0A@EA@error_category@std@@8" = linkonce_odr constant %rtti.BaseClassDescriptor { i8* bitcast (%rtti.TypeDescriptor24* @"\01??_R0?AVerror_category@std@@@8" to i8*), i32 0, i32 0, i32 -1, i32 0, i32 64, %rtti.ClassHierarchyDescriptor* @"\01??_R3error_category@std@@8" }, comdat
@"\01??_R0?AVerror_category@std@@@8" = linkonce_odr global %rtti.TypeDescriptor24 { i8** @"\01??_7type_info@@6B@", i8* null, [25 x i8] c".?AVerror_category@std@@\00" }, comdat
@"\01??_R3error_category@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 1, %rtti.BaseClassDescriptor** getelementptr inbounds ([2 x %rtti.BaseClassDescriptor*], [2 x %rtti.BaseClassDescriptor*]* @"\01??_R2error_category@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2error_category@std@@8" = linkonce_odr constant [2 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@error_category@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_R0?AV_Generic_error_category@std@@@8" = linkonce_odr global %rtti.TypeDescriptor33 { i8** @"\01??_7type_info@@6B@", i8* null, [34 x i8] c".?AV_Generic_error_category@std@@\00" }, comdat
@"\01??_R3_Generic_error_category@std@@8" = linkonce_odr constant %rtti.ClassHierarchyDescriptor { i32 0, i32 0, i32 2, %rtti.BaseClassDescriptor** getelementptr inbounds ([3 x %rtti.BaseClassDescriptor*], [3 x %rtti.BaseClassDescriptor*]* @"\01??_R2_Generic_error_category@std@@8", i32 0, i32 0) }, comdat
@"\01??_R2_Generic_error_category@std@@8" = linkonce_odr constant [3 x %rtti.BaseClassDescriptor*] [%rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@_Generic_error_category@std@@8", %rtti.BaseClassDescriptor* @"\01??_R1A@?0A@EA@error_category@std@@8", %rtti.BaseClassDescriptor* null], comdat
@"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"unknown field\00", comdat, align 1
@"\01??_C@_0CE@OKCECOIE@attempted?5to?5set?5combined?5to?5its@" = linkonce_odr unnamed_addr constant [36 x i8] c"attempted to set combined to itself\00", comdat, align 1
@"\01??_C@_0L@DAAPHPOG@empty?5list?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"empty list\00", comdat, align 1
@"\01??_C@_0O@NKLCAAOG@no?5filesystem?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"no filesystem\00", comdat, align 1
@"\01??_C@_05JJJEGPH@?4easy?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c".easy\00", comdat, align 1
@"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@" = linkonce_odr unnamed_addr constant [22 x i8] c"unable to load file \22\00", comdat, align 1
@"\01??_C@_03HAFDNMHA@?$CC?0?5?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"\22, \00", comdat, align 1
@"\01??_C@_03BCGAIFPO@abs?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"abs\00", comdat, align 1
@"\01??_C@_0P@KPJDOPMC@allocateMemory?$AA@" = linkonce_odr unnamed_addr constant [15 x i8] c"allocateMemory\00", comdat, align 1
@"\01??_C@_03BOPJPIAM@and?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"and\00", comdat, align 1
@"\01??_C@_05HIFJDKLD@array?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c"array\00", comdat, align 1
@"\01??_C@_05KNGEOGJB@atan2?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c"atan2\00", comdat, align 1
@"\01??_C@_03LALBNOCG@cos?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"cos\00", comdat, align 1
@"\01??_C@_03KHJOGHMM@exp?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"exp\00", comdat, align 1
@"\01??_C@_05MAJJAKPI@FALSE?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c"FALSE\00", comdat, align 1
@"\01??_C@_0L@CIPHLGBD@fieldCount?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"fieldCount\00", comdat, align 1
@"\01??_C@_09ELOIKAJM@fieldName?$AA@" = linkonce_odr unnamed_addr constant [10 x i8] c"fieldName\00", comdat, align 1
@"\01??_C@_05PBJFFIGL@floor?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c"floor\00", comdat, align 1
@"\01??_C@_0L@IGNAINIB@freeMemory?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"freeMemory\00", comdat, align 1
@"\01??_C@_03GNCOHECN@has?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"has\00", comdat, align 1
@"\01??_C@_0O@HPJEOGCK@importDynamic?$AA@" = linkonce_odr unnamed_addr constant [14 x i8] c"importDynamic\00", comdat, align 1
@"\01??_C@_06OAOPNKHP@insert?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"insert\00", comdat, align 1
@"\01??_C@_06ELFGPGBK@lshift?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"lshift\00", comdat, align 1
@"\01??_C@_0N@CBKBGGGE@memoryToText?$AA@" = linkonce_odr unnamed_addr constant [13 x i8] c"memoryToText\00", comdat, align 1
@"\01??_C@_03FFONCNID@mod?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"mod\00", comdat, align 1
@"\01??_C@_03GBOCFEHI@neg?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"neg\00", comdat, align 1
@"\01??_C@_05IJDJACGD@print?$AA@" = linkonce_odr unnamed_addr constant [6 x i8] c"print\00", comdat, align 1
@"\01??_C@_0L@HMCKFDCO@printStack?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"printStack\00", comdat, align 1
@"\01??_C@_03HKCDEEHL@rcp?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"rcp\00", comdat, align 1
@"\01??_C@_0L@MMMLPBML@readMemory?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c"readMemory\00", comdat, align 1
@"\01??_C@_06LEMKAMD@remove?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"remove\00", comdat, align 1
@"\01??_C@_06HMLHBBIJ@rshift?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"rshift\00", comdat, align 1
@"\01??_C@_03KCHOJKKI@set?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"set\00", comdat, align 1
@"\01??_C@_03BLEJJJBH@sin?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"sin\00", comdat, align 1
@"\01??_C@_0M@BFKEMMBK@storageSize?$AA@" = linkonce_odr unnamed_addr constant [12 x i8] c"storageSize\00", comdat, align 1
@"\01??_C@_03IIINPABG@tan?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"tan\00", comdat, align 1
@"\01??_C@_0BC@FFKBOHDD@textMemoryPointer?$AA@" = linkonce_odr unnamed_addr constant [18 x i8] c"textMemoryPointer\00", comdat, align 1
@"\01??_C@_0P@MKJHBKDE@textMemorySize?$AA@" = linkonce_odr unnamed_addr constant [15 x i8] c"textMemorySize\00", comdat, align 1
@"\01??_C@_09JMNMJGON@textSplit?$AA@" = linkonce_odr unnamed_addr constant [10 x i8] c"textSplit\00", comdat, align 1
@"\01??_C@_06FDMMICBG@toText?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"toText\00", comdat, align 1
@"\01??_C@_06OPLLLDEK@untail?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"untail\00", comdat, align 1
@"\01??_C@_07DDAOFDPL@useFile?$AA@" = linkonce_odr unnamed_addr constant [8 x i8] c"useFile\00", comdat, align 1
@"\01??_C@_0M@LMIKAJBN@writeMemory?$AA@" = linkonce_odr unnamed_addr constant [12 x i8] c"writeMemory\00", comdat, align 1
@"\01??_C@_03COLCDPPJ@xor?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"xor\00", comdat, align 1
@"\01??_C@_07NMGBPFLN@closure?$AA@" = linkonce_odr unnamed_addr constant [8 x i8] c"closure\00", comdat, align 1
@"\01??_C@_03DIIIOCIG@DIE?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"DIE\00", comdat, align 1
@"\01??_C@_03PHIAGONP@PRE?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"PRE\00", comdat, align 1
@9 = private unnamed_addr constant { [7 x i8*] } { [7 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4_Generic_error_category@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::_Generic_error_category"*, i32)* @"\01??_G_Generic_error_category@std@@UAEPAXI@Z" to i8*), i8* bitcast (i8* (%"class.std::_Generic_error_category"*)* @"\01?name@_Generic_error_category@std@@UBEPBDXZ" to i8*), i8* bitcast (void (%"class.std::_Generic_error_category"*, %"class.std::basic_string"*, i32)* @"\01?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z" to i8*), i8* bitcast (void (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, i32, %"class.std::error_code"*)* @"\01?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z" to i8*)] }, comdat($"\01??_7_Generic_error_category@std@@6B@")
@"\01??_R4_Generic_error_category@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor33* @"\01??_R0?AV_Generic_error_category@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3_Generic_error_category@std@@8" }, comdat
@"\01??_C@_07DCLBNMLN@generic?$AA@" = linkonce_odr unnamed_addr constant [8 x i8] c"generic\00", comdat, align 1
@10 = private unnamed_addr constant { [7 x i8*] } { [7 x i8*] [i8* bitcast (%rtti.CompleteObjectLocator* @"\01??_R4error_category@std@@6B@" to i8*), i8* bitcast (i8* (%"class.std::error_category"*, i32)* @"\01??_Gerror_category@std@@UAEPAXI@Z" to i8*), i8* bitcast (void ()* @_purecall to i8*), i8* bitcast (void ()* @_purecall to i8*), i8* bitcast (void (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, %"class.std::error_code"*, i32)* @"\01?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z" to i8*), i8* bitcast (i1 (%"class.std::error_category"*, i32, %"class.std::error_code"*)* @"\01?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z" to i8*)] }, comdat($"\01??_7error_category@std@@6B@")
@"\01??_R4error_category@std@@6B@" = linkonce_odr constant %rtti.CompleteObjectLocator { i32 0, i32 0, i32 0, i8* bitcast (%rtti.TypeDescriptor24* @"\01??_R0?AVerror_category@std@@@8" to i8*), %rtti.ClassHierarchyDescriptor* @"\01??_R3error_category@std@@8" }, comdat
@"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A" = global %"class.std::unordered_map" zeroinitializer, align 4
@"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A" = global %"class.std::vector.56" zeroinitializer, align 4
@"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A" = global %class.Interner zeroinitializer, align 4
@"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A" = global %class.Interner.5 zeroinitializer, align 4
@"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A" = global %"class.std::unordered_map.62" zeroinitializer, align 4
@"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" = global %"class.std::vector.44" zeroinitializer, align 4
@"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?callText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?dieText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?preText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?selfText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" = local_unnamed_addr global %"struct.std::pair.23"* null, align 4
@"\01?lfSourceText@@3USourceText@@A" = global %struct.SourceText zeroinitializer, align 4
@"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A" = global %"class.std::vector.34" zeroinitializer, align 4
@"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A" = global %"class.std::vector.92" zeroinitializer, align 4
@"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" = global %"class.std::vector.37" zeroinitializer, align 4
@"\01?reservedStack@@3IA" = global i32 0, align 4
@"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A" = global %"class.std::vector.104" zeroinitializer, align 4
@"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" = global %"class.std::vector.117" zeroinitializer, align 4
@"\01?maxNodeDepth@@3IA" = global i32 0, align 4
@"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A" = global %"class.std::vector.37" zeroinitializer, align 4
@"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" = global %class.variant.43 zeroinitializer, align 8
@"\01?createdCombineds@@3IA" = local_unnamed_addr global i32 0, align 4
@"\01?releasedCombineds@@3IA" = local_unnamed_addr global i32 0, align 4
@"\01?errorSuppressionLevel@@3IA" = local_unnamed_addr global i32 0, align 4
@"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" = global %"class.std::basic_string" zeroinitializer, align 4
@llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_RecursiveInterpreter.cpp, i8* null }, { i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_System.cpp, i8* null }]
@"\01??_C@_04EDNPHEAP@easy?$AA@" = linkonce_odr unnamed_addr constant [5 x i8] c"easy\00", comdat, align 1
@"\01??_C@_0BA@NIHDDCPL@stack?5is?5empty?6?$AA@" = linkonce_odr unnamed_addr constant [16 x i8] c"stack is empty\0A\00", comdat, align 1
@"\01??_C@_07ICCLGLHB@stack?3?6?$AA@" = linkonce_odr unnamed_addr constant [8 x i8] c"stack:\0A\00", comdat, align 1
@"\01??_C@_02NJPGOMH@?$CFf?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c"%f\00", comdat, align 1
@"\01??_C@_06HNBMIJMO@?$FLCODE?$FN?$AA@" = linkonce_odr unnamed_addr constant [7 x i8] c"[CODE]\00", comdat, align 1
@"\01??_C@_02HMLFPPOG@?5?$CJ?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c" )\00", comdat, align 1
@"\01??_C@_02KCGCGHLG@?5?$HN?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c" }\00", comdat, align 1
@"\01??_C@_0BB@PHIHBIME@max?5node?5depth?3?5?$AA@" = linkonce_odr unnamed_addr constant [17 x i8] c"max node depth: \00", comdat, align 1
@"\01??_C@_0BN@POPFBIED@created?1released?5combineds?3?5?$AA@" = linkonce_odr unnamed_addr constant [29 x i8] c"created/released combineds: \00", comdat, align 1
@"\01??_C@_0CC@PAFBEPGE@maximum?5recursion?5level?5reached?5@" = linkonce_odr unnamed_addr constant [34 x i8] c"maximum recursion level reached (\00", comdat, align 1
@"\01??_C@_02MCBEACAC@?4?$EA?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c".@\00", comdat, align 1
@"\01??_C@_02LOPCFIOE@?4?$CB?$AA@" = linkonce_odr unnamed_addr constant [3 x i8] c".!\00", comdat, align 1
@"\01??_C@_0L@GDMABBIG@?3?5error?0?5?$FL?$AA@" = linkonce_odr unnamed_addr constant [11 x i8] c": error, [\00", comdat, align 1
@"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c"], \00", comdat, align 1
@"\01??_C@_03CACPPKFJ@?3?5?$FL?$AA@" = linkonce_odr unnamed_addr constant [4 x i8] c": [\00", comdat, align 1
@"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@" = linkonce_odr unnamed_addr constant [21 x i8] c"], called from here\0A\00", comdat, align 1
@"\01??_C@_0M@ECIFEILD@?$DMGENERATED?$DO?$AA@" = linkonce_odr unnamed_addr constant [12 x i8] c"<GENERATED>\00", comdat, align 1
@"\01??_C@_1EM@HMJIJEKF@?$AAt?$AAe?$AAx?$AAt?$AA?4?$AAt?$AAe?$AAx?$AAt?$AA?9?$AA?$DO?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?4?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu@" = linkonce_odr unnamed_addr constant [38 x i16] [i16 116, i16 101, i16 120, i16 116, i16 46, i16 116, i16 101, i16 120, i16 116, i16 45, i16 62, i16 115, i16 101, i16 99, i16 111, i16 110, i16 100, i16 46, i16 97, i16 115, i16 116, i16 78, i16 111, i16 100, i16 101, i16 115, i16 32, i16 61, i16 61, i16 32, i16 110, i16 117, i16 108, i16 108, i16 112, i16 116, i16 114, i16 0], comdat, align 2
@"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = linkonce_odr unnamed_addr constant [28 x i16] [i16 46, i16 46, i16 47, i16 82, i16 101, i16 99, i16 117, i16 114, i16 115, i16 105, i16 118, i16 101, i16 73, i16 110, i16 116, i16 101, i16 114, i16 112, i16 114, i16 101, i16 116, i16 101, i16 114, i16 46, i16 99, i16 112, i16 112, i16 0], comdat, align 2
@"\01??_C@_1FA@KKJNNKNK@?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAI?$AAn?$AAf?$AAo?$AAs?$AA?4?$AAs?$AAi?$AAz?$AAe?$AA?$CI?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?9@" = linkonce_odr unnamed_addr constant [40 x i16] [i16 97, i16 115, i16 116, i16 78, i16 111, i16 100, i16 101, i16 73, i16 110, i16 102, i16 111, i16 115, i16 46, i16 115, i16 105, i16 122, i16 101, i16 40, i16 41, i16 32, i16 61, i16 61, i16 32, i16 97, i16 115, i16 116, i16 78, i16 111, i16 100, i16 101, i16 115, i16 45, i16 62, i16 115, i16 105, i16 122, i16 101, i16 40, i16 41, i16 0], comdat, align 2
@"\01??_C@_0BF@MIAPDANG@unsupported?5AST?5node?$AA@" = linkonce_odr unnamed_addr constant [21 x i8] c"unsupported AST node\00", comdat, align 1
@"\01??_C@_0BD@HAHNBGGB@invalid?5input?5type?$AA@" = linkonce_odr unnamed_addr constant [19 x i8] c"invalid input type\00", comdat, align 1
@"\01??_C@_0M@PGAKIHGM@?$CJ?3?5error?0?5?$FL?$AA@" = linkonce_odr unnamed_addr constant [12 x i8] c"): error, [\00", comdat, align 1
@"\01??_C@_04LJIJPCN@?$CJ?3?5?$FL?$AA@" = linkonce_odr unnamed_addr constant [5 x i8] c"): [\00", comdat, align 1
@"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@" = linkonce_odr unnamed_addr constant [13 x i8] c"unknown name\00", comdat, align 1
@"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A" = internal global %"class.std::map" zeroinitializer, align 4
@"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@" = linkonce_odr unnamed_addr constant [36 x i8] c"Error while loading library, code: \00", comdat, align 1
@"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@" = linkonce_odr unnamed_addr constant [37 x i8] c"Error while loading function, code: \00", comdat, align 1
@"\01??_C@_0BE@JONHPENG@map?1set?$DMT?$DO?5too?5long?$AA@" = linkonce_odr unnamed_addr constant [20 x i8] c"map/set<T> too long\00", comdat, align 1
@"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@" = linkonce_odr unnamed_addr constant [28 x i8] c"CreateFileW failed, result=\00", comdat, align 1
@"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@" = linkonce_odr unnamed_addr constant [30 x i8] c"GetFileSizeEx failed, result=\00", comdat, align 1
@"\01??_C@_0BA@MFBJLJNL@file?5is?5too?5big?$AA@" = linkonce_odr unnamed_addr constant [16 x i8] c"file is too big\00", comdat, align 1
@"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@" = linkonce_odr unnamed_addr constant [25 x i8] c"ReadFile failed, result=\00", comdat, align 1
@"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@" = linkonce_odr unnamed_addr constant [28 x i8] c"CloseHandle failed, result=\00", comdat, align 1
@"\01??_C@_1CK@NEHOOEBB@?$AAc?$AAo?$AAd?$AAe?$AAP?$AAo?$AAi?$AAn?$AAt?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA1?$AA1?$AA0?$AA0?$AA0?$AA0?$AA?$AA@" = linkonce_odr unnamed_addr constant [21 x i16] [i16 99, i16 111, i16 100, i16 101, i16 80, i16 111, i16 105, i16 110, i16 116, i16 32, i16 60, i16 32, i16 48, i16 120, i16 49, i16 49, i16 48, i16 48, i16 48, i16 48, i16 0], comdat, align 2
@"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@" = linkonce_odr unnamed_addr constant [20 x i16] [i16 46, i16 46, i16 47, i16 117, i16 110, i16 105, i16 99, i16 111, i16 100, i16 101, i16 84, i16 111, i16 111, i16 108, i16 115, i16 46, i16 99, i16 112, i16 112, i16 0], comdat, align 2
@"\01??_C@_1FA@IEDPGJFO@?$AAc?$AAu?$AA0?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAc?$AAu?$AA0?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AAu?$AA0@" = linkonce_odr unnamed_addr constant [40 x i16] [i16 99, i16 117, i16 48, i16 32, i16 60, i16 32, i16 48, i16 120, i16 56, i16 48, i16 32, i16 124, i16 124, i16 32, i16 99, i16 117, i16 48, i16 32, i16 62, i16 61, i16 32, i16 48, i16 120, i16 67, i16 48, i16 32, i16 38, i16 38, i16 32, i16 99, i16 117, i16 48, i16 32, i16 60, i16 32, i16 48, i16 120, i16 70, i16 56, i16 0], comdat, align 2
@"\01??_C@_1EE@GHANBHFB@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = linkonce_odr unnamed_addr constant [34 x i16] [i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 49, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 0], comdat, align 2
@"\01??_C@_1IO@ILHBODHE@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = linkonce_odr unnamed_addr constant [71 x i16] [i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 49, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 32, i16 38, i16 38, i16 32, i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 50, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 0], comdat, align 2
@"\01??_C@_1NI@CHJMDPEJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@" = linkonce_odr unnamed_addr constant [108 x i16] [i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 49, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 32, i16 38, i16 38, i16 32, i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 50, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 32, i16 38, i16 38, i16 32, i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 117, i16 116, i16 102, i16 56, i16 91, i16 51, i16 93, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 67, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 56, i16 48, i16 0], comdat, align 2
@"\01??_C@_1BE@NMHMCMGK@?$AAc?$AAu?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?$AA@" = linkonce_odr unnamed_addr constant [10 x i16] [i16 99, i16 117, i16 32, i16 60, i16 32, i16 48, i16 120, i16 56, i16 48, i16 0], comdat, align 2
@"\01??_C@_1CI@PMKMCCAI@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$AA@" = linkonce_odr unnamed_addr constant [20 x i16] [i16 40, i16 99, i16 117, i16 32, i16 38, i16 32, i16 48, i16 120, i16 69, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 67, i16 48, i16 0], comdat, align 2
@"\01??_C@_1CI@HCOLGIDN@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$AA@" = linkonce_odr unnamed_addr constant [20 x i16] [i16 40, i16 99, i16 117, i16 32, i16 38, i16 32, i16 48, i16 120, i16 70, i16 48, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 69, i16 48, i16 0], comdat, align 2
@"\01??_C@_1PE@FFKMHBIJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AA?$CK?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?5?$AA?9?$AA?5?$AA4?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA8?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN@" = linkonce_odr unnamed_addr constant [122 x i16] [i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 42, i16 40, i16 117, i16 116, i16 102, i16 56, i16 32, i16 45, i16 32, i16 52, i16 41, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 70, i16 56, i16 41, i16 32, i16 61, i16 61, i16 32, i16 48, i16 120, i16 70, i16 48, i16 32, i16 38, i16 38, i16 32, i16 40, i16 40, i16 40, i16 67, i16 111, i16 100, i16 101, i16 80, i16 111, i16 105, i16 110, i16 116, i16 40, i16 117, i16 105, i16 110, i16 116, i16 56, i16 95, i16 116, i16 40, i16 42, i16 40, i16 117, i16 116, i16 102, i16 56, i16 32, i16 45, i16 32, i16 52, i16 41, i16 41, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 48, i16 55, i16 41, i16 32, i16 60, i16 60, i16 32, i16 54, i16 41, i16 32, i16 124, i16 32, i16 67, i16 111, i16 100, i16 101, i16 80, i16 111, i16 105, i16 110, i16 116, i16 40, i16 99, i16 117, i16 41, i16 32, i16 38, i16 32, i16 48, i16 120, i16 51, i16 70, i16 41, i16 32, i16 60, i16 32, i16 48, i16 120, i16 49, i16 49, i16 48, i16 0], comdat, align 2
@allocationCount = internal global { i64 } zeroinitializer, align 8
@deallocationCount = internal global { i64 } zeroinitializer, align 8
@"\01?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A" = external global %"class.std::basic_ostream", align 8

@"\01??_7ASTBuilder@ast@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [6 x i8*] }, { [6 x i8*] }* @0, i32 0, i32 0, i32 1)
@"\01??_7EventHandler@parser@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [6 x i8*] }, { [6 x i8*] }* @1, i32 0, i32 0, i32 1)
@"\01??_7Parser@parser@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [2 x i8*] }, { [2 x i8*] }* @2, i32 0, i32 0, i32 1)
@"\01??_7exception@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @3, i32 0, i32 0, i32 1)
@"\01??_7runtime_error@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @4, i32 0, i32 0, i32 1)
@"\01??_7_System_error@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @5, i32 0, i32 0, i32 1)
@"\01??_7system_error@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @6, i32 0, i32 0, i32 1)
@"\01??_7failure@ios_base@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [3 x i8*] }, { [3 x i8*] }* @7, i32 0, i32 0, i32 1)
@"\01??_7_Iostream_error_category@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [7 x i8*] }, { [7 x i8*] }* @8, i32 0, i32 0, i32 1)
@"\01??_7_Generic_error_category@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [7 x i8*] }, { [7 x i8*] }* @9, i32 0, i32 0, i32 1)
@"\01??_7error_category@std@@6B@" = unnamed_addr alias i8*, getelementptr inbounds ({ [7 x i8*] }, { [7 x i8*] }* @10, i32 0, i32 0, i32 1)

; Function Attrs: norecurse nounwind
define x86_thiscallcc %"class.ast::ASTBuilder"* @"\01??0ASTBuilder@ast@@QAE@AAV?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@AAV?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@I@Z"(%"class.ast::ASTBuilder"* returned, %class.Interner* dereferenceable(32), %class.Interner.5* dereferenceable(32), i32) unnamed_addr #0 align 2 {
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7ASTBuilder@ast@@6B@" to i32 (...)**), i32 (...)*** %5, align 4, !tbaa !9
  %6 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 1
  store %class.Interner* %1, %class.Interner** %6, align 4, !tbaa !12
  %7 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 2
  store %class.Interner.5* %2, %class.Interner.5** %7, align 4, !tbaa !12
  %8 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  store %class.variant* null, %class.variant** %8, align 4, !tbaa !14
  %9 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  store %class.variant* null, %class.variant** %9, align 4, !tbaa !17
  %10 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 2
  store %class.variant* null, %class.variant** %10, align 4, !tbaa !18
  %11 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 6
  store i32 %3, i32* %11, align 4, !tbaa !19
  ret %"class.ast::ASTBuilder"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_GASTBuilder@ast@@UAEPAXI@Z"(%"class.ast::ASTBuilder"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.ast::ASTBuilder"* %0 to i8*
  %4 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7ASTBuilder@ast@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %6 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant* %6, null
  %8 = ptrtoint %class.variant* %6 to i32
  br i1 %7, label %39, label %9

; <label>:9:                                      ; preds = %2
  %10 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %11 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %class.variant** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 4
  %16 = icmp ugt i32 %15, 268435455
  br i1 %16, label %35, label %17

; <label>:17:                                     ; preds = %9
  %18 = bitcast %class.variant* %6 to i8*
  %19 = icmp ugt i32 %14, 4095
  br i1 %19, label %20, label %36

; <label>:20:                                     ; preds = %17
  %21 = add i32 %14, 35
  %22 = icmp ult i32 %14, -35
  %23 = and i32 %8, 31
  %24 = icmp eq i32 %23, 0
  %25 = and i1 %24, %22
  br i1 %25, label %26, label %35

; <label>:26:                                     ; preds = %20
  %27 = add i32 %8, -4
  %28 = inttoptr i32 %27 to i32*
  %29 = load i32, i32* %28, align 4, !tbaa !24
  %30 = icmp ult i32 %29, %8
  br i1 %30, label %31, label %35

; <label>:31:                                     ; preds = %26
  %32 = sub i32 %27, %29
  %33 = icmp ugt i32 %32, 31
  %34 = inttoptr i32 %29 to i8*
  br i1 %33, label %35, label %36

; <label>:35:                                     ; preds = %31, %26, %20, %9
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:36:                                     ; preds = %31, %17
  %37 = phi i8* [ %34, %31 ], [ %18, %17 ]
  %38 = phi i32 [ %21, %31 ], [ %14, %17 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %37, i32 %38) #14
  store %class.variant* null, %class.variant** %5, align 4, !tbaa !23
  store %class.variant* null, %class.variant** %10, align 4, !tbaa !23
  store %class.variant* null, %class.variant** %11, align 4, !tbaa !23
  br label %39

; <label>:39:                                     ; preds = %36, %2
  %40 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 0
  tail call x86_thiscallcc void @"\01??1EventHandler@parser@@UAE@XZ"(%"class.parser::EventHandler"* %40) #14
  %41 = icmp eq i32 %1, 0
  br i1 %41, label %43, label %42

; <label>:42:                                     ; preds = %39
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %43

; <label>:43:                                     ; preds = %42, %39
  ret i8* %3
}

; Function Attrs: norecurse nounwind
define x86_thiscallcc void @"\01?reset@ASTBuilder@ast@@EAEXPB_W@Z"(%"class.ast::ASTBuilder"* nocapture, i16*) unnamed_addr #0 align 2 {
  %3 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 3
  store i16* %1, i16** %3, align 4, !tbaa !25
  %4 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  store i32 0, i32* %4, align 4, !tbaa !26
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4
  %6 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %7 = bitcast %"class.std::vector.31"* %5 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = bitcast %class.variant** %6 to i32*
  store i32 %8, i32* %9, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?startNonterminal@ASTBuilder@ast@@EAEXW4NonterminalType@parser@@H@Z"(%"class.ast::ASTBuilder"*, i32, i32) unnamed_addr #2 align 2 {
  %4 = alloca %class.variant, align 4
  switch i32 %1, label %6 [
    i32 7, label %17
    i32 6, label %17
    i32 4, label %17
    i32 5, label %17
    i32 3, label %5
  ]

; <label>:5:                                      ; preds = %3
  br label %6

; <label>:6:                                      ; preds = %5, %3
  %7 = phi i32 [ %1, %3 ], [ 2, %5 ]
  %8 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4
  %9 = bitcast %class.variant* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %9) #14
  %10 = getelementptr inbounds %class.variant, %class.variant* %4, i32 0, i32 1
  store i32 0, i32* %10, align 4, !tbaa !27
  %11 = bitcast %class.variant* %4 to i64*
  %12 = zext i32 %2 to i64
  %13 = shl nuw i64 %12, 32
  %14 = zext i32 %7 to i64
  %15 = or i64 %13, %14
  store i64 %15, i64* %11, align 4
  %16 = call x86_thiscallcc dereferenceable(16) %class.variant* @"\01??$emplace_back@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@Z"(%"class.std::vector.31"* %8, %class.variant* nonnull dereferenceable(16) %4) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %9) #14
  br label %17

; <label>:17:                                     ; preds = %6, %3, %3, %3, %3
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?endNonterminal@ASTBuilder@ast@@EAEXW4NonterminalType@parser@@H@Z"(%"class.ast::ASTBuilder"*, i32, i32) unnamed_addr #2 align 2 {
  %4 = alloca %class.variant, align 4
  switch i32 %1, label %6 [
    i32 7, label %17
    i32 6, label %17
    i32 4, label %17
    i32 5, label %17
    i32 3, label %5
  ]

; <label>:5:                                      ; preds = %3
  br label %6

; <label>:6:                                      ; preds = %5, %3
  %7 = phi i32 [ %1, %3 ], [ 2, %5 ]
  %8 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4
  %9 = bitcast %class.variant* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %9) #14
  %10 = getelementptr inbounds %class.variant, %class.variant* %4, i32 0, i32 1
  store i32 1, i32* %10, align 4, !tbaa !27
  %11 = bitcast %class.variant* %4 to i64*
  %12 = zext i32 %2 to i64
  %13 = shl nuw i64 %12, 32
  %14 = zext i32 %7 to i64
  %15 = or i64 %13, %14
  store i64 %15, i64* %11, align 4
  %16 = call x86_thiscallcc dereferenceable(16) %class.variant* @"\01??$emplace_back@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@Z"(%"class.std::vector.31"* %8, %class.variant* nonnull dereferenceable(16) %4) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %9) #14
  br label %17

; <label>:17:                                     ; preds = %6, %3, %3, %3, %3
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?terminal@ASTBuilder@ast@@EAEXW4TokenType@parser@@HH@Z"(%"class.ast::ASTBuilder"*, i32, i32, i32) unnamed_addr #2 align 2 {
  %5 = alloca %class.variant, align 4
  switch i32 %1, label %6 [
    i32 12, label %16
    i32 13, label %16
    i32 14, label %16
    i32 16, label %16
    i32 17, label %16
    i32 18, label %16
    i32 21, label %16
    i32 19, label %16
    i32 20, label %16
    i32 22, label %16
  ]

; <label>:6:                                      ; preds = %4
  %7 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4
  %8 = bitcast %class.variant* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %8) #14
  %9 = getelementptr inbounds %class.variant, %class.variant* %5, i32 0, i32 1
  store i32 2, i32* %9, align 4, !tbaa !27
  %10 = getelementptr inbounds %class.variant, %class.variant* %5, i32 0, i32 0, i32 0, i32 0
  store i32 %1, i32* %10, align 4
  %11 = getelementptr inbounds %class.variant, %class.variant* %5, i32 0, i32 0, i32 0, i32 1
  %12 = bitcast [8 x i8]* %11 to i32*
  store i32 %2, i32* %12, align 4
  %13 = getelementptr inbounds %class.variant, %class.variant* %5, i32 0, i32 0, i32 0, i32 1, i32 4
  %14 = bitcast i8* %13 to i32*
  store i32 %3, i32* %14, align 4
  %15 = call x86_thiscallcc dereferenceable(16) %class.variant* @"\01??$emplace_back@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@Z"(%"class.std::vector.31"* %7, %class.variant* nonnull dereferenceable(16) %5) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %8) #14
  br label %16

; <label>:16:                                     ; preds = %6, %4, %4, %4, %4, %4, %4, %4, %4, %4, %4
  ret void
}

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #3

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant* @"\01??$emplace_back@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@Z"(%"class.std::vector.31"*, %class.variant* dereferenceable(16)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.31", %"class.std::vector.31"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant*, %class.variant** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.31", %"class.std::vector.31"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant* %4, %6
  br i1 %7, label %26, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant, %class.variant* %6, i32 0, i32 1
  %10 = getelementptr inbounds %class.variant, %class.variant* %1, i32 0, i32 1
  %11 = load i32, i32* %10, align 4, !tbaa !27
  store i32 %11, i32* %9, align 4, !tbaa !27
  switch i32 %11, label %23 [
    i32 0, label %12
    i32 1, label %16
    i32 2, label %20
  ]

; <label>:12:                                     ; preds = %8
  %13 = bitcast %class.variant* %1 to i64*
  %14 = bitcast %class.variant* %6 to i64*
  %15 = load i64, i64* %13, align 4
  store i64 %15, i64* %14, align 4
  br label %23

; <label>:16:                                     ; preds = %8
  %17 = bitcast %class.variant* %1 to i64*
  %18 = bitcast %class.variant* %6 to i64*
  %19 = load i64, i64* %17, align 4
  store i64 %19, i64* %18, align 4
  br label %23

; <label>:20:                                     ; preds = %8
  %21 = bitcast %class.variant* %6 to i8*
  %22 = bitcast %class.variant* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %21, i8* nonnull %22, i32 12, i32 4, i1 false) #14, !tbaa.struct !29
  br label %23

; <label>:23:                                     ; preds = %20, %16, %12, %8
  %24 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %25 = getelementptr inbounds %class.variant, %class.variant* %24, i32 1
  br label %147

; <label>:26:                                     ; preds = %2
  %27 = ptrtoint %class.variant* %4 to i32
  %28 = ptrtoint %class.variant* %6 to i32
  %29 = bitcast %"class.std::vector.31"* %0 to i32*
  %30 = load i32, i32* %29, align 4, !tbaa !23
  %31 = sub i32 %28, %30
  %32 = ashr exact i32 %31, 4
  %33 = add nsw i32 %32, 1
  %34 = bitcast %class.variant** %3 to i32*
  %35 = sub i32 %27, %30
  %36 = ashr exact i32 %35, 4
  %37 = lshr i32 %36, 1
  %38 = sub nsw i32 268435455, %37
  %39 = icmp ugt i32 %36, %38
  br i1 %39, label %44, label %40

; <label>:40:                                     ; preds = %26
  %41 = add i32 %37, %36
  %42 = icmp ult i32 %41, %33
  %43 = select i1 %42, i32 %33, i32 %41
  br label %44

; <label>:44:                                     ; preds = %40, %26
  %45 = phi i32 [ %43, %40 ], [ %33, %26 ]
  %46 = icmp ugt i32 %45, 268435455
  br i1 %46, label %47, label %48

; <label>:47:                                     ; preds = %44
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:48:                                     ; preds = %44
  %49 = shl i32 %45, 4
  %50 = icmp ugt i32 %49, 4095
  br i1 %50, label %51, label %63

; <label>:51:                                     ; preds = %48
  %52 = icmp ugt i32 %49, -36
  br i1 %52, label %53, label %54

; <label>:53:                                     ; preds = %51
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:54:                                     ; preds = %51
  %55 = add i32 %49, 35
  %56 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %55) #14
  %57 = ptrtoint i8* %56 to i32
  %58 = add i32 %57, 35
  %59 = and i32 %58, -32
  %60 = inttoptr i32 %59 to i8*
  %61 = inttoptr i32 %59 to i32*
  %62 = getelementptr inbounds i32, i32* %61, i32 -1
  store i32 %57, i32* %62, align 4, !tbaa !24
  br label %65

; <label>:63:                                     ; preds = %48
  %64 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %49) #14
  br label %65

; <label>:65:                                     ; preds = %63, %54
  %66 = phi i8* [ %60, %54 ], [ %64, %63 ]
  %67 = bitcast i8* %66 to %class.variant*
  %68 = getelementptr inbounds %class.variant, %class.variant* %67, i32 %32
  %69 = getelementptr inbounds %class.variant, %class.variant* %67, i32 %32, i32 1
  %70 = getelementptr inbounds %class.variant, %class.variant* %1, i32 0, i32 1
  %71 = load i32, i32* %70, align 4, !tbaa !27
  store i32 %71, i32* %69, align 4, !tbaa !27
  switch i32 %71, label %83 [
    i32 0, label %72
    i32 1, label %76
    i32 2, label %80
  ]

; <label>:72:                                     ; preds = %65
  %73 = bitcast %class.variant* %1 to i64*
  %74 = bitcast %class.variant* %68 to i64*
  %75 = load i64, i64* %73, align 4
  store i64 %75, i64* %74, align 4
  br label %83

; <label>:76:                                     ; preds = %65
  %77 = bitcast %class.variant* %1 to i64*
  %78 = bitcast %class.variant* %68 to i64*
  %79 = load i64, i64* %77, align 4
  store i64 %79, i64* %78, align 4
  br label %83

; <label>:80:                                     ; preds = %65
  %81 = bitcast %class.variant* %68 to i8*
  %82 = bitcast %class.variant* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %81, i8* nonnull %82, i32 12, i32 4, i1 false) #14, !tbaa.struct !29
  br label %83

; <label>:83:                                     ; preds = %80, %76, %72, %65
  %84 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %85 = getelementptr inbounds %"class.std::vector.31", %"class.std::vector.31"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %86 = load %class.variant*, %class.variant** %85, align 4, !tbaa !23
  %87 = icmp eq %class.variant* %86, %84
  br i1 %87, label %112, label %88

; <label>:88:                                     ; preds = %83
  br label %89

; <label>:89:                                     ; preds = %106, %88
  %90 = phi %class.variant* [ %107, %106 ], [ %67, %88 ]
  %91 = phi %class.variant* [ %108, %106 ], [ %86, %88 ]
  %92 = getelementptr inbounds %class.variant, %class.variant* %90, i32 0, i32 1
  %93 = getelementptr inbounds %class.variant, %class.variant* %91, i32 0, i32 1
  %94 = load i32, i32* %93, align 4, !tbaa !27
  store i32 %94, i32* %92, align 4, !tbaa !27
  switch i32 %94, label %106 [
    i32 0, label %95
    i32 1, label %99
    i32 2, label %103
  ]

; <label>:95:                                     ; preds = %89
  %96 = bitcast %class.variant* %91 to i64*
  %97 = bitcast %class.variant* %90 to i64*
  %98 = load i64, i64* %96, align 4
  store i64 %98, i64* %97, align 4
  br label %106

; <label>:99:                                     ; preds = %89
  %100 = bitcast %class.variant* %91 to i64*
  %101 = bitcast %class.variant* %90 to i64*
  %102 = load i64, i64* %100, align 4
  store i64 %102, i64* %101, align 4
  br label %106

; <label>:103:                                    ; preds = %89
  %104 = bitcast %class.variant* %90 to i8*
  %105 = bitcast %class.variant* %91 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %104, i8* nonnull %105, i32 12, i32 4, i1 false) #14, !tbaa.struct !29
  br label %106

; <label>:106:                                    ; preds = %103, %99, %95, %89
  %107 = getelementptr inbounds %class.variant, %class.variant* %90, i32 1
  %108 = getelementptr inbounds %class.variant, %class.variant* %91, i32 1
  %109 = icmp eq %class.variant* %108, %84
  br i1 %109, label %110, label %89

; <label>:110:                                    ; preds = %106
  %111 = load %class.variant*, %class.variant** %85, align 4, !tbaa !23
  br label %112

; <label>:112:                                    ; preds = %110, %83
  %113 = phi %class.variant* [ %111, %110 ], [ %84, %83 ]
  %114 = icmp eq %class.variant* %113, null
  %115 = ptrtoint %class.variant* %113 to i32
  br i1 %114, label %143, label %116

; <label>:116:                                    ; preds = %112
  %117 = load i32, i32* %34, align 4, !tbaa !23
  %118 = sub i32 %117, %115
  %119 = ashr exact i32 %118, 4
  %120 = icmp ugt i32 %119, 268435455
  br i1 %120, label %139, label %121

; <label>:121:                                    ; preds = %116
  %122 = bitcast %class.variant* %113 to i8*
  %123 = icmp ugt i32 %118, 4095
  br i1 %123, label %124, label %140

; <label>:124:                                    ; preds = %121
  %125 = add i32 %118, 35
  %126 = icmp ult i32 %118, -35
  %127 = and i32 %115, 31
  %128 = icmp eq i32 %127, 0
  %129 = and i1 %128, %126
  br i1 %129, label %130, label %139

; <label>:130:                                    ; preds = %124
  %131 = add i32 %115, -4
  %132 = inttoptr i32 %131 to i32*
  %133 = load i32, i32* %132, align 4, !tbaa !24
  %134 = icmp ult i32 %133, %115
  br i1 %134, label %135, label %139

; <label>:135:                                    ; preds = %130
  %136 = sub i32 %131, %133
  %137 = icmp ugt i32 %136, 31
  %138 = inttoptr i32 %133 to i8*
  br i1 %137, label %139, label %140

; <label>:139:                                    ; preds = %135, %130, %124, %116
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:140:                                    ; preds = %135, %121
  %141 = phi i8* [ %138, %135 ], [ %122, %121 ]
  %142 = phi i32 [ %125, %135 ], [ %118, %121 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %141, i32 %142) #14
  br label %143

; <label>:143:                                    ; preds = %140, %112
  %144 = bitcast %"class.std::vector.31"* %0 to i8**
  store i8* %66, i8** %144, align 4, !tbaa !23
  %145 = getelementptr inbounds %class.variant, %class.variant* %67, i32 %33
  store %class.variant* %145, %class.variant** %5, align 4, !tbaa !23
  %146 = getelementptr inbounds %class.variant, %class.variant* %67, i32 %45
  br label %147

; <label>:147:                                    ; preds = %143, %23
  %148 = phi %class.variant** [ %3, %143 ], [ %5, %23 ]
  %149 = phi %class.variant* [ %146, %143 ], [ %25, %23 ]
  store %class.variant* %149, %class.variant** %148, align 4, !tbaa !23
  %150 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %151 = getelementptr inbounds %class.variant, %class.variant* %150, i32 -1
  ret %class.variant* %151
}

; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #3

; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1) #3

; Function Attrs: noreturn
declare void @"\01?_Xbad_alloc@std@@YAXXZ"() local_unnamed_addr #4

; Function Attrs: noreturn
declare void @_invalid_parameter_noinfo_noreturn() local_unnamed_addr #4

; Function Attrs: nounwind
declare void @"\01??3@YAXPAXI@Z"(i8*, i32) local_unnamed_addr #5

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?getProgram@ASTBuilder@ast@@QAE?AUASTDetailedNodes@2@XZ"(%"class.ast::ASTBuilder"*, %"struct.ast::ASTDetailedNodes"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::pair.113", align 4
  %5 = alloca %"class.std::vector.37", align 4
  %6 = alloca %"class.std::vector.45", align 4
  %7 = bitcast %"class.std::vector.37"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %7) #14
  %8 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %5, i32 0, i32 0, i32 0, i32 0, i32 0
  store %class.variant.43* null, %class.variant.43** %8, align 4, !tbaa !32
  %9 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %5, i32 0, i32 0, i32 0, i32 0, i32 1
  store %class.variant.43* null, %class.variant.43** %9, align 4, !tbaa !34
  %10 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %5, i32 0, i32 0, i32 0, i32 0, i32 2
  store %class.variant.43* null, %class.variant.43** %10, align 4, !tbaa !35
  %11 = bitcast %"class.std::vector.45"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %11) #14
  %12 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %6, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %12, align 4, !tbaa !36
  %13 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %13, align 4, !tbaa !38
  %14 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %14, align 4, !tbaa !39
  %15 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  store i32 0, i32* %15, align 4, !tbaa !26
  %16 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %17 = load %class.variant*, %class.variant** %16, align 4, !tbaa !23
  %18 = getelementptr inbounds %class.variant, %class.variant* %17, i32 0, i32 1
  %19 = load i32, i32* %18, align 4, !tbaa !27
  %20 = icmp eq i32 %19, 0
  br i1 %20, label %21, label %25

; <label>:21:                                     ; preds = %2
  %22 = getelementptr inbounds %class.variant, %class.variant* %17, i32 0, i32 0, i32 0, i32 0
  %23 = load i32, i32* %22, align 4, !tbaa !40
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %28, label %25

; <label>:25:                                     ; preds = %21, %2
  tail call void @_wassert(i16* getelementptr inbounds ([39 x i16], [39 x i16]* @"\01??_C@_1EO@DBEKBHLP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 14) #14
  %26 = load i32, i32* %15, align 4, !tbaa !26
  %27 = add i32 %26, 1
  br label %28

; <label>:28:                                     ; preds = %25, %21
  %29 = phi i32 [ %27, %25 ], [ 1, %21 ]
  store i32 %29, i32* %15, align 4, !tbaa !26
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* nonnull %0, %"class.std::vector.37"* nonnull dereferenceable(12) %5, %"class.std::vector.45"* nonnull dereferenceable(12) %6)
  %30 = load i32, i32* %15, align 4, !tbaa !26
  %31 = load %class.variant*, %class.variant** %16, align 4, !tbaa !23
  %32 = getelementptr inbounds %class.variant, %class.variant* %31, i32 %30, i32 1
  %33 = load i32, i32* %32, align 4, !tbaa !27
  %34 = icmp eq i32 %33, 2
  br i1 %34, label %35, label %39

; <label>:35:                                     ; preds = %28
  %36 = getelementptr inbounds %class.variant, %class.variant* %31, i32 %30, i32 0, i32 0, i32 0
  %37 = load i32, i32* %36, align 4, !tbaa !43
  %38 = icmp eq i32 %37, 1
  br i1 %38, label %42, label %39

; <label>:39:                                     ; preds = %35, %28
  call void @_wassert(i16* getelementptr inbounds ([27 x i16], [27 x i16]* @"\01??_C@_1DG@NGGMGLMM@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAo?$AAf?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 19) #14
  %40 = load i32, i32* %15, align 4, !tbaa !26
  %41 = load %class.variant*, %class.variant** %16, align 4, !tbaa !23
  br label %42

; <label>:42:                                     ; preds = %39, %35
  %43 = phi %class.variant* [ %41, %39 ], [ %31, %35 ]
  %44 = phi i32 [ %40, %39 ], [ %30, %35 ]
  %45 = add i32 %44, 1
  store i32 %45, i32* %15, align 4, !tbaa !26
  %46 = getelementptr inbounds %class.variant, %class.variant* %43, i32 %45, i32 1
  %47 = load i32, i32* %46, align 4, !tbaa !27
  %48 = icmp eq i32 %47, 1
  br i1 %48, label %49, label %53

; <label>:49:                                     ; preds = %42
  %50 = getelementptr inbounds %class.variant, %class.variant* %43, i32 %45, i32 0, i32 0, i32 0
  %51 = load i32, i32* %50, align 4, !tbaa !45
  %52 = icmp eq i32 %51, 0
  br i1 %52, label %54, label %53

; <label>:53:                                     ; preds = %49, %42
  call void @_wassert(i16* getelementptr inbounds ([37 x i16], [37 x i16]* @"\01??_C@_1EK@MJHEMJNL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AAW?$AAi?$AAt?$AAh@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 21) #14
  br label %54

; <label>:54:                                     ; preds = %53, %49
  %55 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 2
  %56 = load %class.Interner.5*, %class.Interner.5** %55, align 4, !tbaa !12
  %57 = bitcast %"struct.std::pair.113"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %57) #14, !noalias !47
  %58 = getelementptr inbounds %class.Interner.5, %class.Interner.5* %56, i32 0, i32 0, i32 0
  %59 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %59) #14, !noalias !47
  call x86_thiscallcc void @"\01??@ecdc85686029a3757587674877544440@"(%"class.std::_Hash.7"* %58, %"struct.std::pair.113"* nonnull sret %4, %"class.std::vector.37"* nonnull dereferenceable(12) %5, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3) #14, !noalias !47
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %59) #14, !noalias !47
  %60 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %4, i32 0, i32 0, i32 0, i32 0
  %61 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %60, align 4, !tbaa !50, !noalias !47
  %62 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %61, i32 0, i32 2
  %63 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %1, i32 0, i32 0, i32 0
  store %"class.std::vector.37"* %62, %"class.std::vector.37"** %63, align 4, !tbaa !52, !alias.scope !47
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %57) #14, !noalias !47
  %64 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %1, i32 0, i32 1
  %65 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %66 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %67 = bitcast %"class.std::vector.45"* %6 to i32*
  %68 = load i32, i32* %67, align 4, !tbaa !23
  %69 = bitcast %"class.std::vector.45"* %64 to i32*
  store i32 %68, i32* %69, align 4, !tbaa !23
  %70 = bitcast %"struct.ast::ASTNodeInfo"** %13 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !23
  %72 = bitcast %"struct.ast::ASTNodeInfo"** %65 to i32*
  store i32 %71, i32* %72, align 4, !tbaa !23
  %73 = bitcast %"struct.ast::ASTNodeInfo"** %14 to i32*
  %74 = load i32, i32* %73, align 4, !tbaa !23
  %75 = bitcast %"struct.ast::ASTNodeInfo"** %66 to i32*
  store i32 %74, i32* %75, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %12, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %13, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %14, align 4, !tbaa !23
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* nonnull %6) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %11) #14
  %76 = load %class.variant.43*, %class.variant.43** %8, align 4, !tbaa !23
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %107, label %79

; <label>:79:                                     ; preds = %54
  %80 = bitcast %class.variant.43** %10 to i32*
  %81 = load i32, i32* %80, align 4, !tbaa !23
  %82 = sub i32 %81, %78
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %79
  %86 = bitcast %class.variant.43* %76 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %78, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %78, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %78
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %79
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  store %class.variant.43* null, %class.variant.43** %8, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %9, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %10, align 4, !tbaa !23
  br label %107

; <label>:107:                                    ; preds = %104, %54
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %7) #14
  ret void
}

declare void @_wassert(i16*, i16*, i32) local_unnamed_addr #6

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"*, %"class.std::vector.37"* dereferenceable(12), %"class.std::vector.45"* dereferenceable(12)) local_unnamed_addr #2 align 2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::pair", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::pair", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::pair", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::pair", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = alloca %"struct.std::pair", align 4
  %18 = alloca %"struct.std::_Not_a_node_tag", align 4
  %19 = alloca %"struct.std::_Not_a_node_tag", align 4
  %20 = alloca %"struct.std::pair", align 4
  %21 = alloca %"struct.std::_Not_a_node_tag", align 4
  %22 = alloca i16*, align 4
  %23 = alloca i16*, align 4
  %24 = alloca %"struct.std::_Not_a_node_tag", align 4
  %25 = alloca i16*, align 4
  %26 = alloca i16*, align 4
  %27 = alloca i16*, align 4
  %28 = alloca i16*, align 4
  %29 = alloca i16*, align 4
  %30 = alloca i16*, align 4
  %31 = alloca i16*, align 4
  %32 = alloca i16*, align 4
  %33 = alloca i16*, align 4
  %34 = alloca i16*, align 4
  %35 = alloca %"struct.std::_Not_a_node_tag", align 4
  %36 = alloca %"struct.std::_Not_a_node_tag", align 4
  %37 = alloca %"struct.std::_Not_a_node_tag", align 4
  %38 = alloca %"struct.std::_Not_a_node_tag", align 4
  %39 = alloca %"struct.std::pair", align 4
  %40 = alloca %"struct.std::_Not_a_node_tag", align 4
  %41 = alloca %"class.std::basic_string.101", align 4
  %42 = alloca i8, align 1
  %43 = alloca i16, align 2
  %44 = alloca i32, align 4
  %45 = alloca i64, align 8
  %46 = alloca %"struct.ast::IntX", align 8
  %47 = alloca i8, align 1
  %48 = alloca i16, align 2
  %49 = alloca i32, align 4
  %50 = alloca i64, align 8
  %51 = alloca %"struct.ast::IntX", align 8
  %52 = alloca %"struct.ast::ASTNodeInfo", align 4
  %53 = alloca %"class.std::basic_string.101", align 4
  %54 = alloca float, align 4
  %55 = alloca double, align 8
  %56 = alloca %"struct.ast::ASTNodeInfo", align 4
  %57 = alloca %"struct.ast::Label", align 4
  %58 = alloca %"class.std::basic_string", align 4
  %59 = alloca %"class.std::basic_string.101", align 4
  %60 = alloca %"struct.ast::ASTNodeInfo", align 4
  %61 = alloca %"class.std::basic_string", align 4
  %62 = alloca %"class.std::basic_string.101", align 4
  %63 = alloca %class.Ptr.55, align 4
  %64 = alloca %"struct.ast::ASTNodeInfo", align 4
  %65 = alloca %"struct.ast::Label", align 4
  %66 = alloca %"class.std::basic_string", align 4
  %67 = alloca %"class.std::basic_string.101", align 4
  %68 = alloca %"struct.ast::ASTNodeInfo", align 4
  %69 = alloca %"struct.ast::Label", align 4
  %70 = alloca %"class.std::basic_string", align 4
  %71 = alloca %"class.std::basic_string.101", align 4
  %72 = alloca %"struct.ast::ASTNodeInfo", align 4
  %73 = alloca %"struct.ast::Label", align 4
  %74 = alloca %"class.std::basic_string", align 4
  %75 = alloca %"class.std::basic_string.101", align 4
  %76 = alloca %"struct.ast::ASTNodeInfo", align 4
  %77 = alloca %"struct.ast::Label", align 4
  %78 = alloca %"class.std::basic_string", align 4
  %79 = alloca %"class.std::basic_string.101", align 4
  %80 = alloca %"struct.ast::ASTNodeInfo", align 4
  %81 = alloca %"struct.ast::Label", align 4
  %82 = alloca %"class.std::basic_string", align 4
  %83 = alloca %"class.std::basic_string.101", align 4
  %84 = alloca %"struct.ast::ASTNodeInfo", align 4
  %85 = alloca %struct.Overloaded, align 4
  %86 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  %87 = load i32, i32* %86, align 4, !tbaa !26
  %88 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %89 = load %class.variant*, %class.variant** %88, align 4, !tbaa !23
  %90 = getelementptr inbounds %class.variant, %class.variant* %89, i32 %87, i32 1
  %91 = load i32, i32* %90, align 4, !tbaa !27
  %92 = icmp eq i32 %91, 0
  br i1 %92, label %93, label %97

; <label>:93:                                     ; preds = %3
  %94 = getelementptr inbounds %class.variant, %class.variant* %89, i32 %87, i32 0, i32 0, i32 0
  %95 = load i32, i32* %94, align 4, !tbaa !40
  %96 = icmp eq i32 %95, 1
  br i1 %96, label %98, label %97

; <label>:97:                                     ; preds = %93, %3
  tail call void @_wassert(i16* getelementptr inbounds ([32 x i16], [32 x i16]* @"\01??_C@_1EA@NLLLDLAB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 88) #14
  br label %98

; <label>:98:                                     ; preds = %97, %93
  %99 = bitcast %struct.Overloaded* %85 to i8*
  %100 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 0, i32 0
  %101 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 0, i32 1
  %102 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 0, i32 2
  %103 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 1, i32 0, i32 0, i32 0
  %104 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 1, i32 0, i32 0, i32 1
  %105 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 1, i32 0, i32 0, i32 2
  %106 = getelementptr inbounds %struct.Overloaded, %struct.Overloaded* %85, i32 0, i32 0
  %107 = bitcast %"class.std::basic_string.101"* %41 to i8*
  %108 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 3
  %109 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %41, i32 0, i32 0, i32 0, i32 0, i32 1
  %110 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %41, i32 0, i32 0, i32 0, i32 0, i32 2
  %111 = bitcast i32* %109 to i64*
  %112 = bitcast %"class.std::basic_string.101"* %41 to i16*
  %113 = bitcast i32* %44 to i8*
  %114 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %115 = bitcast i16** %32 to i8*
  %116 = bitcast %"struct.ast::ASTNodeInfo"* %52 to i8*
  %117 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %52, i32 0, i32 0
  %118 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 6
  %119 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %52, i32 0, i32 1
  %120 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %119, i32 0, i32 0, i32 0, i32 0, i32 0
  %121 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %52, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %122 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %52, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %123 = bitcast %"struct.ast::ASTNodeInfo"** %122 to i32*
  %124 = bitcast %"class.std::vector.45"* %119 to i32*
  %125 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %40, i32 0, i32 0
  %126 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %36, i32 0, i32 0
  %127 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %35, i32 0, i32 0
  %128 = bitcast i16** %34 to i8*
  %129 = bitcast i16* %43 to i8*
  %130 = bitcast i16** %33 to i8*
  %131 = bitcast i64* %45 to i8*
  %132 = bitcast i16** %31 to i8*
  %133 = bitcast %"struct.ast::IntX"* %46 to i8*
  %134 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %46, i32 0, i32 0
  %135 = bitcast i16** %30 to i8*
  %136 = bitcast i16** %29 to i8*
  %137 = bitcast i16* %48 to i8*
  %138 = bitcast i16** %28 to i8*
  %139 = bitcast i32* %49 to i8*
  %140 = bitcast i16** %27 to i8*
  %141 = bitcast i64* %50 to i8*
  %142 = bitcast i16** %26 to i8*
  %143 = bitcast %"struct.ast::IntX"* %51 to i8*
  %144 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %51, i32 0, i32 0
  %145 = bitcast i16** %25 to i8*
  %146 = bitcast %"class.std::basic_string.101"* %53 to i8*
  %147 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %53, i32 0, i32 0, i32 0, i32 0, i32 1
  %148 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %53, i32 0, i32 0, i32 0, i32 0, i32 2
  %149 = bitcast i32* %147 to i64*
  %150 = bitcast %"class.std::basic_string.101"* %53 to i16*
  %151 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %152 = bitcast double* %55 to i8*
  %153 = bitcast i16** %22 to i8*
  %154 = bitcast %"struct.ast::ASTNodeInfo"* %56 to i8*
  %155 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %56, i32 0, i32 0
  %156 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %56, i32 0, i32 1
  %157 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %156, i32 0, i32 0, i32 0, i32 0, i32 0
  %158 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %56, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %159 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %56, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %160 = bitcast %"struct.ast::ASTNodeInfo"** %159 to i32*
  %161 = bitcast %"class.std::vector.45"* %156 to i32*
  %162 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %24, i32 0, i32 0
  %163 = bitcast float* %54 to i8*
  %164 = bitcast i16** %23 to i8*
  %165 = bitcast %"struct.ast::Label"* %57 to i8*
  %166 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %57, i32 0, i32 0, i32 0
  %167 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 1
  %168 = bitcast %"class.std::basic_string"* %58 to i8*
  %169 = bitcast %"class.std::basic_string.101"* %59 to i8*
  %170 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %59, i32 0, i32 0, i32 0, i32 0, i32 1
  %171 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %59, i32 0, i32 0, i32 0, i32 0, i32 2
  %172 = bitcast i32* %170 to i64*
  %173 = bitcast %"class.std::basic_string.101"* %59 to i16*
  %174 = bitcast %"struct.std::pair"* %20 to i8*
  %175 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %19, i32 0, i32 0
  %176 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %20, i32 0, i32 0, i32 0, i32 0
  %177 = bitcast %"struct.ast::Label"* %57 to i32*
  %178 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 2
  %179 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %180 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 1
  %181 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %182 = bitcast %"struct.ast::ASTNodeInfo"* %60 to i8*
  %183 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %60, i32 0, i32 0
  %184 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %60, i32 0, i32 1
  %185 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %184, i32 0, i32 0, i32 0, i32 0, i32 0
  %186 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %60, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %187 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %60, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %188 = bitcast %"struct.ast::ASTNodeInfo"** %187 to i32*
  %189 = bitcast %"class.std::vector.45"* %184 to i32*
  %190 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %21, i32 0, i32 0
  %191 = bitcast %"class.std::basic_string"* %61 to i8*
  %192 = bitcast %"class.std::basic_string.101"* %62 to i8*
  %193 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %62, i32 0, i32 0, i32 0, i32 0, i32 1
  %194 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %62, i32 0, i32 0, i32 0, i32 0, i32 2
  %195 = bitcast i32* %193 to i64*
  %196 = bitcast %"class.std::basic_string.101"* %62 to i16*
  %197 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %62, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %198 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 2
  %199 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %200 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 1
  %201 = bitcast %class.Ptr.55* %63 to i8*
  %202 = bitcast %"struct.std::pair"* %17 to i8*
  %203 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  %204 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %17, i32 0, i32 0, i32 0, i32 0
  %205 = getelementptr inbounds %class.Ptr.55, %class.Ptr.55* %63, i32 0, i32 0
  %206 = bitcast %"struct.ast::ASTNodeInfo"* %64 to i8*
  %207 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %64, i32 0, i32 0
  %208 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %64, i32 0, i32 1
  %209 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %208, i32 0, i32 0, i32 0, i32 0, i32 0
  %210 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %64, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %211 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %64, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %212 = bitcast %"struct.ast::ASTNodeInfo"** %211 to i32*
  %213 = bitcast %"class.std::vector.45"* %208 to i32*
  %214 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %18, i32 0, i32 0
  %215 = bitcast %"struct.ast::Label"* %65 to i8*
  %216 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %65, i32 0, i32 0, i32 0
  %217 = bitcast %"class.std::basic_string"* %66 to i8*
  %218 = bitcast %"class.std::basic_string.101"* %67 to i8*
  %219 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %67, i32 0, i32 0, i32 0, i32 0, i32 1
  %220 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %67, i32 0, i32 0, i32 0, i32 0, i32 2
  %221 = bitcast i32* %219 to i64*
  %222 = bitcast %"class.std::basic_string.101"* %67 to i16*
  %223 = bitcast %"struct.std::pair"* %14 to i8*
  %224 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  %225 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %14, i32 0, i32 0, i32 0, i32 0
  %226 = bitcast %"struct.ast::Label"* %65 to i32*
  %227 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 2
  %228 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %229 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 1
  %230 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %67, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %231 = bitcast %"struct.ast::ASTNodeInfo"* %68 to i8*
  %232 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %68, i32 0, i32 0
  %233 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %68, i32 0, i32 1
  %234 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %233, i32 0, i32 0, i32 0, i32 0, i32 0
  %235 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %68, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %236 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %68, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %237 = bitcast %"struct.ast::ASTNodeInfo"** %236 to i32*
  %238 = bitcast %"class.std::vector.45"* %233 to i32*
  %239 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  %240 = bitcast %"struct.ast::Label"* %69 to i8*
  %241 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %69, i32 0, i32 0, i32 0
  %242 = bitcast %"class.std::basic_string"* %70 to i8*
  %243 = bitcast %"class.std::basic_string.101"* %71 to i8*
  %244 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %71, i32 0, i32 0, i32 0, i32 0, i32 1
  %245 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %71, i32 0, i32 0, i32 0, i32 0, i32 2
  %246 = bitcast i32* %244 to i64*
  %247 = bitcast %"class.std::basic_string.101"* %71 to i16*
  %248 = bitcast %"struct.std::pair"* %11 to i8*
  %249 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  %250 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %11, i32 0, i32 0, i32 0, i32 0
  %251 = bitcast %"struct.ast::Label"* %69 to i32*
  %252 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 2
  %253 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %254 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 1
  %255 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %71, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %256 = bitcast %"struct.ast::ASTNodeInfo"* %72 to i8*
  %257 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 0, i32 0
  %258 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 0, i32 1
  %259 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %258, i32 0, i32 0, i32 0, i32 0, i32 0
  %260 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %261 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %262 = bitcast %"struct.ast::ASTNodeInfo"** %261 to i32*
  %263 = bitcast %"class.std::vector.45"* %258 to i32*
  %264 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  %265 = bitcast %"struct.ast::Label"* %73 to i8*
  %266 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %73, i32 0, i32 0, i32 0
  %267 = bitcast %"class.std::basic_string"* %74 to i8*
  %268 = bitcast %"class.std::basic_string.101"* %75 to i8*
  %269 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %75, i32 0, i32 0, i32 0, i32 0, i32 1
  %270 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %75, i32 0, i32 0, i32 0, i32 0, i32 2
  %271 = bitcast i32* %269 to i64*
  %272 = bitcast %"class.std::basic_string.101"* %75 to i16*
  %273 = bitcast %"struct.std::pair"* %8 to i8*
  %274 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  %275 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %8, i32 0, i32 0, i32 0, i32 0
  %276 = bitcast %"struct.ast::Label"* %73 to i32*
  %277 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 2
  %278 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %279 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 1
  %280 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %75, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %281 = bitcast %"struct.ast::ASTNodeInfo"* %76 to i8*
  %282 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %76, i32 0, i32 0
  %283 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %76, i32 0, i32 1
  %284 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %283, i32 0, i32 0, i32 0, i32 0, i32 0
  %285 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %76, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %286 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %76, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %287 = bitcast %"struct.ast::ASTNodeInfo"** %286 to i32*
  %288 = bitcast %"class.std::vector.45"* %283 to i32*
  %289 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  %290 = bitcast %"struct.ast::Label"* %77 to i8*
  %291 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %77, i32 0, i32 0, i32 0
  %292 = bitcast %"class.std::basic_string"* %78 to i8*
  %293 = bitcast %"class.std::basic_string.101"* %79 to i8*
  %294 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %79, i32 0, i32 0, i32 0, i32 0, i32 1
  %295 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %79, i32 0, i32 0, i32 0, i32 0, i32 2
  %296 = bitcast i32* %294 to i64*
  %297 = bitcast %"class.std::basic_string.101"* %79 to i16*
  %298 = bitcast %"struct.std::pair"* %5 to i8*
  %299 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  %300 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %5, i32 0, i32 0, i32 0, i32 0
  %301 = bitcast %"struct.ast::Label"* %77 to i32*
  %302 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %78, i32 0, i32 0, i32 0, i32 0, i32 2
  %303 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %78, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %304 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %78, i32 0, i32 0, i32 0, i32 0, i32 1
  %305 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %79, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %306 = bitcast %"struct.ast::ASTNodeInfo"* %80 to i8*
  %307 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %80, i32 0, i32 0
  %308 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %80, i32 0, i32 1
  %309 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %308, i32 0, i32 0, i32 0, i32 0, i32 0
  %310 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %80, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %311 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %80, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %312 = bitcast %"struct.ast::ASTNodeInfo"** %311 to i32*
  %313 = bitcast %"class.std::vector.45"* %308 to i32*
  %314 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  %315 = bitcast %"struct.ast::Label"* %81 to i8*
  %316 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %81, i32 0, i32 0, i32 0
  %317 = bitcast %"class.std::basic_string"* %82 to i8*
  %318 = bitcast %"class.std::basic_string.101"* %83 to i8*
  %319 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %83, i32 0, i32 0, i32 0, i32 0, i32 1
  %320 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %83, i32 0, i32 0, i32 0, i32 0, i32 2
  %321 = bitcast i32* %319 to i64*
  %322 = bitcast %"class.std::basic_string.101"* %83 to i16*
  %323 = bitcast %"struct.std::pair"* %39 to i8*
  %324 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %38, i32 0, i32 0
  %325 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %39, i32 0, i32 0, i32 0, i32 0
  %326 = bitcast %"struct.ast::Label"* %81 to i32*
  %327 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %82, i32 0, i32 0, i32 0, i32 0, i32 2
  %328 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %82, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %329 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %82, i32 0, i32 0, i32 0, i32 0, i32 1
  %330 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %83, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %331 = bitcast %"struct.ast::ASTNodeInfo"* %84 to i8*
  %332 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %84, i32 0, i32 0
  %333 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %84, i32 0, i32 1
  %334 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %333, i32 0, i32 0, i32 0, i32 0, i32 0
  %335 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %84, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %336 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %84, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %337 = bitcast %"struct.ast::ASTNodeInfo"** %336 to i32*
  %338 = bitcast %"class.std::vector.45"* %333 to i32*
  %339 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %37, i32 0, i32 0
  br label %340

; <label>:340:                                    ; preds = %2094, %98
  %341 = load i32, i32* %86, align 4, !tbaa !26
  %342 = add i32 %341, 1
  store i32 %342, i32* %86, align 4, !tbaa !26
  %343 = load %class.variant*, %class.variant** %88, align 4, !tbaa !23
  %344 = getelementptr inbounds %class.variant, %class.variant* %343, i32 %342, i32 1
  %345 = load i32, i32* %344, align 4, !tbaa !27
  switch i32 %345, label %354 [
    i32 1, label %346
    i32 0, label %350
  ]

; <label>:346:                                    ; preds = %340
  %347 = getelementptr inbounds %class.variant, %class.variant* %343, i32 %342, i32 0, i32 0, i32 0
  %348 = load i32, i32* %347, align 4, !tbaa !45
  %349 = icmp eq i32 %348, 1
  br i1 %349, label %2095, label %354

; <label>:350:                                    ; preds = %340
  %351 = getelementptr inbounds %class.variant, %class.variant* %343, i32 %342, i32 0, i32 0, i32 0
  %352 = load i32, i32* %351, align 4, !tbaa !40
  %353 = icmp eq i32 %352, 2
  br i1 %353, label %357, label %354

; <label>:354:                                    ; preds = %350, %346, %340
  call void @_wassert(i16* getelementptr inbounds ([35 x i16], [35 x i16]* @"\01??_C@_1EG@BMHPPKH@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAS?$AAt?$AAa?$AAr?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 95) #14
  %355 = load i32, i32* %86, align 4, !tbaa !26
  %356 = load %class.variant*, %class.variant** %88, align 4, !tbaa !23
  br label %357

; <label>:357:                                    ; preds = %354, %350
  %358 = phi %class.variant* [ %356, %354 ], [ %343, %350 ]
  %359 = phi i32 [ %355, %354 ], [ %342, %350 ]
  %360 = add i32 %359, 1
  store i32 %360, i32* %86, align 4, !tbaa !26
  %361 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %99) #14
  store %"class.ast::ASTBuilder"* %0, %"class.ast::ASTBuilder"** %100, align 4
  store %"class.std::vector.37"* %1, %"class.std::vector.37"** %101, align 4
  store %"class.std::vector.45"* %2, %"class.std::vector.45"** %102, align 4
  store %"class.ast::ASTBuilder"* %0, %"class.ast::ASTBuilder"** %103, align 4
  store %"class.std::vector.37"* %1, %"class.std::vector.37"** %104, align 4
  store %"class.std::vector.45"* %2, %"class.std::vector.45"** %105, align 4
  %362 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 1
  %363 = load i32, i32* %362, align 4, !tbaa !27
  switch i32 %363, label %2077 [
    i32 0, label %364
    i32 1, label %370
    i32 2, label %371
    i32 3, label %1909
    i32 4, label %1915
    i32 5, label %1921
    i32 6, label %1927
    i32 7, label %1933
    i32 8, label %1939
    i32 9, label %1945
    i32 10, label %1951
    i32 11, label %1957
    i32 12, label %1963
    i32 13, label %1969
    i32 14, label %1975
    i32 15, label %1981
    i32 16, label %1987
    i32 17, label %1993
    i32 18, label %1999
    i32 19, label %2005
    i32 20, label %2011
    i32 21, label %2017
    i32 22, label %2023
    i32 23, label %2029
    i32 24, label %2035
    i32 25, label %2041
    i32 26, label %2047
    i32 27, label %2053
    i32 28, label %2059
    i32 29, label %2065
    i32 30, label %2071
  ]

; <label>:364:                                    ; preds = %357
  %365 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %366 = load i32, i32* %365, align 4
  %367 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %368 = bitcast [8 x i8]* %367 to i32*
  %369 = load i32, i32* %368, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %366, i32 %369) #14
  br label %2083

; <label>:370:                                    ; preds = %357
  call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 227) #14
  br label %2083

; <label>:371:                                    ; preds = %357
  %372 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %373 = load i32, i32* %372, align 4
  %374 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %375 = bitcast [8 x i8]* %374 to i32*
  %376 = load i32, i32* %375, align 4
  %377 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1, i32 4
  %378 = bitcast i8* %377 to i32*
  %379 = load i32, i32* %378, align 4
  switch i32 %373, label %1908 [
    i32 10, label %380
    i32 9, label %769
    i32 15, label %914
    i32 3, label %914
    i32 11, label %1043
    i32 4, label %1226
    i32 5, label %1362
    i32 6, label %1498
    i32 7, label %1634
    i32 8, label %1770
    i32 2, label %1906
  ]

; <label>:380:                                    ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %107) #14
  %381 = load i16*, i16** %108, align 4, !tbaa !25
  %382 = getelementptr inbounds i16, i16* %381, i32 %376
  store i64 0, i64* %111, align 4
  store i32 7, i32* %110, align 4, !tbaa !54
  store i16 0, i16* %112, align 4, !tbaa !56
  %383 = icmp eq i32 %379, %376
  br i1 %383, label %399, label %384

; <label>:384:                                    ; preds = %380
  %385 = sub i32 %379, %376
  %386 = shl i32 %385, 1
  %387 = ashr exact i32 %386, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %125) #14
  %388 = icmp ugt i32 %387, 7
  br i1 %388, label %392, label %389

; <label>:389:                                    ; preds = %384
  store i32 %387, i32* %109, align 4, !tbaa !58
  %390 = bitcast i16* %382 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %107, i8* %390, i32 %386, i32 2, i1 false) #14
  %391 = getelementptr inbounds i16, i16* %112, i32 %387
  store i16 0, i16* %391, align 2, !tbaa !56
  br label %394

; <label>:392:                                    ; preds = %384
  %393 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %41, i32 %387, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %40, i16* %382) #14
  br label %394

; <label>:394:                                    ; preds = %392, %389
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %125) #14
  %395 = load i32, i32* %109, align 4, !tbaa !58
  %396 = icmp ugt i32 %395, 2
  br i1 %396, label %401, label %397

; <label>:397:                                    ; preds = %394
  %398 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  br label %399

; <label>:399:                                    ; preds = %397, %380
  %400 = phi %"class.std::vector.37"* [ %398, %397 ], [ %1, %380 ]
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %113) #14
  br label %539

; <label>:401:                                    ; preds = %394
  %402 = load i32, i32* %110, align 4, !tbaa !54
  %403 = icmp ugt i32 %402, 7
  %404 = load i16*, i16** %114, align 4
  %405 = select i1 %403, i16* %404, i16* %112
  %406 = getelementptr inbounds i16, i16* %405, i32 1
  %407 = load i16, i16* %406, align 2, !tbaa !56
  %408 = icmp eq i16 %407, 120
  %409 = add i32 %395, -2
  %410 = getelementptr inbounds i16, i16* %405, i32 %409
  %411 = load i16, i16* %410, align 2, !tbaa !56
  switch i16 %411, label %426 [
    i16 105, label %412
    i16 110, label %418
  ]

; <label>:412:                                    ; preds = %401
  %413 = add i32 %395, -1
  %414 = getelementptr inbounds i16, i16* %405, i32 %413
  %415 = load i16, i16* %414, align 2, !tbaa !56
  %416 = icmp eq i16 %415, 56
  %417 = select i1 %416, i32 0, i32 4
  br label %424

; <label>:418:                                    ; preds = %401
  %419 = add i32 %395, -1
  %420 = getelementptr inbounds i16, i16* %405, i32 %419
  %421 = load i16, i16* %420, align 2, !tbaa !56
  %422 = icmp eq i16 %421, 56
  %423 = select i1 %422, i32 5, i32 9
  br label %424

; <label>:424:                                    ; preds = %418, %412
  %425 = phi i32 [ %417, %412 ], [ %423, %418 ]
  store i32 %409, i32* %109, align 4, !tbaa !58
  br label %496

; <label>:426:                                    ; preds = %401
  %427 = icmp ugt i32 %395, 3
  br i1 %427, label %428, label %537

; <label>:428:                                    ; preds = %426
  %429 = add i32 %395, -3
  %430 = getelementptr inbounds i16, i16* %405, i32 %429
  %431 = load i16, i16* %430, align 2, !tbaa !56
  switch i16 %431, label %537 [
    i16 105, label %432
    i16 110, label %464
  ]

; <label>:432:                                    ; preds = %428
  switch i16 %411, label %435 [
    i16 49, label %442
    i16 51, label %433
    i16 54, label %434
  ]

; <label>:433:                                    ; preds = %432
  br label %442

; <label>:434:                                    ; preds = %432
  br label %442

; <label>:435:                                    ; preds = %432
  call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 274) #14
  %436 = load i32, i32* %109, align 4, !tbaa !58
  %437 = add i32 %436, -3
  %438 = icmp ult i32 %436, 3
  br i1 %438, label %450, label %439

; <label>:439:                                    ; preds = %435
  %440 = load i32, i32* %110, align 4, !tbaa !54
  %441 = load i16*, i16** %114, align 4
  br label %442

; <label>:442:                                    ; preds = %439, %434, %433, %432
  %443 = phi i16* [ %441, %439 ], [ %404, %434 ], [ %404, %433 ], [ %404, %432 ]
  %444 = phi i32 [ %440, %439 ], [ %402, %434 ], [ %402, %433 ], [ %402, %432 ]
  %445 = phi i32 [ %437, %439 ], [ %429, %434 ], [ %429, %433 ], [ %429, %432 ]
  %446 = phi i32 [ 2, %439 ], [ 3, %434 ], [ 2, %433 ], [ 1, %432 ]
  %447 = icmp ugt i32 %444, 7
  %448 = select i1 %447, i16* %443, i16* %112
  store i32 %445, i32* %109, align 4, !tbaa !58
  %449 = getelementptr inbounds i16, i16* %448, i32 %445
  br label %496

; <label>:450:                                    ; preds = %435
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %126) #14
  %451 = load i32, i32* %110, align 4, !tbaa !54
  %452 = sub i32 %451, %436
  %453 = icmp ult i32 %452, -3
  br i1 %453, label %461, label %454

; <label>:454:                                    ; preds = %450
  store i32 %437, i32* %109, align 4, !tbaa !58
  %455 = icmp ugt i32 %451, 7
  %456 = load i16*, i16** %114, align 4
  %457 = select i1 %455, i16* %456, i16* %112
  %458 = getelementptr inbounds i16, i16* %457, i32 %436
  %459 = bitcast i16* %458 to i8*
  call void @llvm.memset.p0i8.i32(i8* %459, i8 0, i32 -6, i32 2, i1 false) #14
  %460 = getelementptr inbounds i16, i16* %457, i32 %437
  store i16 0, i16* %460, align 2, !tbaa !56
  br label %463

; <label>:461:                                    ; preds = %450
  %462 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@I_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@I_W@Z@I_W@Z"(%"class.std::basic_string.101"* nonnull %41, i32 -3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %36, i32 -3, i16 zeroext 0) #14
  br label %463

; <label>:463:                                    ; preds = %461, %454
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %126) #14
  br label %537

; <label>:464:                                    ; preds = %428
  switch i16 %411, label %467 [
    i16 49, label %474
    i16 51, label %465
    i16 54, label %466
  ]

; <label>:465:                                    ; preds = %464
  br label %474

; <label>:466:                                    ; preds = %464
  br label %474

; <label>:467:                                    ; preds = %464
  call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 283) #14
  %468 = load i32, i32* %109, align 4, !tbaa !58
  %469 = add i32 %468, -3
  %470 = icmp ult i32 %468, 3
  br i1 %470, label %482, label %471

; <label>:471:                                    ; preds = %467
  %472 = load i32, i32* %110, align 4, !tbaa !54
  %473 = load i16*, i16** %114, align 4
  br label %474

; <label>:474:                                    ; preds = %471, %466, %465, %464
  %475 = phi i16* [ %473, %471 ], [ %404, %466 ], [ %404, %465 ], [ %404, %464 ]
  %476 = phi i32 [ %472, %471 ], [ %402, %466 ], [ %402, %465 ], [ %402, %464 ]
  %477 = phi i32 [ %469, %471 ], [ %429, %466 ], [ %429, %465 ], [ %429, %464 ]
  %478 = phi i32 [ 2, %471 ], [ 8, %466 ], [ 7, %465 ], [ 6, %464 ]
  %479 = icmp ugt i32 %476, 7
  %480 = select i1 %479, i16* %475, i16* %112
  store i32 %477, i32* %109, align 4, !tbaa !58
  %481 = getelementptr inbounds i16, i16* %480, i32 %477
  br label %496

; <label>:482:                                    ; preds = %467
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %127) #14
  %483 = load i32, i32* %110, align 4, !tbaa !54
  %484 = sub i32 %483, %468
  %485 = icmp ult i32 %484, -3
  br i1 %485, label %493, label %486

; <label>:486:                                    ; preds = %482
  store i32 %469, i32* %109, align 4, !tbaa !58
  %487 = icmp ugt i32 %483, 7
  %488 = load i16*, i16** %114, align 4
  %489 = select i1 %487, i16* %488, i16* %112
  %490 = getelementptr inbounds i16, i16* %489, i32 %468
  %491 = bitcast i16* %490 to i8*
  call void @llvm.memset.p0i8.i32(i8* %491, i8 0, i32 -6, i32 2, i1 false) #14
  %492 = getelementptr inbounds i16, i16* %489, i32 %469
  store i16 0, i16* %492, align 2, !tbaa !56
  br label %495

; <label>:493:                                    ; preds = %482
  %494 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@I_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@I_W@Z@I_W@Z"(%"class.std::basic_string.101"* nonnull %41, i32 -3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %35, i32 -3, i16 zeroext 0) #14
  br label %495

; <label>:495:                                    ; preds = %493, %486
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %127) #14
  br label %537

; <label>:496:                                    ; preds = %474, %442, %424
  %497 = phi i16* [ %481, %474 ], [ %449, %442 ], [ %410, %424 ]
  %498 = phi i32 [ %478, %474 ], [ %446, %442 ], [ %425, %424 ]
  store i16 0, i16* %497, align 2, !tbaa !56
  switch i32 %498, label %689 [
    i32 0, label %499
    i32 1, label %518
    i32 2, label %537
    i32 3, label %560
    i32 4, label %578
    i32 5, label %596
    i32 6, label %615
    i32 7, label %634
    i32 8, label %653
    i32 9, label %671
  ]

; <label>:499:                                    ; preds = %496
  %500 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %42) #14
  %501 = select i1 %408, i32 16, i32 10
  %502 = call i32* @_errno() #14
  %503 = load i32, i32* %110, align 4, !tbaa !54
  %504 = icmp ugt i32 %503, 7
  %505 = load i16*, i16** %114, align 4
  %506 = select i1 %504, i16* %505, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %128) #14
  store i32 0, i32* %502, align 4, !tbaa !24
  %507 = call i64 @wcstoll(i16* %506, i16** nonnull %34, i32 %501) #14
  %508 = load i16*, i16** %34, align 4, !tbaa !23
  %509 = icmp eq i16* %506, %508
  br i1 %509, label %510, label %511

; <label>:510:                                    ; preds = %499
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:511:                                    ; preds = %499
  %512 = load i32, i32* %502, align 4, !tbaa !24
  %513 = icmp eq i32 %512, 34
  br i1 %513, label %514, label %515

; <label>:514:                                    ; preds = %511
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:515:                                    ; preds = %511
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %128) #14
  %516 = trunc i64 %507 to i8
  store i8 %516, i8* %42, align 1, !tbaa !12
  %517 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@C@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAC@Z"(%"class.std::vector.37"* %500, i8* nonnull dereferenceable(1) %42) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %42) #14
  br label %689

; <label>:518:                                    ; preds = %496
  %519 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 2, i8* nonnull %129) #14
  %520 = select i1 %408, i32 16, i32 10
  %521 = call i32* @_errno() #14
  %522 = load i32, i32* %110, align 4, !tbaa !54
  %523 = icmp ugt i32 %522, 7
  %524 = load i16*, i16** %114, align 4
  %525 = select i1 %523, i16* %524, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %130) #14
  store i32 0, i32* %521, align 4, !tbaa !24
  %526 = call i64 @wcstoll(i16* %525, i16** nonnull %33, i32 %520) #14
  %527 = load i16*, i16** %33, align 4, !tbaa !23
  %528 = icmp eq i16* %525, %527
  br i1 %528, label %529, label %530

; <label>:529:                                    ; preds = %518
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:530:                                    ; preds = %518
  %531 = load i32, i32* %521, align 4, !tbaa !24
  %532 = icmp eq i32 %531, 34
  br i1 %532, label %533, label %534

; <label>:533:                                    ; preds = %530
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:534:                                    ; preds = %530
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %130) #14
  %535 = trunc i64 %526 to i16
  store i16 %535, i16* %43, align 2, !tbaa !59
  %536 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@F@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAF@Z"(%"class.std::vector.37"* %519, i16* nonnull dereferenceable(2) %43) #14
  call void @llvm.lifetime.end.p0i8(i64 2, i8* nonnull %129) #14
  br label %689

; <label>:537:                                    ; preds = %496, %495, %463, %428, %426
  %538 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %113) #14
  br i1 %408, label %541, label %539

; <label>:539:                                    ; preds = %537, %399
  %540 = phi %"class.std::vector.37"* [ %538, %537 ], [ %400, %399 ]
  br label %541

; <label>:541:                                    ; preds = %539, %537
  %542 = phi %"class.std::vector.37"* [ %538, %537 ], [ %540, %539 ]
  %543 = phi i32 [ 16, %537 ], [ 10, %539 ]
  %544 = call i32* @_errno() #14
  %545 = load i32, i32* %110, align 4, !tbaa !54
  %546 = icmp ugt i32 %545, 7
  %547 = load i16*, i16** %114, align 4
  %548 = select i1 %546, i16* %547, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %115) #14
  store i32 0, i32* %544, align 4, !tbaa !24
  %549 = call i64 @wcstoll(i16* %548, i16** nonnull %32, i32 %543) #14
  %550 = load i16*, i16** %32, align 4, !tbaa !23
  %551 = icmp eq i16* %548, %550
  br i1 %551, label %552, label %553

; <label>:552:                                    ; preds = %541
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:553:                                    ; preds = %541
  %554 = load i32, i32* %544, align 4, !tbaa !24
  %555 = icmp eq i32 %554, 34
  br i1 %555, label %556, label %557

; <label>:556:                                    ; preds = %553
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:557:                                    ; preds = %553
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %115) #14
  %558 = trunc i64 %549 to i32
  store i32 %558, i32* %44, align 4, !tbaa !24
  %559 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@H@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAH@Z"(%"class.std::vector.37"* %542, i32* nonnull dereferenceable(4) %44) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %113) #14
  br label %689

; <label>:560:                                    ; preds = %496
  %561 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %131) #14
  %562 = select i1 %408, i32 16, i32 10
  %563 = call i32* @_errno() #14
  %564 = load i32, i32* %110, align 4, !tbaa !54
  %565 = icmp ugt i32 %564, 7
  %566 = load i16*, i16** %114, align 4
  %567 = select i1 %565, i16* %566, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %132) #14
  store i32 0, i32* %563, align 4, !tbaa !24
  %568 = call i64 @wcstoll(i16* %567, i16** nonnull %31, i32 %562) #14
  %569 = load i16*, i16** %31, align 4, !tbaa !23
  %570 = icmp eq i16* %567, %569
  br i1 %570, label %571, label %572

; <label>:571:                                    ; preds = %560
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:572:                                    ; preds = %560
  %573 = load i32, i32* %563, align 4, !tbaa !24
  %574 = icmp eq i32 %573, 34
  br i1 %574, label %575, label %576

; <label>:575:                                    ; preds = %572
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:576:                                    ; preds = %572
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %132) #14
  store i64 %568, i64* %45, align 8, !tbaa !61
  %577 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@_J@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_J@Z"(%"class.std::vector.37"* %561, i64* nonnull dereferenceable(8) %45) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %131) #14
  br label %689

; <label>:578:                                    ; preds = %496
  %579 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %133) #14
  %580 = select i1 %408, i32 16, i32 10
  %581 = call i32* @_errno() #14
  %582 = load i32, i32* %110, align 4, !tbaa !54
  %583 = icmp ugt i32 %582, 7
  %584 = load i16*, i16** %114, align 4
  %585 = select i1 %583, i16* %584, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %135) #14
  store i32 0, i32* %581, align 4, !tbaa !24
  %586 = call i64 @wcstoll(i16* %585, i16** nonnull %30, i32 %580) #14
  %587 = load i16*, i16** %30, align 4, !tbaa !23
  %588 = icmp eq i16* %585, %587
  br i1 %588, label %589, label %590

; <label>:589:                                    ; preds = %578
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @"\01??_C@_0BH@KOGMOJCH@invalid?5stoll?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:590:                                    ; preds = %578
  %591 = load i32, i32* %581, align 4, !tbaa !24
  %592 = icmp eq i32 %591, 34
  br i1 %592, label %593, label %594

; <label>:593:                                    ; preds = %590
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@BPCBEBLO@stoll?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:594:                                    ; preds = %590
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %135) #14
  store i64 %586, i64* %134, align 8, !tbaa !63
  %595 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UIntX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUIntX@ast@@@Z"(%"class.std::vector.37"* %579, %"struct.ast::IntX"* nonnull dereferenceable(8) %46) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %133) #14
  br label %689

; <label>:596:                                    ; preds = %496
  %597 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %598 = select i1 %408, i32 16, i32 10
  %599 = call i32* @_errno() #14
  %600 = load i32, i32* %110, align 4, !tbaa !54
  %601 = icmp ugt i32 %600, 7
  %602 = load i16*, i16** %114, align 4
  %603 = select i1 %601, i16* %602, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %136) #14
  store i32 0, i32* %599, align 4, !tbaa !24
  %604 = call i64 @wcstoull(i16* %603, i16** nonnull %29, i32 %598) #14
  %605 = load i16*, i16** %29, align 4, !tbaa !23
  %606 = icmp eq i16* %603, %605
  br i1 %606, label %607, label %608

; <label>:607:                                    ; preds = %596
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:608:                                    ; preds = %596
  %609 = load i32, i32* %599, align 4, !tbaa !24
  %610 = icmp eq i32 %609, 34
  br i1 %610, label %611, label %612

; <label>:611:                                    ; preds = %608
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:612:                                    ; preds = %608
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %136) #14
  %613 = trunc i64 %604 to i8
  store i8 %613, i8* %47, align 1, !tbaa !12
  %614 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@E@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAE@Z"(%"class.std::vector.37"* %597, i8* nonnull dereferenceable(1) %47) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %689

; <label>:615:                                    ; preds = %496
  %616 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 2, i8* nonnull %137) #14
  %617 = select i1 %408, i32 16, i32 10
  %618 = call i32* @_errno() #14
  %619 = load i32, i32* %110, align 4, !tbaa !54
  %620 = icmp ugt i32 %619, 7
  %621 = load i16*, i16** %114, align 4
  %622 = select i1 %620, i16* %621, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %138) #14
  store i32 0, i32* %618, align 4, !tbaa !24
  %623 = call i64 @wcstoull(i16* %622, i16** nonnull %28, i32 %617) #14
  %624 = load i16*, i16** %28, align 4, !tbaa !23
  %625 = icmp eq i16* %622, %624
  br i1 %625, label %626, label %627

; <label>:626:                                    ; preds = %615
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:627:                                    ; preds = %615
  %628 = load i32, i32* %618, align 4, !tbaa !24
  %629 = icmp eq i32 %628, 34
  br i1 %629, label %630, label %631

; <label>:630:                                    ; preds = %627
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:631:                                    ; preds = %627
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %138) #14
  %632 = trunc i64 %623 to i16
  store i16 %632, i16* %48, align 2, !tbaa !59
  %633 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@G@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAG@Z"(%"class.std::vector.37"* %616, i16* nonnull dereferenceable(2) %48) #14
  call void @llvm.lifetime.end.p0i8(i64 2, i8* nonnull %137) #14
  br label %689

; <label>:634:                                    ; preds = %496
  %635 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %139) #14
  %636 = select i1 %408, i32 16, i32 10
  %637 = call i32* @_errno() #14
  %638 = load i32, i32* %110, align 4, !tbaa !54
  %639 = icmp ugt i32 %638, 7
  %640 = load i16*, i16** %114, align 4
  %641 = select i1 %639, i16* %640, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %140) #14
  store i32 0, i32* %637, align 4, !tbaa !24
  %642 = call i64 @wcstoull(i16* %641, i16** nonnull %27, i32 %636) #14
  %643 = load i16*, i16** %27, align 4, !tbaa !23
  %644 = icmp eq i16* %641, %643
  br i1 %644, label %645, label %646

; <label>:645:                                    ; preds = %634
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:646:                                    ; preds = %634
  %647 = load i32, i32* %637, align 4, !tbaa !24
  %648 = icmp eq i32 %647, 34
  br i1 %648, label %649, label %650

; <label>:649:                                    ; preds = %646
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:650:                                    ; preds = %646
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %140) #14
  %651 = trunc i64 %642 to i32
  store i32 %651, i32* %49, align 4, !tbaa !24
  %652 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@I@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z"(%"class.std::vector.37"* %635, i32* nonnull dereferenceable(4) %49) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %139) #14
  br label %689

; <label>:653:                                    ; preds = %496
  %654 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %141) #14
  %655 = select i1 %408, i32 16, i32 10
  %656 = call i32* @_errno() #14
  %657 = load i32, i32* %110, align 4, !tbaa !54
  %658 = icmp ugt i32 %657, 7
  %659 = load i16*, i16** %114, align 4
  %660 = select i1 %658, i16* %659, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %142) #14
  store i32 0, i32* %656, align 4, !tbaa !24
  %661 = call i64 @wcstoull(i16* %660, i16** nonnull %26, i32 %655) #14
  %662 = load i16*, i16** %26, align 4, !tbaa !23
  %663 = icmp eq i16* %660, %662
  br i1 %663, label %664, label %665

; <label>:664:                                    ; preds = %653
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:665:                                    ; preds = %653
  %666 = load i32, i32* %656, align 4, !tbaa !24
  %667 = icmp eq i32 %666, 34
  br i1 %667, label %668, label %669

; <label>:668:                                    ; preds = %665
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:669:                                    ; preds = %665
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %142) #14
  store i64 %661, i64* %50, align 8, !tbaa !61
  %670 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@_K@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_K@Z"(%"class.std::vector.37"* %654, i64* nonnull dereferenceable(8) %50) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %141) #14
  br label %689

; <label>:671:                                    ; preds = %496
  %672 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %143) #14
  %673 = select i1 %408, i32 16, i32 10
  %674 = call i32* @_errno() #14
  %675 = load i32, i32* %110, align 4, !tbaa !54
  %676 = icmp ugt i32 %675, 7
  %677 = load i16*, i16** %114, align 4
  %678 = select i1 %676, i16* %677, i16* %112
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %145) #14
  store i32 0, i32* %674, align 4, !tbaa !24
  %679 = call i64 @wcstoull(i16* %678, i16** nonnull %25, i32 %673) #14
  %680 = load i16*, i16** %25, align 4, !tbaa !23
  %681 = icmp eq i16* %678, %680
  br i1 %681, label %682, label %683

; <label>:682:                                    ; preds = %671
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@DIFNIIHI@invalid?5stoull?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:683:                                    ; preds = %671
  %684 = load i32, i32* %674, align 4, !tbaa !24
  %685 = icmp eq i32 %684, 34
  br i1 %685, label %686, label %687

; <label>:686:                                    ; preds = %683
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@NGMOKJGA@stoull?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:687:                                    ; preds = %683
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %145) #14
  store i64 %679, i64* %144, align 8, !tbaa !65
  %688 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNatX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNatX@ast@@@Z"(%"class.std::vector.37"* %672, %"struct.ast::IntX"* nonnull dereferenceable(8) %51) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %143) #14
  br label %689

; <label>:689:                                    ; preds = %687, %669, %650, %631, %612, %594, %576, %557, %534, %515, %496
  %690 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %116) #14
  %691 = load i32, i32* %118, align 4, !tbaa !19
  %692 = add i32 %691, %376
  store i32 %692, i32* %117, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %120, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %121, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %122, align 4, !tbaa !39
  %693 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %690, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %52) #14
  %694 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %120, align 4, !tbaa !23
  %695 = icmp eq %"struct.ast::ASTNodeInfo"* %694, null
  br i1 %695, label %735, label %696

; <label>:696:                                    ; preds = %689
  %697 = ptrtoint %"struct.ast::ASTNodeInfo"* %694 to i32
  %698 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %121, align 4, !tbaa !23
  %699 = icmp eq %"struct.ast::ASTNodeInfo"* %694, %698
  br i1 %699, label %708, label %700

; <label>:700:                                    ; preds = %696
  br label %701

; <label>:701:                                    ; preds = %701, %700
  %702 = phi %"struct.ast::ASTNodeInfo"* [ %704, %701 ], [ %694, %700 ]
  %703 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %702, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %703) #14
  %704 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %702, i32 1
  %705 = icmp eq %"struct.ast::ASTNodeInfo"* %704, %698
  br i1 %705, label %706, label %701

; <label>:706:                                    ; preds = %701
  %707 = load i32, i32* %124, align 4, !tbaa !23
  br label %708

; <label>:708:                                    ; preds = %706, %696
  %709 = phi i32 [ %707, %706 ], [ %697, %696 ]
  %710 = load i32, i32* %123, align 4, !tbaa !23
  %711 = sub i32 %710, %709
  %712 = ashr exact i32 %711, 4
  %713 = icmp ugt i32 %712, 268435455
  br i1 %713, label %730, label %714

; <label>:714:                                    ; preds = %708
  %715 = icmp ugt i32 %711, 4095
  br i1 %715, label %716, label %731

; <label>:716:                                    ; preds = %714
  %717 = icmp ult i32 %711, -35
  %718 = and i32 %709, 31
  %719 = icmp eq i32 %718, 0
  %720 = and i1 %719, %717
  br i1 %720, label %721, label %730

; <label>:721:                                    ; preds = %716
  %722 = add i32 %711, 35
  %723 = add i32 %709, -4
  %724 = inttoptr i32 %723 to i32*
  %725 = load i32, i32* %724, align 4, !tbaa !24
  %726 = icmp uge i32 %725, %709
  %727 = sub i32 %723, %725
  %728 = icmp ugt i32 %727, 31
  %729 = or i1 %726, %728
  br i1 %729, label %730, label %731

; <label>:730:                                    ; preds = %721, %716, %708
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:731:                                    ; preds = %721, %714
  %732 = phi i32 [ %709, %714 ], [ %725, %721 ]
  %733 = phi i32 [ %711, %714 ], [ %722, %721 ]
  %734 = inttoptr i32 %732 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %734, i32 %733) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %120, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %121, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %122, align 4, !tbaa !23
  br label %735

; <label>:735:                                    ; preds = %731, %689
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %116) #14
  %736 = load i32, i32* %86, align 4, !tbaa !26
  %737 = add i32 %736, 1
  store i32 %737, i32* %86, align 4, !tbaa !26
  %738 = load i32, i32* %110, align 4, !tbaa !54
  %739 = icmp ugt i32 %738, 7
  br i1 %739, label %740, label %768

; <label>:740:                                    ; preds = %735
  %741 = load i16*, i16** %114, align 4, !tbaa !12
  %742 = add i32 %738, 1
  %743 = icmp slt i32 %742, 0
  br i1 %743, label %764, label %744

; <label>:744:                                    ; preds = %740
  %745 = bitcast i16* %741 to i8*
  %746 = shl i32 %742, 1
  %747 = icmp ugt i32 %746, 4095
  br i1 %747, label %748, label %765

; <label>:748:                                    ; preds = %744
  %749 = add i32 %746, 35
  %750 = icmp ugt i32 %746, -36
  br i1 %750, label %764, label %751

; <label>:751:                                    ; preds = %748
  %752 = ptrtoint i16* %741 to i32
  %753 = and i32 %752, 31
  %754 = icmp eq i32 %753, 0
  br i1 %754, label %755, label %764

; <label>:755:                                    ; preds = %751
  %756 = add i32 %752, -4
  %757 = inttoptr i32 %756 to i32*
  %758 = load i32, i32* %757, align 4, !tbaa !24
  %759 = icmp ult i32 %758, %752
  br i1 %759, label %760, label %764

; <label>:760:                                    ; preds = %755
  %761 = sub i32 %756, %758
  %762 = icmp ugt i32 %761, 31
  %763 = inttoptr i32 %758 to i8*
  br i1 %762, label %764, label %765

; <label>:764:                                    ; preds = %760, %755, %751, %748, %740
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:765:                                    ; preds = %760, %744
  %766 = phi i8* [ %763, %760 ], [ %745, %744 ]
  %767 = phi i32 [ %749, %760 ], [ %746, %744 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %766, i32 %767) #14
  br label %768

; <label>:768:                                    ; preds = %765, %735
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %107) #14
  br label %2083

; <label>:769:                                    ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %146) #14
  %770 = load i16*, i16** %108, align 4, !tbaa !25
  %771 = getelementptr inbounds i16, i16* %770, i32 %376
  store i64 0, i64* %149, align 4
  store i32 7, i32* %148, align 4, !tbaa !54
  store i16 0, i16* %150, align 4, !tbaa !56
  %772 = icmp eq i32 %379, %376
  br i1 %772, label %817, label %773

; <label>:773:                                    ; preds = %769
  %774 = sub i32 %379, %376
  %775 = shl i32 %774, 1
  %776 = ashr exact i32 %775, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %162) #14
  %777 = icmp ugt i32 %776, 7
  br i1 %777, label %781, label %778

; <label>:778:                                    ; preds = %773
  store i32 %776, i32* %147, align 4, !tbaa !58
  %779 = bitcast i16* %771 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %146, i8* %779, i32 %775, i32 2, i1 false) #14
  %780 = getelementptr inbounds i16, i16* %150, i32 %776
  store i16 0, i16* %780, align 2, !tbaa !56
  br label %783

; <label>:781:                                    ; preds = %773
  %782 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %53, i32 %776, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %24, i16* %771) #14
  br label %783

; <label>:783:                                    ; preds = %781, %778
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %162) #14
  %784 = load i32, i32* %147, align 4, !tbaa !58
  %785 = icmp ugt i32 %784, 3
  br i1 %785, label %786, label %817

; <label>:786:                                    ; preds = %783
  %787 = add i32 %784, -3
  %788 = load i32, i32* %148, align 4, !tbaa !54
  %789 = icmp ugt i32 %788, 7
  %790 = load i16*, i16** %151, align 4
  %791 = select i1 %789, i16* %790, i16* %150
  %792 = getelementptr inbounds i16, i16* %791, i32 %787
  %793 = load i16, i16* %792, align 2, !tbaa !56
  %794 = icmp eq i16 %793, 114
  br i1 %794, label %795, label %817

; <label>:795:                                    ; preds = %786
  %796 = add i32 %784, -2
  %797 = getelementptr inbounds i16, i16* %791, i32 %796
  %798 = load i16, i16* %797, align 2, !tbaa !56
  %799 = icmp eq i16 %798, 51
  br i1 %799, label %800, label %817

; <label>:800:                                    ; preds = %795
  %801 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %163) #14
  %802 = call i32* @_errno() #14
  %803 = load i32, i32* %148, align 4, !tbaa !54
  %804 = icmp ugt i32 %803, 7
  %805 = load i16*, i16** %151, align 4
  %806 = select i1 %804, i16* %805, i16* %150
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %164) #14
  store i32 0, i32* %802, align 4, !tbaa !24
  %807 = call float @wcstof(i16* %806, i16** nonnull %23) #14
  %808 = load i16*, i16** %23, align 4, !tbaa !23
  %809 = icmp eq i16* %806, %808
  br i1 %809, label %810, label %811

; <label>:810:                                    ; preds = %800
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@OFLLLHIE@invalid?5stof?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:811:                                    ; preds = %800
  %812 = load i32, i32* %802, align 4, !tbaa !24
  %813 = icmp eq i32 %812, 34
  br i1 %813, label %814, label %815

; <label>:814:                                    ; preds = %811
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @"\01??_C@_0BL@CGEIMNKL@stof?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:815:                                    ; preds = %811
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %164) #14
  store float %807, float* %54, align 4, !tbaa !70
  %816 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@M@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAM@Z"(%"class.std::vector.37"* %801, float* nonnull dereferenceable(4) %54) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %163) #14
  br label %834

; <label>:817:                                    ; preds = %795, %786, %783, %769
  %818 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %152) #14
  %819 = call i32* @_errno() #14
  %820 = load i32, i32* %148, align 4, !tbaa !54
  %821 = icmp ugt i32 %820, 7
  %822 = load i16*, i16** %151, align 4
  %823 = select i1 %821, i16* %822, i16* %150
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %153) #14
  store i32 0, i32* %819, align 4, !tbaa !24
  %824 = call double @wcstod(i16* %823, i16** nonnull %22) #14
  %825 = load i16*, i16** %22, align 4, !tbaa !23
  %826 = icmp eq i16* %823, %825
  br i1 %826, label %827, label %828

; <label>:827:                                    ; preds = %817
  call void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LNNHAOEF@invalid?5stod?5argument?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:828:                                    ; preds = %817
  %829 = load i32, i32* %819, align 4, !tbaa !24
  %830 = icmp eq i32 %829, 34
  br i1 %830, label %831, label %832

; <label>:831:                                    ; preds = %828
  call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @"\01??_C@_0BL@PPHDABKE@stod?5argument?5out?5of?5range?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:832:                                    ; preds = %828
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %153) #14
  store double %824, double* %55, align 8, !tbaa !72
  %833 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@N@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAN@Z"(%"class.std::vector.37"* %818, double* nonnull dereferenceable(8) %55) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %152) #14
  br label %834

; <label>:834:                                    ; preds = %832, %815
  %835 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %154) #14
  %836 = load i32, i32* %118, align 4, !tbaa !19
  %837 = add i32 %836, %376
  store i32 %837, i32* %155, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %157, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %158, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %159, align 4, !tbaa !39
  %838 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %835, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %56) #14
  %839 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %157, align 4, !tbaa !23
  %840 = icmp eq %"struct.ast::ASTNodeInfo"* %839, null
  br i1 %840, label %880, label %841

; <label>:841:                                    ; preds = %834
  %842 = ptrtoint %"struct.ast::ASTNodeInfo"* %839 to i32
  %843 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %158, align 4, !tbaa !23
  %844 = icmp eq %"struct.ast::ASTNodeInfo"* %839, %843
  br i1 %844, label %853, label %845

; <label>:845:                                    ; preds = %841
  br label %846

; <label>:846:                                    ; preds = %846, %845
  %847 = phi %"struct.ast::ASTNodeInfo"* [ %849, %846 ], [ %839, %845 ]
  %848 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %847, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %848) #14
  %849 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %847, i32 1
  %850 = icmp eq %"struct.ast::ASTNodeInfo"* %849, %843
  br i1 %850, label %851, label %846

; <label>:851:                                    ; preds = %846
  %852 = load i32, i32* %161, align 4, !tbaa !23
  br label %853

; <label>:853:                                    ; preds = %851, %841
  %854 = phi i32 [ %852, %851 ], [ %842, %841 ]
  %855 = load i32, i32* %160, align 4, !tbaa !23
  %856 = sub i32 %855, %854
  %857 = ashr exact i32 %856, 4
  %858 = icmp ugt i32 %857, 268435455
  br i1 %858, label %875, label %859

; <label>:859:                                    ; preds = %853
  %860 = icmp ugt i32 %856, 4095
  br i1 %860, label %861, label %876

; <label>:861:                                    ; preds = %859
  %862 = icmp ult i32 %856, -35
  %863 = and i32 %854, 31
  %864 = icmp eq i32 %863, 0
  %865 = and i1 %864, %862
  br i1 %865, label %866, label %875

; <label>:866:                                    ; preds = %861
  %867 = add i32 %856, 35
  %868 = add i32 %854, -4
  %869 = inttoptr i32 %868 to i32*
  %870 = load i32, i32* %869, align 4, !tbaa !24
  %871 = icmp uge i32 %870, %854
  %872 = sub i32 %868, %870
  %873 = icmp ugt i32 %872, 31
  %874 = or i1 %871, %873
  br i1 %874, label %875, label %876

; <label>:875:                                    ; preds = %866, %861, %853
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:876:                                    ; preds = %866, %859
  %877 = phi i32 [ %854, %859 ], [ %870, %866 ]
  %878 = phi i32 [ %856, %859 ], [ %867, %866 ]
  %879 = inttoptr i32 %877 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %879, i32 %878) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %157, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %158, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %159, align 4, !tbaa !23
  br label %880

; <label>:880:                                    ; preds = %876, %834
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %154) #14
  %881 = load i32, i32* %86, align 4, !tbaa !26
  %882 = add i32 %881, 1
  store i32 %882, i32* %86, align 4, !tbaa !26
  %883 = load i32, i32* %148, align 4, !tbaa !54
  %884 = icmp ugt i32 %883, 7
  br i1 %884, label %885, label %913

; <label>:885:                                    ; preds = %880
  %886 = load i16*, i16** %151, align 4, !tbaa !12
  %887 = add i32 %883, 1
  %888 = icmp slt i32 %887, 0
  br i1 %888, label %909, label %889

; <label>:889:                                    ; preds = %885
  %890 = bitcast i16* %886 to i8*
  %891 = shl i32 %887, 1
  %892 = icmp ugt i32 %891, 4095
  br i1 %892, label %893, label %910

; <label>:893:                                    ; preds = %889
  %894 = add i32 %891, 35
  %895 = icmp ugt i32 %891, -36
  br i1 %895, label %909, label %896

; <label>:896:                                    ; preds = %893
  %897 = ptrtoint i16* %886 to i32
  %898 = and i32 %897, 31
  %899 = icmp eq i32 %898, 0
  br i1 %899, label %900, label %909

; <label>:900:                                    ; preds = %896
  %901 = add i32 %897, -4
  %902 = inttoptr i32 %901 to i32*
  %903 = load i32, i32* %902, align 4, !tbaa !24
  %904 = icmp ult i32 %903, %897
  br i1 %904, label %905, label %909

; <label>:905:                                    ; preds = %900
  %906 = sub i32 %901, %903
  %907 = icmp ugt i32 %906, 31
  %908 = inttoptr i32 %903 to i8*
  br i1 %907, label %909, label %910

; <label>:909:                                    ; preds = %905, %900, %896, %893, %885
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:910:                                    ; preds = %905, %889
  %911 = phi i8* [ %908, %905 ], [ %890, %889 ]
  %912 = phi i32 [ %894, %905 ], [ %891, %889 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %911, i32 %912) #14
  br label %913

; <label>:913:                                    ; preds = %910, %880
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %146) #14
  br label %2083

; <label>:914:                                    ; preds = %371, %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %165) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %166, align 4, !tbaa !74
  %915 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %168) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %169) #14
  %916 = load i16*, i16** %108, align 4, !tbaa !25
  %917 = getelementptr inbounds i16, i16* %916, i32 %376
  store i64 0, i64* %172, align 4
  store i32 7, i32* %171, align 4, !tbaa !54
  store i16 0, i16* %173, align 4, !tbaa !56
  %918 = icmp eq i32 %379, %376
  br i1 %918, label %930, label %919

; <label>:919:                                    ; preds = %914
  %920 = sub i32 %379, %376
  %921 = shl i32 %920, 1
  %922 = ashr exact i32 %921, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %190) #14
  %923 = icmp ugt i32 %922, 7
  br i1 %923, label %927, label %924

; <label>:924:                                    ; preds = %919
  store i32 %922, i32* %170, align 4, !tbaa !58
  %925 = bitcast i16* %917 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %169, i8* %925, i32 %921, i32 2, i1 false) #14
  %926 = getelementptr inbounds i16, i16* %173, i32 %922
  store i16 0, i16* %926, align 2, !tbaa !56
  br label %929

; <label>:927:                                    ; preds = %919
  %928 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %59, i32 %922, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %21, i16* %917) #14
  br label %929

; <label>:929:                                    ; preds = %927, %924
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %190) #14
  br label %930

; <label>:930:                                    ; preds = %929, %914
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %58, %"class.std::basic_string.101"* nonnull dereferenceable(24) %59) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %174) #14, !noalias !76
  %931 = getelementptr inbounds %class.Interner, %class.Interner* %915, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %175) #14, !noalias !76
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %931, %"struct.std::pair"* nonnull sret %20, %"class.std::basic_string"* nonnull dereferenceable(24) %58, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %19) #14, !noalias !76
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %175) #14, !noalias !76
  %932 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %176, align 4, !tbaa !79, !noalias !76
  %933 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %932, i32 0, i32 2
  %934 = ptrtoint %"class.std::basic_string"* %933 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %174) #14, !noalias !76
  store i32 %934, i32* %177, align 4, !tbaa !23
  %935 = load i32, i32* %178, align 4, !tbaa !81
  %936 = icmp ugt i32 %935, 15
  br i1 %936, label %937, label %961

; <label>:937:                                    ; preds = %930
  %938 = load i8*, i8** %179, align 4, !tbaa !12
  %939 = add i32 %935, 1
  %940 = icmp ugt i32 %939, 4095
  br i1 %940, label %941, label %958

; <label>:941:                                    ; preds = %937
  %942 = add i32 %935, 36
  %943 = icmp ugt i32 %939, -36
  br i1 %943, label %957, label %944

; <label>:944:                                    ; preds = %941
  %945 = ptrtoint i8* %938 to i32
  %946 = and i32 %945, 31
  %947 = icmp eq i32 %946, 0
  br i1 %947, label %948, label %957

; <label>:948:                                    ; preds = %944
  %949 = add i32 %945, -4
  %950 = inttoptr i32 %949 to i32*
  %951 = load i32, i32* %950, align 4, !tbaa !24
  %952 = icmp ult i32 %951, %945
  br i1 %952, label %953, label %957

; <label>:953:                                    ; preds = %948
  %954 = sub i32 %949, %951
  %955 = icmp ugt i32 %954, 31
  %956 = inttoptr i32 %951 to i8*
  br i1 %955, label %957, label %958

; <label>:957:                                    ; preds = %953, %948, %944, %941
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:958:                                    ; preds = %953, %937
  %959 = phi i8* [ %956, %953 ], [ %938, %937 ]
  %960 = phi i32 [ %942, %953 ], [ %939, %937 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %959, i32 %960) #14
  br label %961

; <label>:961:                                    ; preds = %958, %930
  store i32 0, i32* %180, align 4, !tbaa !83
  store i32 15, i32* %178, align 4, !tbaa !81
  store i8 0, i8* %168, align 4, !tbaa !12
  %962 = load i32, i32* %171, align 4, !tbaa !54
  %963 = icmp ugt i32 %962, 7
  br i1 %963, label %964, label %992

; <label>:964:                                    ; preds = %961
  %965 = load i16*, i16** %181, align 4, !tbaa !12
  %966 = add i32 %962, 1
  %967 = icmp slt i32 %966, 0
  br i1 %967, label %988, label %968

; <label>:968:                                    ; preds = %964
  %969 = bitcast i16* %965 to i8*
  %970 = shl i32 %966, 1
  %971 = icmp ugt i32 %970, 4095
  br i1 %971, label %972, label %989

; <label>:972:                                    ; preds = %968
  %973 = add i32 %970, 35
  %974 = icmp ugt i32 %970, -36
  br i1 %974, label %988, label %975

; <label>:975:                                    ; preds = %972
  %976 = ptrtoint i16* %965 to i32
  %977 = and i32 %976, 31
  %978 = icmp eq i32 %977, 0
  br i1 %978, label %979, label %988

; <label>:979:                                    ; preds = %975
  %980 = add i32 %976, -4
  %981 = inttoptr i32 %980 to i32*
  %982 = load i32, i32* %981, align 4, !tbaa !24
  %983 = icmp ult i32 %982, %976
  br i1 %983, label %984, label %988

; <label>:984:                                    ; preds = %979
  %985 = sub i32 %980, %982
  %986 = icmp ugt i32 %985, 31
  %987 = inttoptr i32 %982 to i8*
  br i1 %986, label %988, label %989

; <label>:988:                                    ; preds = %984, %979, %975, %972, %964
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:989:                                    ; preds = %984, %968
  %990 = phi i8* [ %987, %984 ], [ %969, %968 ]
  %991 = phi i32 [ %973, %984 ], [ %970, %968 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %990, i32 %991) #14
  br label %992

; <label>:992:                                    ; preds = %989, %961
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %169) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %168) #14
  %993 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %994 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UName@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUName@ast@@@Z"(%"class.std::vector.37"* %993, %"struct.ast::Label"* nonnull dereferenceable(4) %57) #14
  %995 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %182) #14
  %996 = load i32, i32* %118, align 4, !tbaa !19
  %997 = add i32 %996, %376
  store i32 %997, i32* %183, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %185, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %186, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %187, align 4, !tbaa !39
  %998 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %995, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %60) #14
  %999 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %185, align 4, !tbaa !23
  %1000 = icmp eq %"struct.ast::ASTNodeInfo"* %999, null
  br i1 %1000, label %1040, label %1001

; <label>:1001:                                   ; preds = %992
  %1002 = ptrtoint %"struct.ast::ASTNodeInfo"* %999 to i32
  %1003 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %186, align 4, !tbaa !23
  %1004 = icmp eq %"struct.ast::ASTNodeInfo"* %999, %1003
  br i1 %1004, label %1013, label %1005

; <label>:1005:                                   ; preds = %1001
  br label %1006

; <label>:1006:                                   ; preds = %1006, %1005
  %1007 = phi %"struct.ast::ASTNodeInfo"* [ %1009, %1006 ], [ %999, %1005 ]
  %1008 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1007, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1008) #14
  %1009 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1007, i32 1
  %1010 = icmp eq %"struct.ast::ASTNodeInfo"* %1009, %1003
  br i1 %1010, label %1011, label %1006

; <label>:1011:                                   ; preds = %1006
  %1012 = load i32, i32* %189, align 4, !tbaa !23
  br label %1013

; <label>:1013:                                   ; preds = %1011, %1001
  %1014 = phi i32 [ %1012, %1011 ], [ %1002, %1001 ]
  %1015 = load i32, i32* %188, align 4, !tbaa !23
  %1016 = sub i32 %1015, %1014
  %1017 = ashr exact i32 %1016, 4
  %1018 = icmp ugt i32 %1017, 268435455
  br i1 %1018, label %1035, label %1019

; <label>:1019:                                   ; preds = %1013
  %1020 = icmp ugt i32 %1016, 4095
  br i1 %1020, label %1021, label %1036

; <label>:1021:                                   ; preds = %1019
  %1022 = icmp ult i32 %1016, -35
  %1023 = and i32 %1014, 31
  %1024 = icmp eq i32 %1023, 0
  %1025 = and i1 %1024, %1022
  br i1 %1025, label %1026, label %1035

; <label>:1026:                                   ; preds = %1021
  %1027 = add i32 %1016, 35
  %1028 = add i32 %1014, -4
  %1029 = inttoptr i32 %1028 to i32*
  %1030 = load i32, i32* %1029, align 4, !tbaa !24
  %1031 = icmp uge i32 %1030, %1014
  %1032 = sub i32 %1028, %1030
  %1033 = icmp ugt i32 %1032, 31
  %1034 = or i1 %1031, %1033
  br i1 %1034, label %1035, label %1036

; <label>:1035:                                   ; preds = %1026, %1021, %1013
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1036:                                   ; preds = %1026, %1019
  %1037 = phi i32 [ %1014, %1019 ], [ %1030, %1026 ]
  %1038 = phi i32 [ %1016, %1019 ], [ %1027, %1026 ]
  %1039 = inttoptr i32 %1037 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1039, i32 %1038) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %185, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %186, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %187, align 4, !tbaa !23
  br label %1040

; <label>:1040:                                   ; preds = %1036, %992
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %182) #14
  %1041 = load i32, i32* %86, align 4, !tbaa !26
  %1042 = add i32 %1041, 1
  store i32 %1042, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %165) #14
  br label %2083

; <label>:1043:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %191) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %192) #14
  %1044 = load i16*, i16** %108, align 4, !tbaa !25
  %1045 = getelementptr inbounds i16, i16* %1044, i32 %379
  %1046 = getelementptr inbounds i16, i16* %1045, i32 -1
  %1047 = getelementptr inbounds i16, i16* %1044, i32 %376
  %1048 = getelementptr inbounds i16, i16* %1047, i32 1
  store i64 0, i64* %195, align 4
  store i32 7, i32* %194, align 4, !tbaa !54
  store i16 0, i16* %196, align 4, !tbaa !56
  %1049 = icmp eq i16* %1048, %1046
  br i1 %1049, label %1062, label %1050

; <label>:1050:                                   ; preds = %1043
  %1051 = ptrtoint i16* %1046 to i32
  %1052 = ptrtoint i16* %1048 to i32
  %1053 = sub i32 %1051, %1052
  %1054 = ashr exact i32 %1053, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %214) #14
  %1055 = icmp ugt i32 %1054, 7
  br i1 %1055, label %1059, label %1056

; <label>:1056:                                   ; preds = %1050
  store i32 %1054, i32* %193, align 4, !tbaa !58
  %1057 = bitcast i16* %1048 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %192, i8* %1057, i32 %1053, i32 2, i1 false) #14
  %1058 = getelementptr inbounds i16, i16* %196, i32 %1054
  store i16 0, i16* %1058, align 2, !tbaa !56
  br label %1061

; <label>:1059:                                   ; preds = %1050
  %1060 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %62, i32 %1054, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %18, i16* %1048) #14
  br label %1061

; <label>:1061:                                   ; preds = %1059, %1056
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %214) #14
  br label %1062

; <label>:1062:                                   ; preds = %1061, %1043
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %61, %"class.std::basic_string.101"* nonnull dereferenceable(24) %62) #14
  %1063 = load i32, i32* %194, align 4, !tbaa !54
  %1064 = icmp ugt i32 %1063, 7
  br i1 %1064, label %1065, label %1093

; <label>:1065:                                   ; preds = %1062
  %1066 = load i16*, i16** %197, align 4, !tbaa !12
  %1067 = add i32 %1063, 1
  %1068 = icmp slt i32 %1067, 0
  br i1 %1068, label %1089, label %1069

; <label>:1069:                                   ; preds = %1065
  %1070 = bitcast i16* %1066 to i8*
  %1071 = shl i32 %1067, 1
  %1072 = icmp ugt i32 %1071, 4095
  br i1 %1072, label %1073, label %1090

; <label>:1073:                                   ; preds = %1069
  %1074 = add i32 %1071, 35
  %1075 = icmp ugt i32 %1071, -36
  br i1 %1075, label %1089, label %1076

; <label>:1076:                                   ; preds = %1073
  %1077 = ptrtoint i16* %1066 to i32
  %1078 = and i32 %1077, 31
  %1079 = icmp eq i32 %1078, 0
  br i1 %1079, label %1080, label %1089

; <label>:1080:                                   ; preds = %1076
  %1081 = add i32 %1077, -4
  %1082 = inttoptr i32 %1081 to i32*
  %1083 = load i32, i32* %1082, align 4, !tbaa !24
  %1084 = icmp ult i32 %1083, %1077
  br i1 %1084, label %1085, label %1089

; <label>:1085:                                   ; preds = %1080
  %1086 = sub i32 %1081, %1083
  %1087 = icmp ugt i32 %1086, 31
  %1088 = inttoptr i32 %1083 to i8*
  br i1 %1087, label %1089, label %1090

; <label>:1089:                                   ; preds = %1085, %1080, %1076, %1073, %1065
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1090:                                   ; preds = %1085, %1069
  %1091 = phi i8* [ %1088, %1085 ], [ %1070, %1069 ]
  %1092 = phi i32 [ %1074, %1085 ], [ %1071, %1069 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1091, i32 %1092) #14
  br label %1093

; <label>:1093:                                   ; preds = %1090, %1062
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %192) #14
  %1094 = load i32, i32* %198, align 4, !tbaa !81, !noalias !84
  %1095 = icmp ugt i32 %1094, 15
  %1096 = load i8*, i8** %199, align 4
  %1097 = load i32, i32* %200, align 4, !tbaa !83, !noalias !85
  %1098 = icmp eq i32 %1097, 0
  br i1 %1098, label %1101, label %1099

; <label>:1099:                                   ; preds = %1093
  %1100 = select i1 %1095, i8* %1096, i8* %191
  br label %1183

; <label>:1101:                                   ; preds = %1215, %1093
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %201) #14
  %1102 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %202) #14, !noalias !88
  %1103 = getelementptr inbounds %class.Interner, %class.Interner* %1102, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %203) #14, !noalias !88
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1103, %"struct.std::pair"* nonnull sret %17, %"class.std::basic_string"* nonnull dereferenceable(24) %61, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16) #14, !noalias !88
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %203) #14, !noalias !88
  %1104 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %204, align 4, !tbaa !79, !noalias !88
  %1105 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1104, i32 0, i32 2
  store %"class.std::basic_string"* %1105, %"class.std::basic_string"** %205, align 4, !tbaa !74, !alias.scope !88
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %202) #14, !noalias !88
  %1106 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1107 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@V?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z"(%"class.std::vector.37"* %1106, %class.Ptr.55* nonnull dereferenceable(4) %63) #14
  %1108 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %206) #14
  %1109 = load i32, i32* %118, align 4, !tbaa !19
  %1110 = add i32 %1109, %376
  store i32 %1110, i32* %207, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %209, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %210, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %211, align 4, !tbaa !39
  %1111 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1108, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %64) #14
  %1112 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %209, align 4, !tbaa !23
  %1113 = icmp eq %"struct.ast::ASTNodeInfo"* %1112, null
  br i1 %1113, label %1153, label %1114

; <label>:1114:                                   ; preds = %1101
  %1115 = ptrtoint %"struct.ast::ASTNodeInfo"* %1112 to i32
  %1116 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %210, align 4, !tbaa !23
  %1117 = icmp eq %"struct.ast::ASTNodeInfo"* %1112, %1116
  br i1 %1117, label %1126, label %1118

; <label>:1118:                                   ; preds = %1114
  br label %1119

; <label>:1119:                                   ; preds = %1119, %1118
  %1120 = phi %"struct.ast::ASTNodeInfo"* [ %1122, %1119 ], [ %1112, %1118 ]
  %1121 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1120, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1121) #14
  %1122 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1120, i32 1
  %1123 = icmp eq %"struct.ast::ASTNodeInfo"* %1122, %1116
  br i1 %1123, label %1124, label %1119

; <label>:1124:                                   ; preds = %1119
  %1125 = load i32, i32* %213, align 4, !tbaa !23
  br label %1126

; <label>:1126:                                   ; preds = %1124, %1114
  %1127 = phi i32 [ %1125, %1124 ], [ %1115, %1114 ]
  %1128 = load i32, i32* %212, align 4, !tbaa !23
  %1129 = sub i32 %1128, %1127
  %1130 = ashr exact i32 %1129, 4
  %1131 = icmp ugt i32 %1130, 268435455
  br i1 %1131, label %1148, label %1132

; <label>:1132:                                   ; preds = %1126
  %1133 = icmp ugt i32 %1129, 4095
  br i1 %1133, label %1134, label %1149

; <label>:1134:                                   ; preds = %1132
  %1135 = icmp ult i32 %1129, -35
  %1136 = and i32 %1127, 31
  %1137 = icmp eq i32 %1136, 0
  %1138 = and i1 %1137, %1135
  br i1 %1138, label %1139, label %1148

; <label>:1139:                                   ; preds = %1134
  %1140 = add i32 %1129, 35
  %1141 = add i32 %1127, -4
  %1142 = inttoptr i32 %1141 to i32*
  %1143 = load i32, i32* %1142, align 4, !tbaa !24
  %1144 = icmp uge i32 %1143, %1127
  %1145 = sub i32 %1141, %1143
  %1146 = icmp ugt i32 %1145, 31
  %1147 = or i1 %1144, %1146
  br i1 %1147, label %1148, label %1149

; <label>:1148:                                   ; preds = %1139, %1134, %1126
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1149:                                   ; preds = %1139, %1132
  %1150 = phi i32 [ %1127, %1132 ], [ %1143, %1139 ]
  %1151 = phi i32 [ %1129, %1132 ], [ %1140, %1139 ]
  %1152 = inttoptr i32 %1150 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1152, i32 %1151) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %209, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %210, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %211, align 4, !tbaa !23
  br label %1153

; <label>:1153:                                   ; preds = %1149, %1101
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %206) #14
  %1154 = load i32, i32* %86, align 4, !tbaa !26
  %1155 = add i32 %1154, 1
  store i32 %1155, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %201) #14
  %1156 = load i32, i32* %198, align 4, !tbaa !81
  %1157 = icmp ugt i32 %1156, 15
  br i1 %1157, label %1158, label %1182

; <label>:1158:                                   ; preds = %1153
  %1159 = load i8*, i8** %199, align 4, !tbaa !12
  %1160 = add i32 %1156, 1
  %1161 = icmp ugt i32 %1160, 4095
  br i1 %1161, label %1162, label %1179

; <label>:1162:                                   ; preds = %1158
  %1163 = add i32 %1156, 36
  %1164 = icmp ugt i32 %1160, -36
  br i1 %1164, label %1178, label %1165

; <label>:1165:                                   ; preds = %1162
  %1166 = ptrtoint i8* %1159 to i32
  %1167 = and i32 %1166, 31
  %1168 = icmp eq i32 %1167, 0
  br i1 %1168, label %1169, label %1178

; <label>:1169:                                   ; preds = %1165
  %1170 = add i32 %1166, -4
  %1171 = inttoptr i32 %1170 to i32*
  %1172 = load i32, i32* %1171, align 4, !tbaa !24
  %1173 = icmp ult i32 %1172, %1166
  br i1 %1173, label %1174, label %1178

; <label>:1174:                                   ; preds = %1169
  %1175 = sub i32 %1170, %1172
  %1176 = icmp ugt i32 %1175, 31
  %1177 = inttoptr i32 %1172 to i8*
  br i1 %1176, label %1178, label %1179

; <label>:1178:                                   ; preds = %1174, %1169, %1165, %1162
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1179:                                   ; preds = %1174, %1158
  %1180 = phi i8* [ %1177, %1174 ], [ %1159, %1158 ]
  %1181 = phi i32 [ %1163, %1174 ], [ %1160, %1158 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1180, i32 %1181) #14
  br label %1182

; <label>:1182:                                   ; preds = %1179, %1153
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %191) #14
  br label %2083

; <label>:1183:                                   ; preds = %1215, %1099
  %1184 = phi i32 [ %1094, %1099 ], [ %1217, %1215 ]
  %1185 = phi i8* [ %1096, %1099 ], [ %1216, %1215 ]
  %1186 = phi i32 [ %1097, %1099 ], [ %1223, %1215 ]
  %1187 = phi i1 [ %1095, %1099 ], [ %1221, %1215 ]
  %1188 = phi i8* [ %1100, %1099 ], [ %1220, %1215 ]
  %1189 = ptrtoint i8* %1188 to i32
  %1190 = load i8, i8* %1188, align 1, !tbaa !12
  %1191 = icmp eq i8 %1190, 92
  br i1 %1191, label %1192, label %1215

; <label>:1192:                                   ; preds = %1183
  %1193 = select i1 %1187, i8* %1185, i8* %191
  %1194 = ptrtoint i8* %1193 to i32
  %1195 = sub i32 %1189, %1194
  %1196 = icmp ult i32 %1186, %1195
  br i1 %1196, label %1197, label %1198

; <label>:1197:                                   ; preds = %1192
  call void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() #12, !noalias !91
  unreachable

; <label>:1198:                                   ; preds = %1192
  %1199 = icmp ne i32 %1186, %1195
  %1200 = zext i1 %1199 to i32
  %1201 = sub i32 %1186, %1200
  store i32 %1201, i32* %200, align 4, !tbaa !83, !noalias !91
  %1202 = sub i32 1, %1195
  %1203 = add i32 %1202, %1201
  %1204 = getelementptr inbounds i8, i8* %1188, i32 %1200
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1188, i8* %1204, i32 %1203, i32 1, i1 false) #14, !noalias !91
  %1205 = load i32, i32* %198, align 4, !tbaa !81, !noalias !94
  %1206 = icmp ugt i32 %1205, 15
  %1207 = load i8*, i8** %199, align 4
  %1208 = select i1 %1206, i8* %1207, i8* %191
  %1209 = getelementptr inbounds i8, i8* %1208, i32 %1195
  %1210 = ptrtoint i8* %1209 to i32
  %1211 = load i8, i8* %1209, align 1, !tbaa !12
  switch i8 %1211, label %1212 [
    i8 92, label %1215
    i8 34, label %1215
  ]

; <label>:1212:                                   ; preds = %1198
  call void @_wassert(i16* getelementptr inbounds ([26 x i16], [26 x i16]* @"\01??_C@_1DE@CNDHOMIC@?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?2?$AA?2?$AA?8?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CK?$AAi?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA?8?$AA?$CC?$AA?8?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 372) #14
  %1213 = load i32, i32* %198, align 4, !tbaa !81, !noalias !85
  %1214 = load i8*, i8** %199, align 4
  br label %1215

; <label>:1215:                                   ; preds = %1212, %1198, %1198, %1183
  %1216 = phi i8* [ %1207, %1198 ], [ %1214, %1212 ], [ %1185, %1183 ], [ %1207, %1198 ]
  %1217 = phi i32 [ %1205, %1198 ], [ %1213, %1212 ], [ %1184, %1183 ], [ %1205, %1198 ]
  %1218 = phi i32 [ %1210, %1198 ], [ %1210, %1212 ], [ %1189, %1183 ], [ %1210, %1198 ]
  %1219 = inttoptr i32 %1218 to i8*
  %1220 = getelementptr inbounds i8, i8* %1219, i32 1
  %1221 = icmp ugt i32 %1217, 15
  %1222 = select i1 %1221, i8* %1216, i8* %191
  %1223 = load i32, i32* %200, align 4, !tbaa !83, !noalias !85
  %1224 = getelementptr inbounds i8, i8* %1222, i32 %1223
  %1225 = icmp eq i8* %1220, %1224
  br i1 %1225, label %1101, label %1183

; <label>:1226:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %215) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %216, align 4, !tbaa !74
  %1227 = sub nsw i32 %379, %376
  %1228 = icmp sgt i32 %1227, 1
  br i1 %1228, label %1230, label %1229

; <label>:1229:                                   ; preds = %1226
  call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@EOKDBJGG@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 386) #14
  br label %1230

; <label>:1230:                                   ; preds = %1229, %1226
  %1231 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %217) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %218) #14
  %1232 = load i16*, i16** %108, align 4, !tbaa !25
  %1233 = getelementptr inbounds i16, i16* %1232, i32 %379
  %1234 = getelementptr inbounds i16, i16* %1232, i32 %376
  %1235 = getelementptr inbounds i16, i16* %1234, i32 1
  store i64 0, i64* %221, align 4
  store i32 7, i32* %220, align 4, !tbaa !54
  store i16 0, i16* %222, align 4, !tbaa !56
  %1236 = icmp eq i16* %1235, %1233
  br i1 %1236, label %1249, label %1237

; <label>:1237:                                   ; preds = %1230
  %1238 = ptrtoint i16* %1233 to i32
  %1239 = ptrtoint i16* %1235 to i32
  %1240 = sub i32 %1238, %1239
  %1241 = ashr exact i32 %1240, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %239) #14
  %1242 = icmp ugt i32 %1241, 7
  br i1 %1242, label %1246, label %1243

; <label>:1243:                                   ; preds = %1237
  store i32 %1241, i32* %219, align 4, !tbaa !58
  %1244 = bitcast i16* %1235 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %218, i8* %1244, i32 %1240, i32 2, i1 false) #14
  %1245 = getelementptr inbounds i16, i16* %222, i32 %1241
  store i16 0, i16* %1245, align 2, !tbaa !56
  br label %1248

; <label>:1246:                                   ; preds = %1237
  %1247 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %67, i32 %1241, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i16* %1235) #14
  br label %1248

; <label>:1248:                                   ; preds = %1246, %1243
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %239) #14
  br label %1249

; <label>:1249:                                   ; preds = %1248, %1230
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %66, %"class.std::basic_string.101"* nonnull dereferenceable(24) %67) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %223) #14, !noalias !97
  %1250 = getelementptr inbounds %class.Interner, %class.Interner* %1231, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %224) #14, !noalias !97
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1250, %"struct.std::pair"* nonnull sret %14, %"class.std::basic_string"* nonnull dereferenceable(24) %66, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13) #14, !noalias !97
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %224) #14, !noalias !97
  %1251 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %225, align 4, !tbaa !79, !noalias !97
  %1252 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1251, i32 0, i32 2
  %1253 = ptrtoint %"class.std::basic_string"* %1252 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %223) #14, !noalias !97
  store i32 %1253, i32* %226, align 4, !tbaa !23
  %1254 = load i32, i32* %227, align 4, !tbaa !81
  %1255 = icmp ugt i32 %1254, 15
  br i1 %1255, label %1256, label %1280

; <label>:1256:                                   ; preds = %1249
  %1257 = load i8*, i8** %228, align 4, !tbaa !12
  %1258 = add i32 %1254, 1
  %1259 = icmp ugt i32 %1258, 4095
  br i1 %1259, label %1260, label %1277

; <label>:1260:                                   ; preds = %1256
  %1261 = add i32 %1254, 36
  %1262 = icmp ugt i32 %1258, -36
  br i1 %1262, label %1276, label %1263

; <label>:1263:                                   ; preds = %1260
  %1264 = ptrtoint i8* %1257 to i32
  %1265 = and i32 %1264, 31
  %1266 = icmp eq i32 %1265, 0
  br i1 %1266, label %1267, label %1276

; <label>:1267:                                   ; preds = %1263
  %1268 = add i32 %1264, -4
  %1269 = inttoptr i32 %1268 to i32*
  %1270 = load i32, i32* %1269, align 4, !tbaa !24
  %1271 = icmp ult i32 %1270, %1264
  br i1 %1271, label %1272, label %1276

; <label>:1272:                                   ; preds = %1267
  %1273 = sub i32 %1268, %1270
  %1274 = icmp ugt i32 %1273, 31
  %1275 = inttoptr i32 %1270 to i8*
  br i1 %1274, label %1276, label %1277

; <label>:1276:                                   ; preds = %1272, %1267, %1263, %1260
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1277:                                   ; preds = %1272, %1256
  %1278 = phi i8* [ %1275, %1272 ], [ %1257, %1256 ]
  %1279 = phi i32 [ %1261, %1272 ], [ %1258, %1256 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1278, i32 %1279) #14
  br label %1280

; <label>:1280:                                   ; preds = %1277, %1249
  store i32 0, i32* %229, align 4, !tbaa !83
  store i32 15, i32* %227, align 4, !tbaa !81
  store i8 0, i8* %217, align 4, !tbaa !12
  %1281 = load i32, i32* %220, align 4, !tbaa !54
  %1282 = icmp ugt i32 %1281, 7
  br i1 %1282, label %1283, label %1311

; <label>:1283:                                   ; preds = %1280
  %1284 = load i16*, i16** %230, align 4, !tbaa !12
  %1285 = add i32 %1281, 1
  %1286 = icmp slt i32 %1285, 0
  br i1 %1286, label %1307, label %1287

; <label>:1287:                                   ; preds = %1283
  %1288 = bitcast i16* %1284 to i8*
  %1289 = shl i32 %1285, 1
  %1290 = icmp ugt i32 %1289, 4095
  br i1 %1290, label %1291, label %1308

; <label>:1291:                                   ; preds = %1287
  %1292 = add i32 %1289, 35
  %1293 = icmp ugt i32 %1289, -36
  br i1 %1293, label %1307, label %1294

; <label>:1294:                                   ; preds = %1291
  %1295 = ptrtoint i16* %1284 to i32
  %1296 = and i32 %1295, 31
  %1297 = icmp eq i32 %1296, 0
  br i1 %1297, label %1298, label %1307

; <label>:1298:                                   ; preds = %1294
  %1299 = add i32 %1295, -4
  %1300 = inttoptr i32 %1299 to i32*
  %1301 = load i32, i32* %1300, align 4, !tbaa !24
  %1302 = icmp ult i32 %1301, %1295
  br i1 %1302, label %1303, label %1307

; <label>:1303:                                   ; preds = %1298
  %1304 = sub i32 %1299, %1301
  %1305 = icmp ugt i32 %1304, 31
  %1306 = inttoptr i32 %1301 to i8*
  br i1 %1305, label %1307, label %1308

; <label>:1307:                                   ; preds = %1303, %1298, %1294, %1291, %1283
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1308:                                   ; preds = %1303, %1287
  %1309 = phi i8* [ %1306, %1303 ], [ %1288, %1287 ]
  %1310 = phi i32 [ %1292, %1303 ], [ %1289, %1287 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1309, i32 %1310) #14
  br label %1311

; <label>:1311:                                   ; preds = %1308, %1280
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %218) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %217) #14
  %1312 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1313 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameRead@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameRead@ast@@@Z"(%"class.std::vector.37"* %1312, %"struct.ast::Label"* nonnull dereferenceable(4) %65) #14
  %1314 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %231) #14
  %1315 = load i32, i32* %118, align 4, !tbaa !19
  %1316 = add i32 %1315, %376
  store i32 %1316, i32* %232, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %234, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %235, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %236, align 4, !tbaa !39
  %1317 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1314, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %68) #14
  %1318 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %234, align 4, !tbaa !23
  %1319 = icmp eq %"struct.ast::ASTNodeInfo"* %1318, null
  br i1 %1319, label %1359, label %1320

; <label>:1320:                                   ; preds = %1311
  %1321 = ptrtoint %"struct.ast::ASTNodeInfo"* %1318 to i32
  %1322 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %235, align 4, !tbaa !23
  %1323 = icmp eq %"struct.ast::ASTNodeInfo"* %1318, %1322
  br i1 %1323, label %1332, label %1324

; <label>:1324:                                   ; preds = %1320
  br label %1325

; <label>:1325:                                   ; preds = %1325, %1324
  %1326 = phi %"struct.ast::ASTNodeInfo"* [ %1328, %1325 ], [ %1318, %1324 ]
  %1327 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1326, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1327) #14
  %1328 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1326, i32 1
  %1329 = icmp eq %"struct.ast::ASTNodeInfo"* %1328, %1322
  br i1 %1329, label %1330, label %1325

; <label>:1330:                                   ; preds = %1325
  %1331 = load i32, i32* %238, align 4, !tbaa !23
  br label %1332

; <label>:1332:                                   ; preds = %1330, %1320
  %1333 = phi i32 [ %1331, %1330 ], [ %1321, %1320 ]
  %1334 = load i32, i32* %237, align 4, !tbaa !23
  %1335 = sub i32 %1334, %1333
  %1336 = ashr exact i32 %1335, 4
  %1337 = icmp ugt i32 %1336, 268435455
  br i1 %1337, label %1354, label %1338

; <label>:1338:                                   ; preds = %1332
  %1339 = icmp ugt i32 %1335, 4095
  br i1 %1339, label %1340, label %1355

; <label>:1340:                                   ; preds = %1338
  %1341 = icmp ult i32 %1335, -35
  %1342 = and i32 %1333, 31
  %1343 = icmp eq i32 %1342, 0
  %1344 = and i1 %1343, %1341
  br i1 %1344, label %1345, label %1354

; <label>:1345:                                   ; preds = %1340
  %1346 = add i32 %1335, 35
  %1347 = add i32 %1333, -4
  %1348 = inttoptr i32 %1347 to i32*
  %1349 = load i32, i32* %1348, align 4, !tbaa !24
  %1350 = icmp uge i32 %1349, %1333
  %1351 = sub i32 %1347, %1349
  %1352 = icmp ugt i32 %1351, 31
  %1353 = or i1 %1350, %1352
  br i1 %1353, label %1354, label %1355

; <label>:1354:                                   ; preds = %1345, %1340, %1332
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1355:                                   ; preds = %1345, %1338
  %1356 = phi i32 [ %1333, %1338 ], [ %1349, %1345 ]
  %1357 = phi i32 [ %1335, %1338 ], [ %1346, %1345 ]
  %1358 = inttoptr i32 %1356 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1358, i32 %1357) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %234, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %235, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %236, align 4, !tbaa !23
  br label %1359

; <label>:1359:                                   ; preds = %1355, %1311
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %231) #14
  %1360 = load i32, i32* %86, align 4, !tbaa !26
  %1361 = add i32 %1360, 1
  store i32 %1361, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %215) #14
  br label %2083

; <label>:1362:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %240) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %241, align 4, !tbaa !74
  %1363 = sub nsw i32 %379, %376
  %1364 = icmp sgt i32 %1363, 1
  br i1 %1364, label %1366, label %1365

; <label>:1365:                                   ; preds = %1362
  call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@EOKDBJGG@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 397) #14
  br label %1366

; <label>:1366:                                   ; preds = %1365, %1362
  %1367 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %242) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %243) #14
  %1368 = load i16*, i16** %108, align 4, !tbaa !25
  %1369 = getelementptr inbounds i16, i16* %1368, i32 %379
  %1370 = getelementptr inbounds i16, i16* %1368, i32 %376
  %1371 = getelementptr inbounds i16, i16* %1370, i32 1
  store i64 0, i64* %246, align 4
  store i32 7, i32* %245, align 4, !tbaa !54
  store i16 0, i16* %247, align 4, !tbaa !56
  %1372 = icmp eq i16* %1371, %1369
  br i1 %1372, label %1385, label %1373

; <label>:1373:                                   ; preds = %1366
  %1374 = ptrtoint i16* %1369 to i32
  %1375 = ptrtoint i16* %1371 to i32
  %1376 = sub i32 %1374, %1375
  %1377 = ashr exact i32 %1376, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %264) #14
  %1378 = icmp ugt i32 %1377, 7
  br i1 %1378, label %1382, label %1379

; <label>:1379:                                   ; preds = %1373
  store i32 %1377, i32* %244, align 4, !tbaa !58
  %1380 = bitcast i16* %1371 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %243, i8* %1380, i32 %1376, i32 2, i1 false) #14
  %1381 = getelementptr inbounds i16, i16* %247, i32 %1377
  store i16 0, i16* %1381, align 2, !tbaa !56
  br label %1384

; <label>:1382:                                   ; preds = %1373
  %1383 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %71, i32 %1377, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i16* %1371) #14
  br label %1384

; <label>:1384:                                   ; preds = %1382, %1379
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %264) #14
  br label %1385

; <label>:1385:                                   ; preds = %1384, %1366
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %70, %"class.std::basic_string.101"* nonnull dereferenceable(24) %71) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %248) #14, !noalias !100
  %1386 = getelementptr inbounds %class.Interner, %class.Interner* %1367, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %249) #14, !noalias !100
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1386, %"struct.std::pair"* nonnull sret %11, %"class.std::basic_string"* nonnull dereferenceable(24) %70, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10) #14, !noalias !100
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %249) #14, !noalias !100
  %1387 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %250, align 4, !tbaa !79, !noalias !100
  %1388 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1387, i32 0, i32 2
  %1389 = ptrtoint %"class.std::basic_string"* %1388 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %248) #14, !noalias !100
  store i32 %1389, i32* %251, align 4, !tbaa !23
  %1390 = load i32, i32* %252, align 4, !tbaa !81
  %1391 = icmp ugt i32 %1390, 15
  br i1 %1391, label %1392, label %1416

; <label>:1392:                                   ; preds = %1385
  %1393 = load i8*, i8** %253, align 4, !tbaa !12
  %1394 = add i32 %1390, 1
  %1395 = icmp ugt i32 %1394, 4095
  br i1 %1395, label %1396, label %1413

; <label>:1396:                                   ; preds = %1392
  %1397 = add i32 %1390, 36
  %1398 = icmp ugt i32 %1394, -36
  br i1 %1398, label %1412, label %1399

; <label>:1399:                                   ; preds = %1396
  %1400 = ptrtoint i8* %1393 to i32
  %1401 = and i32 %1400, 31
  %1402 = icmp eq i32 %1401, 0
  br i1 %1402, label %1403, label %1412

; <label>:1403:                                   ; preds = %1399
  %1404 = add i32 %1400, -4
  %1405 = inttoptr i32 %1404 to i32*
  %1406 = load i32, i32* %1405, align 4, !tbaa !24
  %1407 = icmp ult i32 %1406, %1400
  br i1 %1407, label %1408, label %1412

; <label>:1408:                                   ; preds = %1403
  %1409 = sub i32 %1404, %1406
  %1410 = icmp ugt i32 %1409, 31
  %1411 = inttoptr i32 %1406 to i8*
  br i1 %1410, label %1412, label %1413

; <label>:1412:                                   ; preds = %1408, %1403, %1399, %1396
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1413:                                   ; preds = %1408, %1392
  %1414 = phi i8* [ %1411, %1408 ], [ %1393, %1392 ]
  %1415 = phi i32 [ %1397, %1408 ], [ %1394, %1392 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1414, i32 %1415) #14
  br label %1416

; <label>:1416:                                   ; preds = %1413, %1385
  store i32 0, i32* %254, align 4, !tbaa !83
  store i32 15, i32* %252, align 4, !tbaa !81
  store i8 0, i8* %242, align 4, !tbaa !12
  %1417 = load i32, i32* %245, align 4, !tbaa !54
  %1418 = icmp ugt i32 %1417, 7
  br i1 %1418, label %1419, label %1447

; <label>:1419:                                   ; preds = %1416
  %1420 = load i16*, i16** %255, align 4, !tbaa !12
  %1421 = add i32 %1417, 1
  %1422 = icmp slt i32 %1421, 0
  br i1 %1422, label %1443, label %1423

; <label>:1423:                                   ; preds = %1419
  %1424 = bitcast i16* %1420 to i8*
  %1425 = shl i32 %1421, 1
  %1426 = icmp ugt i32 %1425, 4095
  br i1 %1426, label %1427, label %1444

; <label>:1427:                                   ; preds = %1423
  %1428 = add i32 %1425, 35
  %1429 = icmp ugt i32 %1425, -36
  br i1 %1429, label %1443, label %1430

; <label>:1430:                                   ; preds = %1427
  %1431 = ptrtoint i16* %1420 to i32
  %1432 = and i32 %1431, 31
  %1433 = icmp eq i32 %1432, 0
  br i1 %1433, label %1434, label %1443

; <label>:1434:                                   ; preds = %1430
  %1435 = add i32 %1431, -4
  %1436 = inttoptr i32 %1435 to i32*
  %1437 = load i32, i32* %1436, align 4, !tbaa !24
  %1438 = icmp ult i32 %1437, %1431
  br i1 %1438, label %1439, label %1443

; <label>:1439:                                   ; preds = %1434
  %1440 = sub i32 %1435, %1437
  %1441 = icmp ugt i32 %1440, 31
  %1442 = inttoptr i32 %1437 to i8*
  br i1 %1441, label %1443, label %1444

; <label>:1443:                                   ; preds = %1439, %1434, %1430, %1427, %1419
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1444:                                   ; preds = %1439, %1423
  %1445 = phi i8* [ %1442, %1439 ], [ %1424, %1423 ]
  %1446 = phi i32 [ %1428, %1439 ], [ %1425, %1423 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1445, i32 %1446) #14
  br label %1447

; <label>:1447:                                   ; preds = %1444, %1416
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %243) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %242) #14
  %1448 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1449 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameWrite@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWrite@ast@@@Z"(%"class.std::vector.37"* %1448, %"struct.ast::Label"* nonnull dereferenceable(4) %69) #14
  %1450 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %256) #14
  %1451 = load i32, i32* %118, align 4, !tbaa !19
  %1452 = add i32 %1451, %376
  store i32 %1452, i32* %257, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %259, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %260, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %261, align 4, !tbaa !39
  %1453 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1450, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %72) #14
  %1454 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %259, align 4, !tbaa !23
  %1455 = icmp eq %"struct.ast::ASTNodeInfo"* %1454, null
  br i1 %1455, label %1495, label %1456

; <label>:1456:                                   ; preds = %1447
  %1457 = ptrtoint %"struct.ast::ASTNodeInfo"* %1454 to i32
  %1458 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %260, align 4, !tbaa !23
  %1459 = icmp eq %"struct.ast::ASTNodeInfo"* %1454, %1458
  br i1 %1459, label %1468, label %1460

; <label>:1460:                                   ; preds = %1456
  br label %1461

; <label>:1461:                                   ; preds = %1461, %1460
  %1462 = phi %"struct.ast::ASTNodeInfo"* [ %1464, %1461 ], [ %1454, %1460 ]
  %1463 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1462, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1463) #14
  %1464 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1462, i32 1
  %1465 = icmp eq %"struct.ast::ASTNodeInfo"* %1464, %1458
  br i1 %1465, label %1466, label %1461

; <label>:1466:                                   ; preds = %1461
  %1467 = load i32, i32* %263, align 4, !tbaa !23
  br label %1468

; <label>:1468:                                   ; preds = %1466, %1456
  %1469 = phi i32 [ %1467, %1466 ], [ %1457, %1456 ]
  %1470 = load i32, i32* %262, align 4, !tbaa !23
  %1471 = sub i32 %1470, %1469
  %1472 = ashr exact i32 %1471, 4
  %1473 = icmp ugt i32 %1472, 268435455
  br i1 %1473, label %1490, label %1474

; <label>:1474:                                   ; preds = %1468
  %1475 = icmp ugt i32 %1471, 4095
  br i1 %1475, label %1476, label %1491

; <label>:1476:                                   ; preds = %1474
  %1477 = icmp ult i32 %1471, -35
  %1478 = and i32 %1469, 31
  %1479 = icmp eq i32 %1478, 0
  %1480 = and i1 %1479, %1477
  br i1 %1480, label %1481, label %1490

; <label>:1481:                                   ; preds = %1476
  %1482 = add i32 %1471, 35
  %1483 = add i32 %1469, -4
  %1484 = inttoptr i32 %1483 to i32*
  %1485 = load i32, i32* %1484, align 4, !tbaa !24
  %1486 = icmp uge i32 %1485, %1469
  %1487 = sub i32 %1483, %1485
  %1488 = icmp ugt i32 %1487, 31
  %1489 = or i1 %1486, %1488
  br i1 %1489, label %1490, label %1491

; <label>:1490:                                   ; preds = %1481, %1476, %1468
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1491:                                   ; preds = %1481, %1474
  %1492 = phi i32 [ %1469, %1474 ], [ %1485, %1481 ]
  %1493 = phi i32 [ %1471, %1474 ], [ %1482, %1481 ]
  %1494 = inttoptr i32 %1492 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1494, i32 %1493) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %259, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %260, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %261, align 4, !tbaa !23
  br label %1495

; <label>:1495:                                   ; preds = %1491, %1447
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %256) #14
  %1496 = load i32, i32* %86, align 4, !tbaa !26
  %1497 = add i32 %1496, 1
  store i32 %1497, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %240) #14
  br label %2083

; <label>:1498:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %265) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %266, align 4, !tbaa !74
  %1499 = sub nsw i32 %379, %376
  %1500 = icmp sgt i32 %1499, 1
  br i1 %1500, label %1502, label %1501

; <label>:1501:                                   ; preds = %1498
  call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@EOKDBJGG@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 408) #14
  br label %1502

; <label>:1502:                                   ; preds = %1501, %1498
  %1503 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %267) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %268) #14
  %1504 = load i16*, i16** %108, align 4, !tbaa !25
  %1505 = getelementptr inbounds i16, i16* %1504, i32 %379
  %1506 = getelementptr inbounds i16, i16* %1504, i32 %376
  %1507 = getelementptr inbounds i16, i16* %1506, i32 1
  store i64 0, i64* %271, align 4
  store i32 7, i32* %270, align 4, !tbaa !54
  store i16 0, i16* %272, align 4, !tbaa !56
  %1508 = icmp eq i16* %1507, %1505
  br i1 %1508, label %1521, label %1509

; <label>:1509:                                   ; preds = %1502
  %1510 = ptrtoint i16* %1505 to i32
  %1511 = ptrtoint i16* %1507 to i32
  %1512 = sub i32 %1510, %1511
  %1513 = ashr exact i32 %1512, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %289) #14
  %1514 = icmp ugt i32 %1513, 7
  br i1 %1514, label %1518, label %1515

; <label>:1515:                                   ; preds = %1509
  store i32 %1513, i32* %269, align 4, !tbaa !58
  %1516 = bitcast i16* %1507 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %268, i8* %1516, i32 %1512, i32 2, i1 false) #14
  %1517 = getelementptr inbounds i16, i16* %272, i32 %1513
  store i16 0, i16* %1517, align 2, !tbaa !56
  br label %1520

; <label>:1518:                                   ; preds = %1509
  %1519 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %75, i32 %1513, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i16* %1507) #14
  br label %1520

; <label>:1520:                                   ; preds = %1518, %1515
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %289) #14
  br label %1521

; <label>:1521:                                   ; preds = %1520, %1502
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %74, %"class.std::basic_string.101"* nonnull dereferenceable(24) %75) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %273) #14, !noalias !103
  %1522 = getelementptr inbounds %class.Interner, %class.Interner* %1503, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %274) #14, !noalias !103
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1522, %"struct.std::pair"* nonnull sret %8, %"class.std::basic_string"* nonnull dereferenceable(24) %74, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7) #14, !noalias !103
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %274) #14, !noalias !103
  %1523 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %275, align 4, !tbaa !79, !noalias !103
  %1524 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1523, i32 0, i32 2
  %1525 = ptrtoint %"class.std::basic_string"* %1524 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %273) #14, !noalias !103
  store i32 %1525, i32* %276, align 4, !tbaa !23
  %1526 = load i32, i32* %277, align 4, !tbaa !81
  %1527 = icmp ugt i32 %1526, 15
  br i1 %1527, label %1528, label %1552

; <label>:1528:                                   ; preds = %1521
  %1529 = load i8*, i8** %278, align 4, !tbaa !12
  %1530 = add i32 %1526, 1
  %1531 = icmp ugt i32 %1530, 4095
  br i1 %1531, label %1532, label %1549

; <label>:1532:                                   ; preds = %1528
  %1533 = add i32 %1526, 36
  %1534 = icmp ugt i32 %1530, -36
  br i1 %1534, label %1548, label %1535

; <label>:1535:                                   ; preds = %1532
  %1536 = ptrtoint i8* %1529 to i32
  %1537 = and i32 %1536, 31
  %1538 = icmp eq i32 %1537, 0
  br i1 %1538, label %1539, label %1548

; <label>:1539:                                   ; preds = %1535
  %1540 = add i32 %1536, -4
  %1541 = inttoptr i32 %1540 to i32*
  %1542 = load i32, i32* %1541, align 4, !tbaa !24
  %1543 = icmp ult i32 %1542, %1536
  br i1 %1543, label %1544, label %1548

; <label>:1544:                                   ; preds = %1539
  %1545 = sub i32 %1540, %1542
  %1546 = icmp ugt i32 %1545, 31
  %1547 = inttoptr i32 %1542 to i8*
  br i1 %1546, label %1548, label %1549

; <label>:1548:                                   ; preds = %1544, %1539, %1535, %1532
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1549:                                   ; preds = %1544, %1528
  %1550 = phi i8* [ %1547, %1544 ], [ %1529, %1528 ]
  %1551 = phi i32 [ %1533, %1544 ], [ %1530, %1528 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1550, i32 %1551) #14
  br label %1552

; <label>:1552:                                   ; preds = %1549, %1521
  store i32 0, i32* %279, align 4, !tbaa !83
  store i32 15, i32* %277, align 4, !tbaa !81
  store i8 0, i8* %267, align 4, !tbaa !12
  %1553 = load i32, i32* %270, align 4, !tbaa !54
  %1554 = icmp ugt i32 %1553, 7
  br i1 %1554, label %1555, label %1583

; <label>:1555:                                   ; preds = %1552
  %1556 = load i16*, i16** %280, align 4, !tbaa !12
  %1557 = add i32 %1553, 1
  %1558 = icmp slt i32 %1557, 0
  br i1 %1558, label %1579, label %1559

; <label>:1559:                                   ; preds = %1555
  %1560 = bitcast i16* %1556 to i8*
  %1561 = shl i32 %1557, 1
  %1562 = icmp ugt i32 %1561, 4095
  br i1 %1562, label %1563, label %1580

; <label>:1563:                                   ; preds = %1559
  %1564 = add i32 %1561, 35
  %1565 = icmp ugt i32 %1561, -36
  br i1 %1565, label %1579, label %1566

; <label>:1566:                                   ; preds = %1563
  %1567 = ptrtoint i16* %1556 to i32
  %1568 = and i32 %1567, 31
  %1569 = icmp eq i32 %1568, 0
  br i1 %1569, label %1570, label %1579

; <label>:1570:                                   ; preds = %1566
  %1571 = add i32 %1567, -4
  %1572 = inttoptr i32 %1571 to i32*
  %1573 = load i32, i32* %1572, align 4, !tbaa !24
  %1574 = icmp ult i32 %1573, %1567
  br i1 %1574, label %1575, label %1579

; <label>:1575:                                   ; preds = %1570
  %1576 = sub i32 %1571, %1573
  %1577 = icmp ugt i32 %1576, 31
  %1578 = inttoptr i32 %1573 to i8*
  br i1 %1577, label %1579, label %1580

; <label>:1579:                                   ; preds = %1575, %1570, %1566, %1563, %1555
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1580:                                   ; preds = %1575, %1559
  %1581 = phi i8* [ %1578, %1575 ], [ %1560, %1559 ]
  %1582 = phi i32 [ %1564, %1575 ], [ %1561, %1559 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1581, i32 %1582) #14
  br label %1583

; <label>:1583:                                   ; preds = %1580, %1552
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %268) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %267) #14
  %1584 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1585 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameMember@ast@@@Z"(%"class.std::vector.37"* %1584, %"struct.ast::Label"* nonnull dereferenceable(4) %73) #14
  %1586 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %281) #14
  %1587 = load i32, i32* %118, align 4, !tbaa !19
  %1588 = add i32 %1587, %376
  store i32 %1588, i32* %282, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %284, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %285, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %286, align 4, !tbaa !39
  %1589 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1586, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %76) #14
  %1590 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %284, align 4, !tbaa !23
  %1591 = icmp eq %"struct.ast::ASTNodeInfo"* %1590, null
  br i1 %1591, label %1631, label %1592

; <label>:1592:                                   ; preds = %1583
  %1593 = ptrtoint %"struct.ast::ASTNodeInfo"* %1590 to i32
  %1594 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %285, align 4, !tbaa !23
  %1595 = icmp eq %"struct.ast::ASTNodeInfo"* %1590, %1594
  br i1 %1595, label %1604, label %1596

; <label>:1596:                                   ; preds = %1592
  br label %1597

; <label>:1597:                                   ; preds = %1597, %1596
  %1598 = phi %"struct.ast::ASTNodeInfo"* [ %1600, %1597 ], [ %1590, %1596 ]
  %1599 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1598, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1599) #14
  %1600 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1598, i32 1
  %1601 = icmp eq %"struct.ast::ASTNodeInfo"* %1600, %1594
  br i1 %1601, label %1602, label %1597

; <label>:1602:                                   ; preds = %1597
  %1603 = load i32, i32* %288, align 4, !tbaa !23
  br label %1604

; <label>:1604:                                   ; preds = %1602, %1592
  %1605 = phi i32 [ %1603, %1602 ], [ %1593, %1592 ]
  %1606 = load i32, i32* %287, align 4, !tbaa !23
  %1607 = sub i32 %1606, %1605
  %1608 = ashr exact i32 %1607, 4
  %1609 = icmp ugt i32 %1608, 268435455
  br i1 %1609, label %1626, label %1610

; <label>:1610:                                   ; preds = %1604
  %1611 = icmp ugt i32 %1607, 4095
  br i1 %1611, label %1612, label %1627

; <label>:1612:                                   ; preds = %1610
  %1613 = icmp ult i32 %1607, -35
  %1614 = and i32 %1605, 31
  %1615 = icmp eq i32 %1614, 0
  %1616 = and i1 %1615, %1613
  br i1 %1616, label %1617, label %1626

; <label>:1617:                                   ; preds = %1612
  %1618 = add i32 %1607, 35
  %1619 = add i32 %1605, -4
  %1620 = inttoptr i32 %1619 to i32*
  %1621 = load i32, i32* %1620, align 4, !tbaa !24
  %1622 = icmp uge i32 %1621, %1605
  %1623 = sub i32 %1619, %1621
  %1624 = icmp ugt i32 %1623, 31
  %1625 = or i1 %1622, %1624
  br i1 %1625, label %1626, label %1627

; <label>:1626:                                   ; preds = %1617, %1612, %1604
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1627:                                   ; preds = %1617, %1610
  %1628 = phi i32 [ %1605, %1610 ], [ %1621, %1617 ]
  %1629 = phi i32 [ %1607, %1610 ], [ %1618, %1617 ]
  %1630 = inttoptr i32 %1628 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1630, i32 %1629) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %284, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %285, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %286, align 4, !tbaa !23
  br label %1631

; <label>:1631:                                   ; preds = %1627, %1583
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %281) #14
  %1632 = load i32, i32* %86, align 4, !tbaa !26
  %1633 = add i32 %1632, 1
  store i32 %1633, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %265) #14
  br label %2083

; <label>:1634:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %290) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %291, align 4, !tbaa !74
  %1635 = sub nsw i32 %379, %376
  %1636 = icmp sgt i32 %1635, 2
  br i1 %1636, label %1638, label %1637

; <label>:1637:                                   ; preds = %1634
  call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@FMBGLGII@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 419) #14
  br label %1638

; <label>:1638:                                   ; preds = %1637, %1634
  %1639 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %292) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %293) #14
  %1640 = load i16*, i16** %108, align 4, !tbaa !25
  %1641 = getelementptr inbounds i16, i16* %1640, i32 %379
  %1642 = getelementptr inbounds i16, i16* %1640, i32 %376
  %1643 = getelementptr inbounds i16, i16* %1642, i32 2
  store i64 0, i64* %296, align 4
  store i32 7, i32* %295, align 4, !tbaa !54
  store i16 0, i16* %297, align 4, !tbaa !56
  %1644 = icmp eq i16* %1643, %1641
  br i1 %1644, label %1657, label %1645

; <label>:1645:                                   ; preds = %1638
  %1646 = ptrtoint i16* %1641 to i32
  %1647 = ptrtoint i16* %1643 to i32
  %1648 = sub i32 %1646, %1647
  %1649 = ashr exact i32 %1648, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %314) #14
  %1650 = icmp ugt i32 %1649, 7
  br i1 %1650, label %1654, label %1651

; <label>:1651:                                   ; preds = %1645
  store i32 %1649, i32* %294, align 4, !tbaa !58
  %1652 = bitcast i16* %1643 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %293, i8* %1652, i32 %1648, i32 2, i1 false) #14
  %1653 = getelementptr inbounds i16, i16* %297, i32 %1649
  store i16 0, i16* %1653, align 2, !tbaa !56
  br label %1656

; <label>:1654:                                   ; preds = %1645
  %1655 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %79, i32 %1649, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i16* %1643) #14
  br label %1656

; <label>:1656:                                   ; preds = %1654, %1651
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %314) #14
  br label %1657

; <label>:1657:                                   ; preds = %1656, %1638
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %78, %"class.std::basic_string.101"* nonnull dereferenceable(24) %79) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %298) #14, !noalias !106
  %1658 = getelementptr inbounds %class.Interner, %class.Interner* %1639, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %299) #14, !noalias !106
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1658, %"struct.std::pair"* nonnull sret %5, %"class.std::basic_string"* nonnull dereferenceable(24) %78, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4) #14, !noalias !106
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %299) #14, !noalias !106
  %1659 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %300, align 4, !tbaa !79, !noalias !106
  %1660 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1659, i32 0, i32 2
  %1661 = ptrtoint %"class.std::basic_string"* %1660 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %298) #14, !noalias !106
  store i32 %1661, i32* %301, align 4, !tbaa !23
  %1662 = load i32, i32* %302, align 4, !tbaa !81
  %1663 = icmp ugt i32 %1662, 15
  br i1 %1663, label %1664, label %1688

; <label>:1664:                                   ; preds = %1657
  %1665 = load i8*, i8** %303, align 4, !tbaa !12
  %1666 = add i32 %1662, 1
  %1667 = icmp ugt i32 %1666, 4095
  br i1 %1667, label %1668, label %1685

; <label>:1668:                                   ; preds = %1664
  %1669 = add i32 %1662, 36
  %1670 = icmp ugt i32 %1666, -36
  br i1 %1670, label %1684, label %1671

; <label>:1671:                                   ; preds = %1668
  %1672 = ptrtoint i8* %1665 to i32
  %1673 = and i32 %1672, 31
  %1674 = icmp eq i32 %1673, 0
  br i1 %1674, label %1675, label %1684

; <label>:1675:                                   ; preds = %1671
  %1676 = add i32 %1672, -4
  %1677 = inttoptr i32 %1676 to i32*
  %1678 = load i32, i32* %1677, align 4, !tbaa !24
  %1679 = icmp ult i32 %1678, %1672
  br i1 %1679, label %1680, label %1684

; <label>:1680:                                   ; preds = %1675
  %1681 = sub i32 %1676, %1678
  %1682 = icmp ugt i32 %1681, 31
  %1683 = inttoptr i32 %1678 to i8*
  br i1 %1682, label %1684, label %1685

; <label>:1684:                                   ; preds = %1680, %1675, %1671, %1668
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1685:                                   ; preds = %1680, %1664
  %1686 = phi i8* [ %1683, %1680 ], [ %1665, %1664 ]
  %1687 = phi i32 [ %1669, %1680 ], [ %1666, %1664 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1686, i32 %1687) #14
  br label %1688

; <label>:1688:                                   ; preds = %1685, %1657
  store i32 0, i32* %304, align 4, !tbaa !83
  store i32 15, i32* %302, align 4, !tbaa !81
  store i8 0, i8* %292, align 4, !tbaa !12
  %1689 = load i32, i32* %295, align 4, !tbaa !54
  %1690 = icmp ugt i32 %1689, 7
  br i1 %1690, label %1691, label %1719

; <label>:1691:                                   ; preds = %1688
  %1692 = load i16*, i16** %305, align 4, !tbaa !12
  %1693 = add i32 %1689, 1
  %1694 = icmp slt i32 %1693, 0
  br i1 %1694, label %1715, label %1695

; <label>:1695:                                   ; preds = %1691
  %1696 = bitcast i16* %1692 to i8*
  %1697 = shl i32 %1693, 1
  %1698 = icmp ugt i32 %1697, 4095
  br i1 %1698, label %1699, label %1716

; <label>:1699:                                   ; preds = %1695
  %1700 = add i32 %1697, 35
  %1701 = icmp ugt i32 %1697, -36
  br i1 %1701, label %1715, label %1702

; <label>:1702:                                   ; preds = %1699
  %1703 = ptrtoint i16* %1692 to i32
  %1704 = and i32 %1703, 31
  %1705 = icmp eq i32 %1704, 0
  br i1 %1705, label %1706, label %1715

; <label>:1706:                                   ; preds = %1702
  %1707 = add i32 %1703, -4
  %1708 = inttoptr i32 %1707 to i32*
  %1709 = load i32, i32* %1708, align 4, !tbaa !24
  %1710 = icmp ult i32 %1709, %1703
  br i1 %1710, label %1711, label %1715

; <label>:1711:                                   ; preds = %1706
  %1712 = sub i32 %1707, %1709
  %1713 = icmp ugt i32 %1712, 31
  %1714 = inttoptr i32 %1709 to i8*
  br i1 %1713, label %1715, label %1716

; <label>:1715:                                   ; preds = %1711, %1706, %1702, %1699, %1691
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1716:                                   ; preds = %1711, %1695
  %1717 = phi i8* [ %1714, %1711 ], [ %1696, %1695 ]
  %1718 = phi i32 [ %1700, %1711 ], [ %1697, %1695 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1717, i32 %1718) #14
  br label %1719

; <label>:1719:                                   ; preds = %1716, %1688
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %293) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %292) #14
  %1720 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1721 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameReadMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameReadMember@ast@@@Z"(%"class.std::vector.37"* %1720, %"struct.ast::Label"* nonnull dereferenceable(4) %77) #14
  %1722 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %306) #14
  %1723 = load i32, i32* %118, align 4, !tbaa !19
  %1724 = add i32 %1723, %376
  store i32 %1724, i32* %307, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %309, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %310, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %311, align 4, !tbaa !39
  %1725 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1722, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %80) #14
  %1726 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %309, align 4, !tbaa !23
  %1727 = icmp eq %"struct.ast::ASTNodeInfo"* %1726, null
  br i1 %1727, label %1767, label %1728

; <label>:1728:                                   ; preds = %1719
  %1729 = ptrtoint %"struct.ast::ASTNodeInfo"* %1726 to i32
  %1730 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %310, align 4, !tbaa !23
  %1731 = icmp eq %"struct.ast::ASTNodeInfo"* %1726, %1730
  br i1 %1731, label %1740, label %1732

; <label>:1732:                                   ; preds = %1728
  br label %1733

; <label>:1733:                                   ; preds = %1733, %1732
  %1734 = phi %"struct.ast::ASTNodeInfo"* [ %1736, %1733 ], [ %1726, %1732 ]
  %1735 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1734, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1735) #14
  %1736 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1734, i32 1
  %1737 = icmp eq %"struct.ast::ASTNodeInfo"* %1736, %1730
  br i1 %1737, label %1738, label %1733

; <label>:1738:                                   ; preds = %1733
  %1739 = load i32, i32* %313, align 4, !tbaa !23
  br label %1740

; <label>:1740:                                   ; preds = %1738, %1728
  %1741 = phi i32 [ %1739, %1738 ], [ %1729, %1728 ]
  %1742 = load i32, i32* %312, align 4, !tbaa !23
  %1743 = sub i32 %1742, %1741
  %1744 = ashr exact i32 %1743, 4
  %1745 = icmp ugt i32 %1744, 268435455
  br i1 %1745, label %1762, label %1746

; <label>:1746:                                   ; preds = %1740
  %1747 = icmp ugt i32 %1743, 4095
  br i1 %1747, label %1748, label %1763

; <label>:1748:                                   ; preds = %1746
  %1749 = icmp ult i32 %1743, -35
  %1750 = and i32 %1741, 31
  %1751 = icmp eq i32 %1750, 0
  %1752 = and i1 %1751, %1749
  br i1 %1752, label %1753, label %1762

; <label>:1753:                                   ; preds = %1748
  %1754 = add i32 %1743, 35
  %1755 = add i32 %1741, -4
  %1756 = inttoptr i32 %1755 to i32*
  %1757 = load i32, i32* %1756, align 4, !tbaa !24
  %1758 = icmp uge i32 %1757, %1741
  %1759 = sub i32 %1755, %1757
  %1760 = icmp ugt i32 %1759, 31
  %1761 = or i1 %1758, %1760
  br i1 %1761, label %1762, label %1763

; <label>:1762:                                   ; preds = %1753, %1748, %1740
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1763:                                   ; preds = %1753, %1746
  %1764 = phi i32 [ %1741, %1746 ], [ %1757, %1753 ]
  %1765 = phi i32 [ %1743, %1746 ], [ %1754, %1753 ]
  %1766 = inttoptr i32 %1764 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1766, i32 %1765) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %309, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %310, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %311, align 4, !tbaa !23
  br label %1767

; <label>:1767:                                   ; preds = %1763, %1719
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %306) #14
  %1768 = load i32, i32* %86, align 4, !tbaa !26
  %1769 = add i32 %1768, 1
  store i32 %1769, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %290) #14
  br label %2083

; <label>:1770:                                   ; preds = %371
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %315) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %316, align 4, !tbaa !74
  %1771 = sub nsw i32 %379, %376
  %1772 = icmp sgt i32 %1771, 2
  br i1 %1772, label %1774, label %1773

; <label>:1773:                                   ; preds = %1770
  call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@FMBGLGII@?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAe?$AAn?$AAd?$AA?5?$AA?9?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?4?$AAb?$AAe?$AAg?$AAi?$AAn?$AA?5?$AA?$DO?$AA?5@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 430) #14
  br label %1774

; <label>:1774:                                   ; preds = %1773, %1770
  %1775 = load %class.Interner*, %class.Interner** %167, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %317) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %318) #14
  %1776 = load i16*, i16** %108, align 4, !tbaa !25
  %1777 = getelementptr inbounds i16, i16* %1776, i32 %379
  %1778 = getelementptr inbounds i16, i16* %1776, i32 %376
  %1779 = getelementptr inbounds i16, i16* %1778, i32 2
  store i64 0, i64* %321, align 4
  store i32 7, i32* %320, align 4, !tbaa !54
  store i16 0, i16* %322, align 4, !tbaa !56
  %1780 = icmp eq i16* %1779, %1777
  br i1 %1780, label %1793, label %1781

; <label>:1781:                                   ; preds = %1774
  %1782 = ptrtoint i16* %1777 to i32
  %1783 = ptrtoint i16* %1779 to i32
  %1784 = sub i32 %1782, %1783
  %1785 = ashr exact i32 %1784, 1
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %339) #14
  %1786 = icmp ugt i32 %1785, 7
  br i1 %1786, label %1790, label %1787

; <label>:1787:                                   ; preds = %1781
  store i32 %1785, i32* %319, align 4, !tbaa !58
  %1788 = bitcast i16* %1779 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %318, i8* %1788, i32 %1784, i32 2, i1 false) #14
  %1789 = getelementptr inbounds i16, i16* %322, i32 %1785
  store i16 0, i16* %1789, align 2, !tbaa !56
  br label %1792

; <label>:1790:                                   ; preds = %1781
  %1791 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %83, i32 %1785, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %37, i16* %1779) #14
  br label %1792

; <label>:1792:                                   ; preds = %1790, %1787
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %339) #14
  br label %1793

; <label>:1793:                                   ; preds = %1792, %1774
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %82, %"class.std::basic_string.101"* nonnull dereferenceable(24) %83) #14
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %323) #14, !noalias !109
  %1794 = getelementptr inbounds %class.Interner, %class.Interner* %1775, i32 0, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %324) #14, !noalias !109
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %1794, %"struct.std::pair"* nonnull sret %39, %"class.std::basic_string"* nonnull dereferenceable(24) %82, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %38) #14, !noalias !109
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %324) #14, !noalias !109
  %1795 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %325, align 4, !tbaa !79, !noalias !109
  %1796 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %1795, i32 0, i32 2
  %1797 = ptrtoint %"class.std::basic_string"* %1796 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %323) #14, !noalias !109
  store i32 %1797, i32* %326, align 4, !tbaa !23
  %1798 = load i32, i32* %327, align 4, !tbaa !81
  %1799 = icmp ugt i32 %1798, 15
  br i1 %1799, label %1800, label %1824

; <label>:1800:                                   ; preds = %1793
  %1801 = load i8*, i8** %328, align 4, !tbaa !12
  %1802 = add i32 %1798, 1
  %1803 = icmp ugt i32 %1802, 4095
  br i1 %1803, label %1804, label %1821

; <label>:1804:                                   ; preds = %1800
  %1805 = add i32 %1798, 36
  %1806 = icmp ugt i32 %1802, -36
  br i1 %1806, label %1820, label %1807

; <label>:1807:                                   ; preds = %1804
  %1808 = ptrtoint i8* %1801 to i32
  %1809 = and i32 %1808, 31
  %1810 = icmp eq i32 %1809, 0
  br i1 %1810, label %1811, label %1820

; <label>:1811:                                   ; preds = %1807
  %1812 = add i32 %1808, -4
  %1813 = inttoptr i32 %1812 to i32*
  %1814 = load i32, i32* %1813, align 4, !tbaa !24
  %1815 = icmp ult i32 %1814, %1808
  br i1 %1815, label %1816, label %1820

; <label>:1816:                                   ; preds = %1811
  %1817 = sub i32 %1812, %1814
  %1818 = icmp ugt i32 %1817, 31
  %1819 = inttoptr i32 %1814 to i8*
  br i1 %1818, label %1820, label %1821

; <label>:1820:                                   ; preds = %1816, %1811, %1807, %1804
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1821:                                   ; preds = %1816, %1800
  %1822 = phi i8* [ %1819, %1816 ], [ %1801, %1800 ]
  %1823 = phi i32 [ %1805, %1816 ], [ %1802, %1800 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1822, i32 %1823) #14
  br label %1824

; <label>:1824:                                   ; preds = %1821, %1793
  store i32 0, i32* %329, align 4, !tbaa !83
  store i32 15, i32* %327, align 4, !tbaa !81
  store i8 0, i8* %317, align 4, !tbaa !12
  %1825 = load i32, i32* %320, align 4, !tbaa !54
  %1826 = icmp ugt i32 %1825, 7
  br i1 %1826, label %1827, label %1855

; <label>:1827:                                   ; preds = %1824
  %1828 = load i16*, i16** %330, align 4, !tbaa !12
  %1829 = add i32 %1825, 1
  %1830 = icmp slt i32 %1829, 0
  br i1 %1830, label %1851, label %1831

; <label>:1831:                                   ; preds = %1827
  %1832 = bitcast i16* %1828 to i8*
  %1833 = shl i32 %1829, 1
  %1834 = icmp ugt i32 %1833, 4095
  br i1 %1834, label %1835, label %1852

; <label>:1835:                                   ; preds = %1831
  %1836 = add i32 %1833, 35
  %1837 = icmp ugt i32 %1833, -36
  br i1 %1837, label %1851, label %1838

; <label>:1838:                                   ; preds = %1835
  %1839 = ptrtoint i16* %1828 to i32
  %1840 = and i32 %1839, 31
  %1841 = icmp eq i32 %1840, 0
  br i1 %1841, label %1842, label %1851

; <label>:1842:                                   ; preds = %1838
  %1843 = add i32 %1839, -4
  %1844 = inttoptr i32 %1843 to i32*
  %1845 = load i32, i32* %1844, align 4, !tbaa !24
  %1846 = icmp ult i32 %1845, %1839
  br i1 %1846, label %1847, label %1851

; <label>:1847:                                   ; preds = %1842
  %1848 = sub i32 %1843, %1845
  %1849 = icmp ugt i32 %1848, 31
  %1850 = inttoptr i32 %1845 to i8*
  br i1 %1849, label %1851, label %1852

; <label>:1851:                                   ; preds = %1847, %1842, %1838, %1835, %1827
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1852:                                   ; preds = %1847, %1831
  %1853 = phi i8* [ %1850, %1847 ], [ %1832, %1831 ]
  %1854 = phi i32 [ %1836, %1847 ], [ %1833, %1831 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1853, i32 %1854) #14
  br label %1855

; <label>:1855:                                   ; preds = %1852, %1824
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %318) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %317) #14
  %1856 = load %"class.std::vector.37"*, %"class.std::vector.37"** %104, align 4, !tbaa !12
  %1857 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameWriteMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWriteMember@ast@@@Z"(%"class.std::vector.37"* %1856, %"struct.ast::Label"* nonnull dereferenceable(4) %81) #14
  %1858 = load %"class.std::vector.45"*, %"class.std::vector.45"** %105, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %331) #14
  %1859 = load i32, i32* %118, align 4, !tbaa !19
  %1860 = add i32 %1859, %376
  store i32 %1860, i32* %332, align 4, !tbaa !67
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %334, align 4, !tbaa !36
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %335, align 4, !tbaa !38
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %336, align 4, !tbaa !39
  %1861 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %1858, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %84) #14
  %1862 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %334, align 4, !tbaa !23
  %1863 = icmp eq %"struct.ast::ASTNodeInfo"* %1862, null
  br i1 %1863, label %1903, label %1864

; <label>:1864:                                   ; preds = %1855
  %1865 = ptrtoint %"struct.ast::ASTNodeInfo"* %1862 to i32
  %1866 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %335, align 4, !tbaa !23
  %1867 = icmp eq %"struct.ast::ASTNodeInfo"* %1862, %1866
  br i1 %1867, label %1876, label %1868

; <label>:1868:                                   ; preds = %1864
  br label %1869

; <label>:1869:                                   ; preds = %1869, %1868
  %1870 = phi %"struct.ast::ASTNodeInfo"* [ %1872, %1869 ], [ %1862, %1868 ]
  %1871 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1870, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %1871) #14
  %1872 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1870, i32 1
  %1873 = icmp eq %"struct.ast::ASTNodeInfo"* %1872, %1866
  br i1 %1873, label %1874, label %1869

; <label>:1874:                                   ; preds = %1869
  %1875 = load i32, i32* %338, align 4, !tbaa !23
  br label %1876

; <label>:1876:                                   ; preds = %1874, %1864
  %1877 = phi i32 [ %1875, %1874 ], [ %1865, %1864 ]
  %1878 = load i32, i32* %337, align 4, !tbaa !23
  %1879 = sub i32 %1878, %1877
  %1880 = ashr exact i32 %1879, 4
  %1881 = icmp ugt i32 %1880, 268435455
  br i1 %1881, label %1898, label %1882

; <label>:1882:                                   ; preds = %1876
  %1883 = icmp ugt i32 %1879, 4095
  br i1 %1883, label %1884, label %1899

; <label>:1884:                                   ; preds = %1882
  %1885 = icmp ult i32 %1879, -35
  %1886 = and i32 %1877, 31
  %1887 = icmp eq i32 %1886, 0
  %1888 = and i1 %1887, %1885
  br i1 %1888, label %1889, label %1898

; <label>:1889:                                   ; preds = %1884
  %1890 = add i32 %1879, 35
  %1891 = add i32 %1877, -4
  %1892 = inttoptr i32 %1891 to i32*
  %1893 = load i32, i32* %1892, align 4, !tbaa !24
  %1894 = icmp uge i32 %1893, %1877
  %1895 = sub i32 %1891, %1893
  %1896 = icmp ugt i32 %1895, 31
  %1897 = or i1 %1894, %1896
  br i1 %1897, label %1898, label %1899

; <label>:1898:                                   ; preds = %1889, %1884, %1876
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1899:                                   ; preds = %1889, %1882
  %1900 = phi i32 [ %1877, %1882 ], [ %1893, %1889 ]
  %1901 = phi i32 [ %1879, %1882 ], [ %1890, %1889 ]
  %1902 = inttoptr i32 %1900 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %1902, i32 %1901) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %334, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %335, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %336, align 4, !tbaa !23
  br label %1903

; <label>:1903:                                   ; preds = %1899, %1855
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %331) #14
  %1904 = load i32, i32* %86, align 4, !tbaa !26
  %1905 = add i32 %1904, 1
  store i32 %1905, i32* %86, align 4, !tbaa !26
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %315) #14
  br label %2083

; <label>:1906:                                   ; preds = %371
  %1907 = add i32 %359, 2
  store i32 %1907, i32* %86, align 4, !tbaa !26
  br label %2083

; <label>:1908:                                   ; preds = %371
  call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 442) #14
  br label %2083

; <label>:1909:                                   ; preds = %357
  %1910 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1911 = load i32, i32* %1910, align 4
  %1912 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1913 = bitcast [8 x i8]* %1912 to i32*
  %1914 = load i32, i32* %1913, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1911, i32 %1914) #14
  br label %2083

; <label>:1915:                                   ; preds = %357
  %1916 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1917 = load i32, i32* %1916, align 4
  %1918 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1919 = bitcast [8 x i8]* %1918 to i32*
  %1920 = load i32, i32* %1919, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1917, i32 %1920) #14
  br label %2083

; <label>:1921:                                   ; preds = %357
  %1922 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1923 = load i32, i32* %1922, align 4
  %1924 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1925 = bitcast [8 x i8]* %1924 to i32*
  %1926 = load i32, i32* %1925, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1923, i32 %1926) #14
  br label %2083

; <label>:1927:                                   ; preds = %357
  %1928 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1929 = load i32, i32* %1928, align 4
  %1930 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1931 = bitcast [8 x i8]* %1930 to i32*
  %1932 = load i32, i32* %1931, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1929, i32 %1932) #14
  br label %2083

; <label>:1933:                                   ; preds = %357
  %1934 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1935 = load i32, i32* %1934, align 4
  %1936 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1937 = bitcast [8 x i8]* %1936 to i32*
  %1938 = load i32, i32* %1937, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1935, i32 %1938) #14
  br label %2083

; <label>:1939:                                   ; preds = %357
  %1940 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1941 = load i32, i32* %1940, align 4
  %1942 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1943 = bitcast [8 x i8]* %1942 to i32*
  %1944 = load i32, i32* %1943, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1941, i32 %1944) #14
  br label %2083

; <label>:1945:                                   ; preds = %357
  %1946 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1947 = load i32, i32* %1946, align 4
  %1948 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1949 = bitcast [8 x i8]* %1948 to i32*
  %1950 = load i32, i32* %1949, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1947, i32 %1950) #14
  br label %2083

; <label>:1951:                                   ; preds = %357
  %1952 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1953 = load i32, i32* %1952, align 4
  %1954 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1955 = bitcast [8 x i8]* %1954 to i32*
  %1956 = load i32, i32* %1955, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1953, i32 %1956) #14
  br label %2083

; <label>:1957:                                   ; preds = %357
  %1958 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1959 = load i32, i32* %1958, align 4
  %1960 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1961 = bitcast [8 x i8]* %1960 to i32*
  %1962 = load i32, i32* %1961, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1959, i32 %1962) #14
  br label %2083

; <label>:1963:                                   ; preds = %357
  %1964 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1965 = load i32, i32* %1964, align 4
  %1966 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1967 = bitcast [8 x i8]* %1966 to i32*
  %1968 = load i32, i32* %1967, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1965, i32 %1968) #14
  br label %2083

; <label>:1969:                                   ; preds = %357
  %1970 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1971 = load i32, i32* %1970, align 4
  %1972 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1973 = bitcast [8 x i8]* %1972 to i32*
  %1974 = load i32, i32* %1973, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1971, i32 %1974) #14
  br label %2083

; <label>:1975:                                   ; preds = %357
  %1976 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1977 = load i32, i32* %1976, align 4
  %1978 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1979 = bitcast [8 x i8]* %1978 to i32*
  %1980 = load i32, i32* %1979, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1977, i32 %1980) #14
  br label %2083

; <label>:1981:                                   ; preds = %357
  %1982 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1983 = load i32, i32* %1982, align 4
  %1984 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1985 = bitcast [8 x i8]* %1984 to i32*
  %1986 = load i32, i32* %1985, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1983, i32 %1986) #14
  br label %2083

; <label>:1987:                                   ; preds = %357
  %1988 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1989 = load i32, i32* %1988, align 4
  %1990 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1991 = bitcast [8 x i8]* %1990 to i32*
  %1992 = load i32, i32* %1991, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1989, i32 %1992) #14
  br label %2083

; <label>:1993:                                   ; preds = %357
  %1994 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %1995 = load i32, i32* %1994, align 4
  %1996 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %1997 = bitcast [8 x i8]* %1996 to i32*
  %1998 = load i32, i32* %1997, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %1995, i32 %1998) #14
  br label %2083

; <label>:1999:                                   ; preds = %357
  %2000 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2001 = load i32, i32* %2000, align 4
  %2002 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2003 = bitcast [8 x i8]* %2002 to i32*
  %2004 = load i32, i32* %2003, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2001, i32 %2004) #14
  br label %2083

; <label>:2005:                                   ; preds = %357
  %2006 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2007 = load i32, i32* %2006, align 4
  %2008 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2009 = bitcast [8 x i8]* %2008 to i32*
  %2010 = load i32, i32* %2009, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2007, i32 %2010) #14
  br label %2083

; <label>:2011:                                   ; preds = %357
  %2012 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2013 = load i32, i32* %2012, align 4
  %2014 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2015 = bitcast [8 x i8]* %2014 to i32*
  %2016 = load i32, i32* %2015, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2013, i32 %2016) #14
  br label %2083

; <label>:2017:                                   ; preds = %357
  %2018 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2019 = load i32, i32* %2018, align 4
  %2020 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2021 = bitcast [8 x i8]* %2020 to i32*
  %2022 = load i32, i32* %2021, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2019, i32 %2022) #14
  br label %2083

; <label>:2023:                                   ; preds = %357
  %2024 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2025 = load i32, i32* %2024, align 4
  %2026 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2027 = bitcast [8 x i8]* %2026 to i32*
  %2028 = load i32, i32* %2027, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2025, i32 %2028) #14
  br label %2083

; <label>:2029:                                   ; preds = %357
  %2030 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2031 = load i32, i32* %2030, align 4
  %2032 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2033 = bitcast [8 x i8]* %2032 to i32*
  %2034 = load i32, i32* %2033, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2031, i32 %2034) #14
  br label %2083

; <label>:2035:                                   ; preds = %357
  %2036 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2037 = load i32, i32* %2036, align 4
  %2038 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2039 = bitcast [8 x i8]* %2038 to i32*
  %2040 = load i32, i32* %2039, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2037, i32 %2040) #14
  br label %2083

; <label>:2041:                                   ; preds = %357
  %2042 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2043 = load i32, i32* %2042, align 4
  %2044 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2045 = bitcast [8 x i8]* %2044 to i32*
  %2046 = load i32, i32* %2045, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2043, i32 %2046) #14
  br label %2083

; <label>:2047:                                   ; preds = %357
  %2048 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2049 = load i32, i32* %2048, align 4
  %2050 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2051 = bitcast [8 x i8]* %2050 to i32*
  %2052 = load i32, i32* %2051, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2049, i32 %2052) #14
  br label %2083

; <label>:2053:                                   ; preds = %357
  %2054 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2055 = load i32, i32* %2054, align 4
  %2056 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2057 = bitcast [8 x i8]* %2056 to i32*
  %2058 = load i32, i32* %2057, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2055, i32 %2058) #14
  br label %2083

; <label>:2059:                                   ; preds = %357
  %2060 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2061 = load i32, i32* %2060, align 4
  %2062 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2063 = bitcast [8 x i8]* %2062 to i32*
  %2064 = load i32, i32* %2063, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2061, i32 %2064) #14
  br label %2083

; <label>:2065:                                   ; preds = %357
  %2066 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2067 = load i32, i32* %2066, align 4
  %2068 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2069 = bitcast [8 x i8]* %2068 to i32*
  %2070 = load i32, i32* %2069, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2067, i32 %2070) #14
  br label %2083

; <label>:2071:                                   ; preds = %357
  %2072 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2073 = load i32, i32* %2072, align 4
  %2074 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2075 = bitcast [8 x i8]* %2074 to i32*
  %2076 = load i32, i32* %2075, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2073, i32 %2076) #14
  br label %2083

; <label>:2077:                                   ; preds = %357
  %2078 = getelementptr inbounds %class.variant, %class.variant* %361, i32 0, i32 0, i32 0, i32 0
  %2079 = load i32, i32* %2078, align 4
  %2080 = getelementptr inbounds %class.variant, %class.variant* %358, i32 %360, i32 0, i32 0, i32 1
  %2081 = bitcast [8 x i8]* %2080 to i32*
  %2082 = load i32, i32* %2081, align 4
  call fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nonnull %106, i32 %2079, i32 %2082) #14
  br label %2083

; <label>:2083:                                   ; preds = %2077, %2071, %2065, %2059, %2053, %2047, %2041, %2035, %2029, %2023, %2017, %2011, %2005, %1999, %1993, %1987, %1981, %1975, %1969, %1963, %1957, %1951, %1945, %1939, %1933, %1927, %1921, %1915, %1909, %1908, %1906, %1903, %1767, %1631, %1495, %1359, %1182, %1040, %913, %768, %370, %364
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %99) #14
  %2084 = load i32, i32* %86, align 4, !tbaa !26
  %2085 = load %class.variant*, %class.variant** %88, align 4, !tbaa !23
  %2086 = getelementptr inbounds %class.variant, %class.variant* %2085, i32 %2084, i32 1
  %2087 = load i32, i32* %2086, align 4, !tbaa !27
  %2088 = icmp eq i32 %2087, 1
  br i1 %2088, label %2089, label %2093

; <label>:2089:                                   ; preds = %2083
  %2090 = getelementptr inbounds %class.variant, %class.variant* %2085, i32 %2084, i32 0, i32 0, i32 0
  %2091 = load i32, i32* %2090, align 4, !tbaa !45
  %2092 = icmp eq i32 %2091, 2
  br i1 %2092, label %2094, label %2093

; <label>:2093:                                   ; preds = %2089, %2083
  call void @_wassert(i16* getelementptr inbounds ([33 x i16], [33 x i16]* @"\01??_C@_1EC@FLGDOOBO@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?$CJ@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 447) #14
  br label %2094

; <label>:2094:                                   ; preds = %2093, %2089
  br label %340

; <label>:2095:                                   ; preds = %346
  %2096 = add i32 %341, 2
  store i32 %2096, i32* %86, align 4, !tbaa !26
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??@ecdc85686029a3757587674877544440@"(%"class.std::_Hash.7"*, %"struct.std::pair.113"* noalias sret, %"class.std::vector.37"* dereferenceable(12), %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %5 = alloca %"class.detail::DiagonalVisitor", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 1
  %7 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %2, i32 0, i32 0, i32 0, i32 0, i32 0
  %8 = load %class.variant.43*, %class.variant.43** %7, align 4, !tbaa !23, !noalias !112
  %9 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %10 = load %class.variant.43*, %class.variant.43** %9, align 4, !tbaa !23, !noalias !115
  %11 = icmp eq %class.variant.43* %10, %8
  br i1 %11, label %21, label %12

; <label>:12:                                     ; preds = %4
  %13 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  br label %14

; <label>:14:                                     ; preds = %14, %12
  %15 = phi %class.variant.43* [ %8, %12 ], [ %19, %14 ]
  %16 = phi i32 [ 0, %12 ], [ %18, %14 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #14
  %17 = call x86_thiscallcc i32 @"\01??$visitInternal@UHasher@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAUHasher@detail@@@Z"(%class.variant.43* nonnull %15, %"struct.std::_Not_a_node_tag"* nonnull dereferenceable(1) %6) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #14
  %18 = xor i32 %17, %16
  %19 = getelementptr inbounds %class.variant.43, %class.variant.43* %15, i32 1
  %20 = icmp eq %class.variant.43* %10, %19
  br i1 %20, label %21, label %14

; <label>:21:                                     ; preds = %14, %4
  %22 = phi i32 [ 0, %4 ], [ %18, %14 ]
  %23 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 3
  %24 = load i32, i32* %23, align 4, !tbaa !118
  %25 = and i32 %24, %22
  %26 = shl i32 %25, 1
  %27 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %28 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23, !noalias !123
  %29 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1
  %30 = bitcast %"class.std::list.16"* %29 to i32*
  %31 = load i32, i32* %30, align 4, !tbaa !23, !noalias !126
  %32 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %28, i32 %26, i32 0
  %33 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %32, align 4, !tbaa !50, !noalias !123
  %34 = inttoptr i32 %31 to %"struct.std::_List_node.23"*
  %35 = icmp eq %"struct.std::_List_node.23"* %33, %34
  %36 = inttoptr i32 %31 to i32*
  br i1 %35, label %43, label %37

; <label>:37:                                     ; preds = %21
  %38 = or i32 %26, 1
  %39 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %28, i32 %38
  %40 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %39 to i32**
  %41 = load i32*, i32** %40, align 4, !noalias !123
  %42 = load i32, i32* %41, align 4, !tbaa !131, !noalias !123
  br label %43

; <label>:43:                                     ; preds = %37, %21
  %44 = phi i32 [ %42, %37 ], [ %31, %21 ]
  %45 = inttoptr i32 %44 to %"struct.std::_List_node.23"*
  %46 = icmp eq %"struct.std::_List_node.23"* %33, %45
  br i1 %46, label %47, label %51

; <label>:47:                                     ; preds = %43
  %48 = bitcast %"class.std::list.16"* %29 to i32**
  %49 = bitcast %"class.std::vector.37"* %2 to i32*
  %50 = bitcast %class.variant.43** %9 to i32*
  br label %104

; <label>:51:                                     ; preds = %43
  %52 = bitcast %class.variant.43** %9 to i32*
  %53 = bitcast %"class.std::vector.37"* %2 to i32*
  %54 = bitcast %"class.detail::DiagonalVisitor"* %5 to i8*
  %55 = getelementptr inbounds %"class.detail::DiagonalVisitor", %"class.detail::DiagonalVisitor"* %5, i32 0, i32 0
  br label %56

; <label>:56:                                     ; preds = %96, %51
  %57 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %28, %51 ], [ %97, %96 ]
  %58 = phi %"struct.std::_List_node.23"* [ %45, %51 ], [ %62, %96 ]
  %59 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %58, i32 0, i32 1
  %60 = bitcast %"struct.std::_List_node.23"** %59 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !134
  %62 = inttoptr i32 %61 to %"struct.std::_List_node.23"*
  %63 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %62, i32 0, i32 2
  %64 = load i32, i32* %52, align 4, !tbaa !23
  %65 = load i32, i32* %53, align 4, !tbaa !23
  %66 = sub i32 %64, %65
  %67 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %62, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %68 = bitcast %class.variant.43** %67 to i32*
  %69 = load i32, i32* %68, align 4, !tbaa !23
  %70 = bitcast %"class.std::vector.37"* %63 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !23
  %72 = sub i32 %69, %71
  %73 = icmp eq i32 %66, %72
  br i1 %73, label %74, label %96

; <label>:74:                                     ; preds = %56
  %75 = inttoptr i32 %65 to %class.variant.43*
  %76 = inttoptr i32 %64 to %class.variant.43*
  %77 = icmp eq %class.variant.43* %75, %76
  br i1 %77, label %206, label %78

; <label>:78:                                     ; preds = %74
  %79 = inttoptr i32 %71 to %class.variant.43*
  br label %80

; <label>:80:                                     ; preds = %90, %78
  %81 = phi %class.variant.43* [ %75, %78 ], [ %91, %90 ]
  %82 = phi %class.variant.43* [ %79, %78 ], [ %92, %90 ]
  %83 = getelementptr inbounds %class.variant.43, %class.variant.43* %81, i32 0, i32 1
  %84 = load i32, i32* %83, align 8, !tbaa !135
  %85 = getelementptr inbounds %class.variant.43, %class.variant.43* %82, i32 0, i32 1
  %86 = load i32, i32* %85, align 8, !tbaa !135
  %87 = icmp eq i32 %84, %86
  br i1 %87, label %88, label %94

; <label>:88:                                     ; preds = %80
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %54) #14
  store %class.variant.43* %82, %class.variant.43** %55, align 4, !tbaa !12
  %89 = call x86_thiscallcc zeroext i1 @"\01??$visitInternal@V?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAV?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@Z"(%class.variant.43* nonnull %81, %"class.detail::DiagonalVisitor"* nonnull dereferenceable(4) %5) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %54) #14
  br i1 %89, label %90, label %94

; <label>:90:                                     ; preds = %88
  %91 = getelementptr inbounds %class.variant.43, %class.variant.43* %81, i32 1
  %92 = getelementptr inbounds %class.variant.43, %class.variant.43* %82, i32 1
  %93 = icmp eq %class.variant.43* %91, %76
  br i1 %93, label %206, label %80

; <label>:94:                                     ; preds = %88, %80
  %95 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23, !noalias !137
  br label %96

; <label>:96:                                     ; preds = %94, %56
  %97 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %95, %94 ], [ %57, %56 ]
  %98 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %97, i32 %26, i32 0
  %99 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %98, align 4, !noalias !137
  %100 = icmp eq %"struct.std::_List_node.23"* %99, %62
  br i1 %100, label %101, label %56

; <label>:101:                                    ; preds = %96
  %102 = bitcast %"class.std::list.16"* %29 to i32**
  %103 = load i32*, i32** %102, align 4, !tbaa !23, !noalias !140
  br label %104

; <label>:104:                                    ; preds = %101, %47
  %105 = phi i32* [ %50, %47 ], [ %52, %101 ]
  %106 = phi i32* [ %49, %47 ], [ %53, %101 ]
  %107 = phi i32** [ %48, %47 ], [ %102, %101 ]
  %108 = phi i32* [ %36, %47 ], [ %103, %101 ]
  %109 = phi %"struct.std::_List_node.23"* [ %33, %47 ], [ %62, %101 ]
  %110 = load i32, i32* %108, align 4, !tbaa !131, !noalias !140
  %111 = inttoptr i32 %110 to %"struct.std::_List_node.23"*
  %112 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %111, i32 0, i32 1
  %113 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %112, align 4, !tbaa !134, !noalias !145
  %114 = ptrtoint %"struct.std::_List_node.23"* %113 to i32
  %115 = call i8* @"\01??2@YAPAXI@Z"(i32 20) #14, !noalias !145
  %116 = icmp eq i32 %110, 0
  %117 = ptrtoint i8* %115 to i32
  %118 = select i1 %116, i32 %117, i32 %114
  %119 = select i1 %116, i32 %117, i32 %110
  %120 = bitcast i8* %115 to i32*
  store i32 %119, i32* %120, align 4, !tbaa !23, !noalias !145
  %121 = getelementptr inbounds i8, i8* %115, i32 4
  %122 = bitcast i8* %121 to i32*
  store i32 %118, i32* %122, align 4, !tbaa !23, !noalias !145
  %123 = getelementptr inbounds i8, i8* %115, i32 8
  %124 = getelementptr inbounds i8, i8* %115, i32 12
  %125 = getelementptr inbounds i8, i8* %115, i32 16
  %126 = load i32, i32* %106, align 4, !tbaa !23, !noalias !145
  %127 = bitcast i8* %123 to i32*
  store i32 %126, i32* %127, align 4, !tbaa !23, !noalias !145
  %128 = load i32, i32* %105, align 4, !tbaa !23, !noalias !145
  %129 = bitcast i8* %124 to i32*
  store i32 %128, i32* %129, align 4, !tbaa !23, !noalias !145
  %130 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %131 = bitcast %class.variant.43** %130 to i32*
  %132 = load i32, i32* %131, align 4, !tbaa !23, !noalias !145
  %133 = bitcast i8* %125 to i32*
  store i32 %132, i32* %133, align 4, !tbaa !23, !noalias !145
  store %class.variant.43* null, %class.variant.43** %7, align 4, !tbaa !23, !noalias !145
  store %class.variant.43* null, %class.variant.43** %9, align 4, !tbaa !23, !noalias !145
  store %class.variant.43* null, %class.variant.43** %130, align 4, !tbaa !23, !noalias !145
  %134 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %135 = load i32, i32* %134, align 4, !tbaa !24, !noalias !145
  %136 = icmp eq i32 %135, 214748363
  br i1 %136, label %137, label %138

; <label>:137:                                    ; preds = %104
  call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12, !noalias !145
  unreachable

; <label>:138:                                    ; preds = %104
  %139 = add i32 %135, 1
  store i32 %139, i32* %134, align 4, !tbaa !24, !noalias !145
  %140 = bitcast %"struct.std::_List_node.23"** %112 to i8**
  store i8* %115, i8** %140, align 4, !tbaa !134, !noalias !145
  %141 = bitcast %"struct.std::_List_node.23"* %113 to i8**
  store i8* %115, i8** %141, align 4, !tbaa !131, !noalias !145
  %142 = load i32*, i32** %107, align 4, !tbaa !23, !noalias !146
  %143 = load i32, i32* %142, align 4, !tbaa !131, !noalias !146
  %144 = inttoptr i32 %143 to %"struct.std::_List_node.23"**
  %145 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %144, align 4, !tbaa !131
  %146 = icmp eq %"struct.std::_List_node.23"* %145, %109
  br i1 %146, label %147, label %150

; <label>:147:                                    ; preds = %138
  %148 = bitcast i32* %142 to %"struct.std::_List_node.23"*
  %149 = inttoptr i32 %143 to %"struct.std::_List_node.23"*
  br label %169

; <label>:150:                                    ; preds = %138
  %151 = inttoptr i32 %143 to %"struct.std::_List_node.23"*
  %152 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %151, i32 0, i32 1
  %153 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %152, align 4, !tbaa !134
  %154 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %153, i32 0, i32 0
  store %"struct.std::_List_node.23"* %145, %"struct.std::_List_node.23"** %154, align 4, !tbaa !131
  %155 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %145, i32 0, i32 1
  %156 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %155, align 4, !tbaa !134
  %157 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %156, i32 0, i32 0
  store %"struct.std::_List_node.23"* %109, %"struct.std::_List_node.23"** %157, align 4, !tbaa !131
  %158 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %109, i32 0, i32 1
  %159 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %158, align 4, !tbaa !134
  %160 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %159, i32 0, i32 0
  store %"struct.std::_List_node.23"* %151, %"struct.std::_List_node.23"** %160, align 4, !tbaa !131
  %161 = bitcast %"struct.std::_List_node.23"** %158 to i32*
  %162 = ptrtoint %"struct.std::_List_node.23"* %159 to i32
  %163 = bitcast %"struct.std::_List_node.23"** %155 to i32*
  %164 = ptrtoint %"struct.std::_List_node.23"* %156 to i32
  store i32 %164, i32* %161, align 4, !tbaa !134
  %165 = bitcast %"struct.std::_List_node.23"** %152 to i32*
  %166 = load i32, i32* %165, align 4, !tbaa !134
  store i32 %166, i32* %163, align 4, !tbaa !134
  store i32 %162, i32* %165, align 4, !tbaa !134
  %167 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %168 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %167, align 4, !tbaa !23, !noalias !151
  br label %169

; <label>:169:                                    ; preds = %150, %147
  %170 = phi %"struct.std::_List_node.23"* [ %149, %147 ], [ %151, %150 ]
  %171 = phi %"struct.std::_List_node.23"* [ %148, %147 ], [ %168, %150 ]
  %172 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  %173 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %172, i32 %26
  %174 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %173, i32 0, i32 0
  %175 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %174, align 4, !tbaa !50
  %176 = icmp eq %"struct.std::_List_node.23"* %175, %171
  br i1 %176, label %177, label %182

; <label>:177:                                    ; preds = %169
  %178 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %173 to i32*
  store i32 %143, i32* %178, align 4
  %179 = or i32 %26, 1
  %180 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  %181 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %180, i32 %179
  br label %201

; <label>:182:                                    ; preds = %169
  %183 = icmp eq %"struct.std::_List_node.23"* %175, %109
  br i1 %183, label %201, label %184

; <label>:184:                                    ; preds = %182
  %185 = or i32 %26, 1
  %186 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %172, i32 %185
  %187 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %186 to i32**
  %188 = load i32*, i32** %187, align 4, !tbaa !50
  %189 = load i32, i32* %188, align 4, !tbaa !131
  %190 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %186 to i32*
  store i32 %189, i32* %190, align 4, !tbaa !50
  %191 = inttoptr i32 %189 to %"struct.std::_List_node.23"*
  %192 = icmp eq %"struct.std::_List_node.23"* %170, %191
  br i1 %192, label %205, label %193

; <label>:193:                                    ; preds = %184
  %194 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  %195 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %194, i32 %185
  %196 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %195, i32 0, i32 0
  %197 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %196, align 4, !tbaa !50
  %198 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %197, i32 0, i32 1
  %199 = bitcast %"struct.std::_List_node.23"** %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !134
  br label %201

; <label>:201:                                    ; preds = %193, %182, %177
  %202 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %195, %193 ], [ %181, %177 ], [ %173, %182 ]
  %203 = phi i32 [ %200, %193 ], [ %143, %177 ], [ %143, %182 ]
  %204 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %202 to i32*
  store i32 %203, i32* %204, align 4
  br label %205

; <label>:205:                                    ; preds = %201, %184
  call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.7"* nonnull %0)
  br label %206

; <label>:206:                                    ; preds = %205, %90, %74
  %207 = phi i32 [ %143, %205 ], [ %61, %90 ], [ %61, %74 ]
  %208 = phi i8 [ 1, %205 ], [ 0, %90 ], [ 0, %74 ]
  %209 = bitcast %"struct.std::pair.113"* %1 to i32*
  store i32 %207, i32* %209, align 4
  %210 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %1, i32 0, i32 1
  store i8 %208, i8* %210, align 4, !tbaa !156
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"*) unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %2, align 4, !tbaa !23
  %4 = icmp eq %"struct.ast::ASTNodeInfo"* %3, null
  br i1 %4, label %48, label %5

; <label>:5:                                      ; preds = %1
  %6 = ptrtoint %"struct.ast::ASTNodeInfo"* %3 to i32
  %7 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %7, align 4, !tbaa !23
  %9 = icmp eq %"struct.ast::ASTNodeInfo"* %3, %8
  br i1 %9, label %19, label %10

; <label>:10:                                     ; preds = %5
  br label %11

; <label>:11:                                     ; preds = %11, %10
  %12 = phi %"struct.ast::ASTNodeInfo"* [ %14, %11 ], [ %3, %10 ]
  %13 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %12, i32 0, i32 1
  tail call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %13) #14
  %14 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %12, i32 1
  %15 = icmp eq %"struct.ast::ASTNodeInfo"* %14, %8
  br i1 %15, label %16, label %11

; <label>:16:                                     ; preds = %11
  %17 = bitcast %"class.std::vector.45"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  br label %19

; <label>:19:                                     ; preds = %16, %5
  %20 = phi i32 [ %18, %16 ], [ %6, %5 ]
  %21 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %22 = bitcast %"struct.ast::ASTNodeInfo"** %21 to i32*
  %23 = load i32, i32* %22, align 4, !tbaa !23
  %24 = sub i32 %23, %20
  %25 = ashr exact i32 %24, 4
  %26 = icmp ugt i32 %25, 268435455
  br i1 %26, label %43, label %27

; <label>:27:                                     ; preds = %19
  %28 = icmp ugt i32 %24, 4095
  br i1 %28, label %29, label %44

; <label>:29:                                     ; preds = %27
  %30 = icmp ult i32 %24, -35
  %31 = and i32 %20, 31
  %32 = icmp eq i32 %31, 0
  %33 = and i1 %30, %32
  br i1 %33, label %34, label %43

; <label>:34:                                     ; preds = %29
  %35 = add i32 %24, 35
  %36 = add i32 %20, -4
  %37 = inttoptr i32 %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !24
  %39 = icmp uge i32 %38, %20
  %40 = sub i32 %36, %38
  %41 = icmp ugt i32 %40, 31
  %42 = or i1 %39, %41
  br i1 %42, label %43, label %44

; <label>:43:                                     ; preds = %34, %29, %19
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:44:                                     ; preds = %34, %27
  %45 = phi i32 [ %20, %27 ], [ %38, %34 ]
  %46 = phi i32 [ %24, %27 ], [ %35, %34 ]
  %47 = inttoptr i32 %45 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %47, i32 %46) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %2, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %7, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %21, align 4, !tbaa !23
  br label %48

; <label>:48:                                     ; preds = %44, %1
  ret void
}

; Function Attrs: inlinehint norecurse nounwind
define linkonce_odr x86_thiscallcc i32 @"\01??$visitInternal@UHasher@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAUHasher@detail@@@Z"(%class.variant.43*, %"struct.std::_Not_a_node_tag"* dereferenceable(1)) local_unnamed_addr #7 comdat align 2 {
  %3 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !135
  switch i32 %4, label %555 [
    i32 0, label %5
    i32 1, label %11
    i32 2, label %22
    i32 3, label %43
    i32 4, label %84
    i32 5, label %125
    i32 6, label %131
    i32 7, label %142
    i32 8, label %163
    i32 9, label %204
    i32 10, label %245
    i32 11, label %265
    i32 12, label %309
    i32 13, label %326
    i32 14, label %561
    i32 15, label %344
    i32 16, label %362
    i32 17, label %363
    i32 18, label %381
    i32 19, label %399
    i32 20, label %417
    i32 21, label %435
    i32 22, label %453
    i32 23, label %471
    i32 24, label %489
    i32 25, label %507
    i32 26, label %525
    i32 27, label %531
    i32 28, label %537
    i32 29, label %543
    i32 30, label %549
  ]

; <label>:5:                                      ; preds = %2
  %6 = bitcast %class.variant.43* %0 to i8*
  %7 = load i8, i8* %6, align 1, !tbaa !12
  %8 = zext i8 %7 to i32
  %9 = xor i32 %8, -2128831035
  %10 = mul i32 %9, 16777619
  br label %561

; <label>:11:                                     ; preds = %2
  %12 = bitcast %class.variant.43* %0 to i8*
  %13 = load i8, i8* %12, align 1, !tbaa !12
  %14 = zext i8 %13 to i32
  %15 = xor i32 %14, -2128831035
  %16 = mul i32 %15, 16777619
  %17 = getelementptr inbounds i8, i8* %12, i32 1
  %18 = load i8, i8* %17, align 1, !tbaa !12
  %19 = zext i8 %18 to i32
  %20 = xor i32 %16, %19
  %21 = mul i32 %20, 16777619
  br label %561

; <label>:22:                                     ; preds = %2
  %23 = bitcast %class.variant.43* %0 to i8*
  %24 = load i8, i8* %23, align 1, !tbaa !12
  %25 = zext i8 %24 to i32
  %26 = xor i32 %25, -2128831035
  %27 = mul i32 %26, 16777619
  %28 = getelementptr inbounds i8, i8* %23, i32 1
  %29 = load i8, i8* %28, align 1, !tbaa !12
  %30 = zext i8 %29 to i32
  %31 = xor i32 %27, %30
  %32 = mul i32 %31, 16777619
  %33 = getelementptr inbounds i8, i8* %23, i32 2
  %34 = load i8, i8* %33, align 1, !tbaa !12
  %35 = zext i8 %34 to i32
  %36 = xor i32 %32, %35
  %37 = mul i32 %36, 16777619
  %38 = getelementptr inbounds i8, i8* %23, i32 3
  %39 = load i8, i8* %38, align 1, !tbaa !12
  %40 = zext i8 %39 to i32
  %41 = xor i32 %37, %40
  %42 = mul i32 %41, 16777619
  br label %561

; <label>:43:                                     ; preds = %2
  %44 = bitcast %class.variant.43* %0 to i8*
  %45 = load i8, i8* %44, align 1, !tbaa !12
  %46 = zext i8 %45 to i32
  %47 = xor i32 %46, -2128831035
  %48 = mul i32 %47, 16777619
  %49 = getelementptr inbounds i8, i8* %44, i32 1
  %50 = load i8, i8* %49, align 1, !tbaa !12
  %51 = zext i8 %50 to i32
  %52 = xor i32 %48, %51
  %53 = mul i32 %52, 16777619
  %54 = getelementptr inbounds i8, i8* %44, i32 2
  %55 = load i8, i8* %54, align 1, !tbaa !12
  %56 = zext i8 %55 to i32
  %57 = xor i32 %53, %56
  %58 = mul i32 %57, 16777619
  %59 = getelementptr inbounds i8, i8* %44, i32 3
  %60 = load i8, i8* %59, align 1, !tbaa !12
  %61 = zext i8 %60 to i32
  %62 = xor i32 %58, %61
  %63 = mul i32 %62, 16777619
  %64 = getelementptr inbounds i8, i8* %44, i32 4
  %65 = load i8, i8* %64, align 1, !tbaa !12
  %66 = zext i8 %65 to i32
  %67 = xor i32 %63, %66
  %68 = mul i32 %67, 16777619
  %69 = getelementptr inbounds i8, i8* %44, i32 5
  %70 = load i8, i8* %69, align 1, !tbaa !12
  %71 = zext i8 %70 to i32
  %72 = xor i32 %68, %71
  %73 = mul i32 %72, 16777619
  %74 = getelementptr inbounds i8, i8* %44, i32 6
  %75 = load i8, i8* %74, align 1, !tbaa !12
  %76 = zext i8 %75 to i32
  %77 = xor i32 %73, %76
  %78 = mul i32 %77, 16777619
  %79 = getelementptr inbounds i8, i8* %44, i32 7
  %80 = load i8, i8* %79, align 1, !tbaa !12
  %81 = zext i8 %80 to i32
  %82 = xor i32 %78, %81
  %83 = mul i32 %82, 16777619
  br label %561

; <label>:84:                                     ; preds = %2
  %85 = bitcast %class.variant.43* %0 to i8*
  %86 = load i8, i8* %85, align 1, !tbaa !12
  %87 = zext i8 %86 to i32
  %88 = xor i32 %87, -2128831035
  %89 = mul i32 %88, 16777619
  %90 = getelementptr inbounds i8, i8* %85, i32 1
  %91 = load i8, i8* %90, align 1, !tbaa !12
  %92 = zext i8 %91 to i32
  %93 = xor i32 %89, %92
  %94 = mul i32 %93, 16777619
  %95 = getelementptr inbounds i8, i8* %85, i32 2
  %96 = load i8, i8* %95, align 1, !tbaa !12
  %97 = zext i8 %96 to i32
  %98 = xor i32 %94, %97
  %99 = mul i32 %98, 16777619
  %100 = getelementptr inbounds i8, i8* %85, i32 3
  %101 = load i8, i8* %100, align 1, !tbaa !12
  %102 = zext i8 %101 to i32
  %103 = xor i32 %99, %102
  %104 = mul i32 %103, 16777619
  %105 = getelementptr inbounds i8, i8* %85, i32 4
  %106 = load i8, i8* %105, align 1, !tbaa !12
  %107 = zext i8 %106 to i32
  %108 = xor i32 %104, %107
  %109 = mul i32 %108, 16777619
  %110 = getelementptr inbounds i8, i8* %85, i32 5
  %111 = load i8, i8* %110, align 1, !tbaa !12
  %112 = zext i8 %111 to i32
  %113 = xor i32 %109, %112
  %114 = mul i32 %113, 16777619
  %115 = getelementptr inbounds i8, i8* %85, i32 6
  %116 = load i8, i8* %115, align 1, !tbaa !12
  %117 = zext i8 %116 to i32
  %118 = xor i32 %114, %117
  %119 = mul i32 %118, 16777619
  %120 = getelementptr inbounds i8, i8* %85, i32 7
  %121 = load i8, i8* %120, align 1, !tbaa !12
  %122 = zext i8 %121 to i32
  %123 = xor i32 %119, %122
  %124 = mul i32 %123, 16777619
  br label %561

; <label>:125:                                    ; preds = %2
  %126 = bitcast %class.variant.43* %0 to i8*
  %127 = load i8, i8* %126, align 1, !tbaa !12
  %128 = zext i8 %127 to i32
  %129 = xor i32 %128, -2128831035
  %130 = mul i32 %129, 16777619
  br label %561

; <label>:131:                                    ; preds = %2
  %132 = bitcast %class.variant.43* %0 to i8*
  %133 = load i8, i8* %132, align 1, !tbaa !12
  %134 = zext i8 %133 to i32
  %135 = xor i32 %134, -2128831035
  %136 = mul i32 %135, 16777619
  %137 = getelementptr inbounds i8, i8* %132, i32 1
  %138 = load i8, i8* %137, align 1, !tbaa !12
  %139 = zext i8 %138 to i32
  %140 = xor i32 %136, %139
  %141 = mul i32 %140, 16777619
  br label %561

; <label>:142:                                    ; preds = %2
  %143 = bitcast %class.variant.43* %0 to i8*
  %144 = load i8, i8* %143, align 1, !tbaa !12
  %145 = zext i8 %144 to i32
  %146 = xor i32 %145, -2128831035
  %147 = mul i32 %146, 16777619
  %148 = getelementptr inbounds i8, i8* %143, i32 1
  %149 = load i8, i8* %148, align 1, !tbaa !12
  %150 = zext i8 %149 to i32
  %151 = xor i32 %147, %150
  %152 = mul i32 %151, 16777619
  %153 = getelementptr inbounds i8, i8* %143, i32 2
  %154 = load i8, i8* %153, align 1, !tbaa !12
  %155 = zext i8 %154 to i32
  %156 = xor i32 %152, %155
  %157 = mul i32 %156, 16777619
  %158 = getelementptr inbounds i8, i8* %143, i32 3
  %159 = load i8, i8* %158, align 1, !tbaa !12
  %160 = zext i8 %159 to i32
  %161 = xor i32 %157, %160
  %162 = mul i32 %161, 16777619
  br label %561

; <label>:163:                                    ; preds = %2
  %164 = bitcast %class.variant.43* %0 to i8*
  %165 = load i8, i8* %164, align 1, !tbaa !12
  %166 = zext i8 %165 to i32
  %167 = xor i32 %166, -2128831035
  %168 = mul i32 %167, 16777619
  %169 = getelementptr inbounds i8, i8* %164, i32 1
  %170 = load i8, i8* %169, align 1, !tbaa !12
  %171 = zext i8 %170 to i32
  %172 = xor i32 %168, %171
  %173 = mul i32 %172, 16777619
  %174 = getelementptr inbounds i8, i8* %164, i32 2
  %175 = load i8, i8* %174, align 1, !tbaa !12
  %176 = zext i8 %175 to i32
  %177 = xor i32 %173, %176
  %178 = mul i32 %177, 16777619
  %179 = getelementptr inbounds i8, i8* %164, i32 3
  %180 = load i8, i8* %179, align 1, !tbaa !12
  %181 = zext i8 %180 to i32
  %182 = xor i32 %178, %181
  %183 = mul i32 %182, 16777619
  %184 = getelementptr inbounds i8, i8* %164, i32 4
  %185 = load i8, i8* %184, align 1, !tbaa !12
  %186 = zext i8 %185 to i32
  %187 = xor i32 %183, %186
  %188 = mul i32 %187, 16777619
  %189 = getelementptr inbounds i8, i8* %164, i32 5
  %190 = load i8, i8* %189, align 1, !tbaa !12
  %191 = zext i8 %190 to i32
  %192 = xor i32 %188, %191
  %193 = mul i32 %192, 16777619
  %194 = getelementptr inbounds i8, i8* %164, i32 6
  %195 = load i8, i8* %194, align 1, !tbaa !12
  %196 = zext i8 %195 to i32
  %197 = xor i32 %193, %196
  %198 = mul i32 %197, 16777619
  %199 = getelementptr inbounds i8, i8* %164, i32 7
  %200 = load i8, i8* %199, align 1, !tbaa !12
  %201 = zext i8 %200 to i32
  %202 = xor i32 %198, %201
  %203 = mul i32 %202, 16777619
  br label %561

; <label>:204:                                    ; preds = %2
  %205 = bitcast %class.variant.43* %0 to i8*
  %206 = load i8, i8* %205, align 1, !tbaa !12
  %207 = zext i8 %206 to i32
  %208 = xor i32 %207, -2128831035
  %209 = mul i32 %208, 16777619
  %210 = getelementptr inbounds i8, i8* %205, i32 1
  %211 = load i8, i8* %210, align 1, !tbaa !12
  %212 = zext i8 %211 to i32
  %213 = xor i32 %209, %212
  %214 = mul i32 %213, 16777619
  %215 = getelementptr inbounds i8, i8* %205, i32 2
  %216 = load i8, i8* %215, align 1, !tbaa !12
  %217 = zext i8 %216 to i32
  %218 = xor i32 %214, %217
  %219 = mul i32 %218, 16777619
  %220 = getelementptr inbounds i8, i8* %205, i32 3
  %221 = load i8, i8* %220, align 1, !tbaa !12
  %222 = zext i8 %221 to i32
  %223 = xor i32 %219, %222
  %224 = mul i32 %223, 16777619
  %225 = getelementptr inbounds i8, i8* %205, i32 4
  %226 = load i8, i8* %225, align 1, !tbaa !12
  %227 = zext i8 %226 to i32
  %228 = xor i32 %224, %227
  %229 = mul i32 %228, 16777619
  %230 = getelementptr inbounds i8, i8* %205, i32 5
  %231 = load i8, i8* %230, align 1, !tbaa !12
  %232 = zext i8 %231 to i32
  %233 = xor i32 %229, %232
  %234 = mul i32 %233, 16777619
  %235 = getelementptr inbounds i8, i8* %205, i32 6
  %236 = load i8, i8* %235, align 1, !tbaa !12
  %237 = zext i8 %236 to i32
  %238 = xor i32 %234, %237
  %239 = mul i32 %238, 16777619
  %240 = getelementptr inbounds i8, i8* %205, i32 7
  %241 = load i8, i8* %240, align 1, !tbaa !12
  %242 = zext i8 %241 to i32
  %243 = xor i32 %239, %242
  %244 = mul i32 %243, 16777619
  br label %561

; <label>:245:                                    ; preds = %2
  %246 = bitcast %class.variant.43* %0 to float*
  %247 = load float, float* %246, align 4, !tbaa !70
  %248 = fcmp oeq float %247, 0.000000e+00
  %249 = select i1 %248, float 0.000000e+00, float %247
  %250 = bitcast float %249 to i32
  %251 = and i32 %250, 255
  %252 = xor i32 %251, -2128831035
  %253 = mul i32 %252, 16777619
  %254 = lshr i32 %250, 8
  %255 = and i32 %254, 255
  %256 = xor i32 %253, %255
  %257 = mul i32 %256, 16777619
  %258 = lshr i32 %250, 16
  %259 = and i32 %258, 255
  %260 = xor i32 %257, %259
  %261 = mul i32 %260, 16777619
  %262 = lshr i32 %250, 24
  %263 = xor i32 %261, %262
  %264 = mul i32 %263, 16777619
  br label %561

; <label>:265:                                    ; preds = %2
  %266 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 0, i32 0, i32 0
  %267 = load double, double* %266, align 8, !tbaa !72
  %268 = fcmp oeq double %267, 0.000000e+00
  %269 = select i1 %268, double 0.000000e+00, double %267
  %270 = bitcast double %269 to i64
  %271 = trunc i64 %270 to i32
  %272 = and i32 %271, 255
  %273 = xor i32 %272, -2128831035
  %274 = mul i32 %273, 16777619
  %275 = lshr i64 %270, 8
  %276 = trunc i64 %275 to i32
  %277 = and i32 %276, 255
  %278 = xor i32 %274, %277
  %279 = mul i32 %278, 16777619
  %280 = lshr i64 %270, 16
  %281 = trunc i64 %280 to i32
  %282 = and i32 %281, 255
  %283 = xor i32 %279, %282
  %284 = mul i32 %283, 16777619
  %285 = lshr i64 %270, 24
  %286 = trunc i64 %285 to i32
  %287 = and i32 %286, 255
  %288 = xor i32 %284, %287
  %289 = mul i32 %288, 16777619
  %290 = lshr i64 %270, 32
  %291 = trunc i64 %290 to i32
  %292 = and i32 %291, 255
  %293 = xor i32 %289, %292
  %294 = mul i32 %293, 16777619
  %295 = lshr i64 %270, 40
  %296 = trunc i64 %295 to i32
  %297 = and i32 %296, 255
  %298 = xor i32 %294, %297
  %299 = mul i32 %298, 16777619
  %300 = lshr i64 %270, 48
  %301 = trunc i64 %300 to i32
  %302 = and i32 %301, 255
  %303 = xor i32 %299, %302
  %304 = mul i32 %303, 16777619
  %305 = lshr i64 %270, 56
  %306 = trunc i64 %305 to i32
  %307 = xor i32 %304, %306
  %308 = mul i32 %307, 16777619
  br label %561

; <label>:309:                                    ; preds = %2
  %310 = bitcast %class.variant.43* %0 to i32*
  %311 = load i32, i32* %310, align 4
  %312 = and i32 %311, 255
  %313 = xor i32 %312, -2128831035
  %314 = mul i32 %313, 16777619
  %315 = lshr i32 %311, 8
  %316 = and i32 %315, 255
  %317 = xor i32 %314, %316
  %318 = mul i32 %317, 16777619
  %319 = lshr i32 %311, 16
  %320 = and i32 %319, 255
  %321 = xor i32 %318, %320
  %322 = mul i32 %321, 16777619
  %323 = lshr i32 %311, 24
  %324 = xor i32 %322, %323
  %325 = mul i32 %324, 16777619
  br label %561

; <label>:326:                                    ; preds = %2
  %327 = bitcast %class.variant.43* %0 to i32*
  %328 = load i32, i32* %327, align 4
  %329 = and i32 %328, 255
  %330 = xor i32 %329, -2128831035
  %331 = mul i32 %330, 16777619
  %332 = lshr i32 %328, 8
  %333 = and i32 %332, 255
  %334 = xor i32 %331, %333
  %335 = mul i32 %334, 16777619
  %336 = lshr i32 %328, 16
  %337 = and i32 %336, 255
  %338 = xor i32 %335, %337
  %339 = mul i32 %338, 16777619
  %340 = lshr i32 %328, 24
  %341 = xor i32 %339, %340
  %342 = mul i32 %341, 16777619
  %343 = xor i32 %342, 1
  br label %561

; <label>:344:                                    ; preds = %2
  %345 = bitcast %class.variant.43* %0 to i32*
  %346 = load i32, i32* %345, align 4
  %347 = and i32 %346, 255
  %348 = xor i32 %347, -2128831035
  %349 = mul i32 %348, 16777619
  %350 = lshr i32 %346, 8
  %351 = and i32 %350, 255
  %352 = xor i32 %349, %351
  %353 = mul i32 %352, 16777619
  %354 = lshr i32 %346, 16
  %355 = and i32 %354, 255
  %356 = xor i32 %353, %355
  %357 = mul i32 %356, 16777619
  %358 = lshr i32 %346, 24
  %359 = xor i32 %357, %358
  %360 = mul i32 %359, 16777619
  %361 = xor i32 %360, 2
  br label %561

; <label>:362:                                    ; preds = %2
  br label %561

; <label>:363:                                    ; preds = %2
  %364 = bitcast %class.variant.43* %0 to i32*
  %365 = load i32, i32* %364, align 4
  %366 = and i32 %365, 255
  %367 = xor i32 %366, -2128831035
  %368 = mul i32 %367, 16777619
  %369 = lshr i32 %365, 8
  %370 = and i32 %369, 255
  %371 = xor i32 %368, %370
  %372 = mul i32 %371, 16777619
  %373 = lshr i32 %365, 16
  %374 = and i32 %373, 255
  %375 = xor i32 %372, %374
  %376 = mul i32 %375, 16777619
  %377 = lshr i32 %365, 24
  %378 = xor i32 %376, %377
  %379 = mul i32 %378, 16777619
  %380 = xor i32 %379, 3
  br label %561

; <label>:381:                                    ; preds = %2
  %382 = bitcast %class.variant.43* %0 to i32*
  %383 = load i32, i32* %382, align 4
  %384 = and i32 %383, 255
  %385 = xor i32 %384, -2128831035
  %386 = mul i32 %385, 16777619
  %387 = lshr i32 %383, 8
  %388 = and i32 %387, 255
  %389 = xor i32 %386, %388
  %390 = mul i32 %389, 16777619
  %391 = lshr i32 %383, 16
  %392 = and i32 %391, 255
  %393 = xor i32 %390, %392
  %394 = mul i32 %393, 16777619
  %395 = lshr i32 %383, 24
  %396 = xor i32 %394, %395
  %397 = mul i32 %396, 16777619
  %398 = xor i32 %397, 1
  br label %561

; <label>:399:                                    ; preds = %2
  %400 = bitcast %class.variant.43* %0 to i32*
  %401 = load i32, i32* %400, align 4
  %402 = and i32 %401, 255
  %403 = xor i32 %402, -2128831035
  %404 = mul i32 %403, 16777619
  %405 = lshr i32 %401, 8
  %406 = and i32 %405, 255
  %407 = xor i32 %404, %406
  %408 = mul i32 %407, 16777619
  %409 = lshr i32 %401, 16
  %410 = and i32 %409, 255
  %411 = xor i32 %408, %410
  %412 = mul i32 %411, 16777619
  %413 = lshr i32 %401, 24
  %414 = xor i32 %412, %413
  %415 = mul i32 %414, 16777619
  %416 = xor i32 %415, 2
  br label %561

; <label>:417:                                    ; preds = %2
  %418 = bitcast %class.variant.43* %0 to i32*
  %419 = load i32, i32* %418, align 4
  %420 = and i32 %419, 255
  %421 = xor i32 %420, -2128831035
  %422 = mul i32 %421, 16777619
  %423 = lshr i32 %419, 8
  %424 = and i32 %423, 255
  %425 = xor i32 %422, %424
  %426 = mul i32 %425, 16777619
  %427 = lshr i32 %419, 16
  %428 = and i32 %427, 255
  %429 = xor i32 %426, %428
  %430 = mul i32 %429, 16777619
  %431 = lshr i32 %419, 24
  %432 = xor i32 %430, %431
  %433 = mul i32 %432, 16777619
  %434 = xor i32 %433, 3
  br label %561

; <label>:435:                                    ; preds = %2
  %436 = bitcast %class.variant.43* %0 to i32*
  %437 = load i32, i32* %436, align 4
  %438 = and i32 %437, 255
  %439 = xor i32 %438, -2128831035
  %440 = mul i32 %439, 16777619
  %441 = lshr i32 %437, 8
  %442 = and i32 %441, 255
  %443 = xor i32 %440, %442
  %444 = mul i32 %443, 16777619
  %445 = lshr i32 %437, 16
  %446 = and i32 %445, 255
  %447 = xor i32 %444, %446
  %448 = mul i32 %447, 16777619
  %449 = lshr i32 %437, 24
  %450 = xor i32 %448, %449
  %451 = mul i32 %450, 16777619
  %452 = xor i32 %451, 4
  br label %561

; <label>:453:                                    ; preds = %2
  %454 = bitcast %class.variant.43* %0 to i32*
  %455 = load i32, i32* %454, align 4
  %456 = and i32 %455, 255
  %457 = xor i32 %456, -2128831035
  %458 = mul i32 %457, 16777619
  %459 = lshr i32 %455, 8
  %460 = and i32 %459, 255
  %461 = xor i32 %458, %460
  %462 = mul i32 %461, 16777619
  %463 = lshr i32 %455, 16
  %464 = and i32 %463, 255
  %465 = xor i32 %462, %464
  %466 = mul i32 %465, 16777619
  %467 = lshr i32 %455, 24
  %468 = xor i32 %466, %467
  %469 = mul i32 %468, 16777619
  %470 = xor i32 %469, 5
  br label %561

; <label>:471:                                    ; preds = %2
  %472 = bitcast %class.variant.43* %0 to i32*
  %473 = load i32, i32* %472, align 4
  %474 = and i32 %473, 255
  %475 = xor i32 %474, -2128831035
  %476 = mul i32 %475, 16777619
  %477 = lshr i32 %473, 8
  %478 = and i32 %477, 255
  %479 = xor i32 %476, %478
  %480 = mul i32 %479, 16777619
  %481 = lshr i32 %473, 16
  %482 = and i32 %481, 255
  %483 = xor i32 %480, %482
  %484 = mul i32 %483, 16777619
  %485 = lshr i32 %473, 24
  %486 = xor i32 %484, %485
  %487 = mul i32 %486, 16777619
  %488 = xor i32 %487, 6
  br label %561

; <label>:489:                                    ; preds = %2
  %490 = bitcast %class.variant.43* %0 to i32*
  %491 = load i32, i32* %490, align 4
  %492 = and i32 %491, 255
  %493 = xor i32 %492, -2128831035
  %494 = mul i32 %493, 16777619
  %495 = lshr i32 %491, 8
  %496 = and i32 %495, 255
  %497 = xor i32 %494, %496
  %498 = mul i32 %497, 16777619
  %499 = lshr i32 %491, 16
  %500 = and i32 %499, 255
  %501 = xor i32 %498, %500
  %502 = mul i32 %501, 16777619
  %503 = lshr i32 %491, 24
  %504 = xor i32 %502, %503
  %505 = mul i32 %504, 16777619
  %506 = xor i32 %505, 7
  br label %561

; <label>:507:                                    ; preds = %2
  %508 = bitcast %class.variant.43* %0 to i32*
  %509 = load i32, i32* %508, align 4
  %510 = and i32 %509, 255
  %511 = xor i32 %510, -2128831035
  %512 = mul i32 %511, 16777619
  %513 = lshr i32 %509, 8
  %514 = and i32 %513, 255
  %515 = xor i32 %512, %514
  %516 = mul i32 %515, 16777619
  %517 = lshr i32 %509, 16
  %518 = and i32 %517, 255
  %519 = xor i32 %516, %518
  %520 = mul i32 %519, 16777619
  %521 = lshr i32 %509, 24
  %522 = xor i32 %520, %521
  %523 = mul i32 %522, 16777619
  %524 = xor i32 %523, 8
  br label %561

; <label>:525:                                    ; preds = %2
  %526 = bitcast %class.variant.43* %0 to i8*
  %527 = load i8, i8* %526, align 1, !tbaa !12
  %528 = zext i8 %527 to i32
  %529 = xor i32 %528, -2128831035
  %530 = mul i32 %529, 16777619
  br label %561

; <label>:531:                                    ; preds = %2
  %532 = bitcast %class.variant.43* %0 to i8*
  %533 = load i8, i8* %532, align 1, !tbaa !12
  %534 = zext i8 %533 to i32
  %535 = xor i32 %534, -2128831035
  %536 = mul i32 %535, 16777619
  br label %561

; <label>:537:                                    ; preds = %2
  %538 = bitcast %class.variant.43* %0 to i8*
  %539 = load i8, i8* %538, align 1, !tbaa !12
  %540 = zext i8 %539 to i32
  %541 = xor i32 %540, -2128831035
  %542 = mul i32 %541, 16777619
  br label %561

; <label>:543:                                    ; preds = %2
  %544 = bitcast %class.variant.43* %0 to i8*
  %545 = load i8, i8* %544, align 1, !tbaa !12
  %546 = zext i8 %545 to i32
  %547 = xor i32 %546, -2128831035
  %548 = mul i32 %547, 16777619
  br label %561

; <label>:549:                                    ; preds = %2
  %550 = bitcast %class.variant.43* %0 to i8*
  %551 = load i8, i8* %550, align 1, !tbaa !12
  %552 = zext i8 %551 to i32
  %553 = xor i32 %552, -2128831035
  %554 = mul i32 %553, 16777619
  br label %561

; <label>:555:                                    ; preds = %2
  %556 = bitcast %class.variant.43* %0 to i8*
  %557 = load i8, i8* %556, align 1, !tbaa !12
  %558 = zext i8 %557 to i32
  %559 = xor i32 %558, -2128831035
  %560 = mul i32 %559, 16777619
  br label %561

; <label>:561:                                    ; preds = %555, %549, %543, %537, %531, %525, %507, %489, %471, %453, %435, %417, %399, %381, %363, %362, %344, %326, %309, %265, %245, %204, %163, %142, %131, %125, %84, %43, %22, %11, %5, %2
  %562 = phi i32 [ %560, %555 ], [ %554, %549 ], [ %548, %543 ], [ %542, %537 ], [ %536, %531 ], [ %530, %525 ], [ %524, %507 ], [ %506, %489 ], [ %488, %471 ], [ %470, %453 ], [ %452, %435 ], [ %434, %417 ], [ %416, %399 ], [ %398, %381 ], [ %380, %363 ], [ 2, %362 ], [ %361, %344 ], [ %343, %326 ], [ %325, %309 ], [ %308, %265 ], [ %264, %245 ], [ %244, %204 ], [ %203, %163 ], [ %162, %142 ], [ %141, %131 ], [ %130, %125 ], [ %124, %84 ], [ %83, %43 ], [ %42, %22 ], [ %21, %11 ], [ %10, %5 ], [ 1, %2 ]
  ret i32 %562
}

; Function Attrs: inlinehint norecurse nounwind
define linkonce_odr x86_thiscallcc zeroext i1 @"\01??$visitInternal@V?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAV?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@Z"(%class.variant.43*, %"class.detail::DiagonalVisitor"* dereferenceable(4)) local_unnamed_addr #7 comdat align 2 {
  %3 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !135
  switch i32 %4, label %223 [
    i32 0, label %5
    i32 1, label %12
    i32 2, label %19
    i32 3, label %26
    i32 4, label %33
    i32 5, label %41
    i32 6, label %48
    i32 7, label %55
    i32 8, label %62
    i32 9, label %69
    i32 10, label %77
    i32 11, label %84
    i32 12, label %92
    i32 13, label %100
    i32 14, label %230
    i32 15, label %108
    i32 16, label %230
    i32 17, label %116
    i32 18, label %124
    i32 19, label %132
    i32 20, label %140
    i32 21, label %148
    i32 22, label %156
    i32 23, label %164
    i32 24, label %172
    i32 25, label %180
    i32 26, label %188
    i32 27, label %195
    i32 28, label %202
    i32 29, label %209
    i32 30, label %216
  ]

; <label>:5:                                      ; preds = %2
  %6 = bitcast %class.variant.43* %0 to i8*
  %7 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %8 = load i8*, i8** %7, align 4, !tbaa !12
  %9 = load i8, i8* %8, align 1, !tbaa !12
  %10 = load i8, i8* %6, align 1, !tbaa !12
  %11 = icmp eq i8 %9, %10
  br label %230

; <label>:12:                                     ; preds = %2
  %13 = bitcast %class.variant.43* %0 to i16*
  %14 = bitcast %"class.detail::DiagonalVisitor"* %1 to i16**
  %15 = load i16*, i16** %14, align 4, !tbaa !12
  %16 = load i16, i16* %15, align 2, !tbaa !59
  %17 = load i16, i16* %13, align 2, !tbaa !59
  %18 = icmp eq i16 %16, %17
  br label %230

; <label>:19:                                     ; preds = %2
  %20 = bitcast %class.variant.43* %0 to i32*
  %21 = bitcast %"class.detail::DiagonalVisitor"* %1 to i32**
  %22 = load i32*, i32** %21, align 4, !tbaa !12
  %23 = load i32, i32* %22, align 4, !tbaa !24
  %24 = load i32, i32* %20, align 4, !tbaa !24
  %25 = icmp eq i32 %23, %24
  br label %230

; <label>:26:                                     ; preds = %2
  %27 = bitcast %class.variant.43* %0 to i64*
  %28 = bitcast %"class.detail::DiagonalVisitor"* %1 to i64**
  %29 = load i64*, i64** %28, align 4, !tbaa !12
  %30 = load i64, i64* %29, align 8, !tbaa !61
  %31 = load i64, i64* %27, align 8, !tbaa !61
  %32 = icmp eq i64 %30, %31
  br label %230

; <label>:33:                                     ; preds = %2
  %34 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::IntX"**
  %35 = load %"struct.ast::IntX"*, %"struct.ast::IntX"** %34, align 4, !tbaa !12
  %36 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %35, i32 0, i32 0
  %37 = load i64, i64* %36, align 8, !tbaa !63
  %38 = bitcast %class.variant.43* %0 to i64*
  %39 = load i64, i64* %38, align 8, !tbaa !63
  %40 = icmp eq i64 %37, %39
  br label %230

; <label>:41:                                     ; preds = %2
  %42 = bitcast %class.variant.43* %0 to i8*
  %43 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %44 = load i8*, i8** %43, align 4, !tbaa !12
  %45 = load i8, i8* %44, align 1, !tbaa !12
  %46 = load i8, i8* %42, align 1, !tbaa !12
  %47 = icmp eq i8 %45, %46
  br label %230

; <label>:48:                                     ; preds = %2
  %49 = bitcast %class.variant.43* %0 to i16*
  %50 = bitcast %"class.detail::DiagonalVisitor"* %1 to i16**
  %51 = load i16*, i16** %50, align 4, !tbaa !12
  %52 = load i16, i16* %51, align 2, !tbaa !59
  %53 = load i16, i16* %49, align 2, !tbaa !59
  %54 = icmp eq i16 %52, %53
  br label %230

; <label>:55:                                     ; preds = %2
  %56 = bitcast %class.variant.43* %0 to i32*
  %57 = bitcast %"class.detail::DiagonalVisitor"* %1 to i32**
  %58 = load i32*, i32** %57, align 4, !tbaa !12
  %59 = load i32, i32* %58, align 4, !tbaa !24
  %60 = load i32, i32* %56, align 4, !tbaa !24
  %61 = icmp eq i32 %59, %60
  br label %230

; <label>:62:                                     ; preds = %2
  %63 = bitcast %class.variant.43* %0 to i64*
  %64 = bitcast %"class.detail::DiagonalVisitor"* %1 to i64**
  %65 = load i64*, i64** %64, align 4, !tbaa !12
  %66 = load i64, i64* %65, align 8, !tbaa !61
  %67 = load i64, i64* %63, align 8, !tbaa !61
  %68 = icmp eq i64 %66, %67
  br label %230

; <label>:69:                                     ; preds = %2
  %70 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::IntX"**
  %71 = load %"struct.ast::IntX"*, %"struct.ast::IntX"** %70, align 4, !tbaa !12
  %72 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %71, i32 0, i32 0
  %73 = load i64, i64* %72, align 8, !tbaa !65
  %74 = bitcast %class.variant.43* %0 to i64*
  %75 = load i64, i64* %74, align 8, !tbaa !65
  %76 = icmp eq i64 %73, %75
  br label %230

; <label>:77:                                     ; preds = %2
  %78 = bitcast %class.variant.43* %0 to float*
  %79 = bitcast %"class.detail::DiagonalVisitor"* %1 to float**
  %80 = load float*, float** %79, align 4, !tbaa !12
  %81 = load float, float* %80, align 4, !tbaa !70
  %82 = load float, float* %78, align 4, !tbaa !70
  %83 = fcmp oeq float %81, %82
  br label %230

; <label>:84:                                     ; preds = %2
  %85 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 0, i32 0, i32 0
  %86 = getelementptr inbounds %"class.detail::DiagonalVisitor", %"class.detail::DiagonalVisitor"* %1, i32 0, i32 0
  %87 = load %class.variant.43*, %class.variant.43** %86, align 4, !tbaa !12
  %88 = getelementptr inbounds %class.variant.43, %class.variant.43* %87, i32 0, i32 0, i32 0, i32 0
  %89 = load double, double* %88, align 8, !tbaa !72
  %90 = load double, double* %85, align 8, !tbaa !72
  %91 = fcmp oeq double %89, %90
  br label %230

; <label>:92:                                     ; preds = %2
  %93 = bitcast %"class.detail::DiagonalVisitor"* %1 to %class.Ptr.55**
  %94 = load %class.Ptr.55*, %class.Ptr.55** %93, align 4, !tbaa !12
  %95 = getelementptr inbounds %class.Ptr.55, %class.Ptr.55* %94, i32 0, i32 0
  %96 = load %"class.std::basic_string"*, %"class.std::basic_string"** %95, align 4, !tbaa !74
  %97 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %98 = load %"class.std::basic_string"*, %"class.std::basic_string"** %97, align 4, !tbaa !74
  %99 = icmp eq %"class.std::basic_string"* %96, %98
  br label %230

; <label>:100:                                    ; preds = %2
  %101 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::ListBegin"**
  %102 = load %"struct.ast::ListBegin"*, %"struct.ast::ListBegin"** %101, align 4, !tbaa !12
  %103 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %102, i32 0, i32 0, i32 0
  %104 = load %"class.std::vector.37"*, %"class.std::vector.37"** %103, align 4, !tbaa !52
  %105 = bitcast %class.variant.43* %0 to %"class.std::vector.37"**
  %106 = load %"class.std::vector.37"*, %"class.std::vector.37"** %105, align 4, !tbaa !52
  %107 = icmp eq %"class.std::vector.37"* %104, %106
  br label %230

; <label>:108:                                    ; preds = %2
  %109 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::ListBegin"**
  %110 = load %"struct.ast::ListBegin"*, %"struct.ast::ListBegin"** %109, align 4, !tbaa !12
  %111 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %110, i32 0, i32 0, i32 0
  %112 = load %"class.std::vector.37"*, %"class.std::vector.37"** %111, align 4, !tbaa !52
  %113 = bitcast %class.variant.43* %0 to %"class.std::vector.37"**
  %114 = load %"class.std::vector.37"*, %"class.std::vector.37"** %113, align 4, !tbaa !52
  %115 = icmp eq %"class.std::vector.37"* %112, %114
  br label %230

; <label>:116:                                    ; preds = %2
  %117 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::ListBegin"**
  %118 = load %"struct.ast::ListBegin"*, %"struct.ast::ListBegin"** %117, align 4, !tbaa !12
  %119 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %118, i32 0, i32 0, i32 0
  %120 = load %"class.std::vector.37"*, %"class.std::vector.37"** %119, align 4, !tbaa !52
  %121 = bitcast %class.variant.43* %0 to %"class.std::vector.37"**
  %122 = load %"class.std::vector.37"*, %"class.std::vector.37"** %121, align 4, !tbaa !52
  %123 = icmp eq %"class.std::vector.37"* %120, %122
  br label %230

; <label>:124:                                    ; preds = %2
  %125 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %126 = load %"struct.ast::Label"*, %"struct.ast::Label"** %125, align 4, !tbaa !12
  %127 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %126, i32 0, i32 0, i32 0
  %128 = load %"class.std::basic_string"*, %"class.std::basic_string"** %127, align 4, !tbaa !74
  %129 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %130 = load %"class.std::basic_string"*, %"class.std::basic_string"** %129, align 4, !tbaa !74
  %131 = icmp eq %"class.std::basic_string"* %128, %130
  br label %230

; <label>:132:                                    ; preds = %2
  %133 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %134 = load %"struct.ast::Label"*, %"struct.ast::Label"** %133, align 4, !tbaa !12
  %135 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %134, i32 0, i32 0, i32 0
  %136 = load %"class.std::basic_string"*, %"class.std::basic_string"** %135, align 4, !tbaa !74
  %137 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %138 = load %"class.std::basic_string"*, %"class.std::basic_string"** %137, align 4, !tbaa !74
  %139 = icmp eq %"class.std::basic_string"* %136, %138
  br label %230

; <label>:140:                                    ; preds = %2
  %141 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %142 = load %"struct.ast::Label"*, %"struct.ast::Label"** %141, align 4, !tbaa !12
  %143 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %142, i32 0, i32 0, i32 0
  %144 = load %"class.std::basic_string"*, %"class.std::basic_string"** %143, align 4, !tbaa !74
  %145 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %146 = load %"class.std::basic_string"*, %"class.std::basic_string"** %145, align 4, !tbaa !74
  %147 = icmp eq %"class.std::basic_string"* %144, %146
  br label %230

; <label>:148:                                    ; preds = %2
  %149 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %150 = load %"struct.ast::Label"*, %"struct.ast::Label"** %149, align 4, !tbaa !12
  %151 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %150, i32 0, i32 0, i32 0
  %152 = load %"class.std::basic_string"*, %"class.std::basic_string"** %151, align 4, !tbaa !74
  %153 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %154 = load %"class.std::basic_string"*, %"class.std::basic_string"** %153, align 4, !tbaa !74
  %155 = icmp eq %"class.std::basic_string"* %152, %154
  br label %230

; <label>:156:                                    ; preds = %2
  %157 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %158 = load %"struct.ast::Label"*, %"struct.ast::Label"** %157, align 4, !tbaa !12
  %159 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %158, i32 0, i32 0, i32 0
  %160 = load %"class.std::basic_string"*, %"class.std::basic_string"** %159, align 4, !tbaa !74
  %161 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %162 = load %"class.std::basic_string"*, %"class.std::basic_string"** %161, align 4, !tbaa !74
  %163 = icmp eq %"class.std::basic_string"* %160, %162
  br label %230

; <label>:164:                                    ; preds = %2
  %165 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %166 = load %"struct.ast::Label"*, %"struct.ast::Label"** %165, align 4, !tbaa !12
  %167 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %166, i32 0, i32 0, i32 0
  %168 = load %"class.std::basic_string"*, %"class.std::basic_string"** %167, align 4, !tbaa !74
  %169 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %170 = load %"class.std::basic_string"*, %"class.std::basic_string"** %169, align 4, !tbaa !74
  %171 = icmp eq %"class.std::basic_string"* %168, %170
  br label %230

; <label>:172:                                    ; preds = %2
  %173 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %174 = load %"struct.ast::Label"*, %"struct.ast::Label"** %173, align 4, !tbaa !12
  %175 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %174, i32 0, i32 0, i32 0
  %176 = load %"class.std::basic_string"*, %"class.std::basic_string"** %175, align 4, !tbaa !74
  %177 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %178 = load %"class.std::basic_string"*, %"class.std::basic_string"** %177, align 4, !tbaa !74
  %179 = icmp eq %"class.std::basic_string"* %176, %178
  br label %230

; <label>:180:                                    ; preds = %2
  %181 = bitcast %"class.detail::DiagonalVisitor"* %1 to %"struct.ast::Label"**
  %182 = load %"struct.ast::Label"*, %"struct.ast::Label"** %181, align 4, !tbaa !12
  %183 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %182, i32 0, i32 0, i32 0
  %184 = load %"class.std::basic_string"*, %"class.std::basic_string"** %183, align 4, !tbaa !74
  %185 = bitcast %class.variant.43* %0 to %"class.std::basic_string"**
  %186 = load %"class.std::basic_string"*, %"class.std::basic_string"** %185, align 4, !tbaa !74
  %187 = icmp eq %"class.std::basic_string"* %184, %186
  br label %230

; <label>:188:                                    ; preds = %2
  %189 = bitcast %class.variant.43* %0 to i8*
  %190 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %191 = load i8*, i8** %190, align 4, !tbaa !12
  %192 = load i8, i8* %191, align 1, !tbaa !12
  %193 = load i8, i8* %189, align 1, !tbaa !12
  %194 = icmp eq i8 %192, %193
  br label %230

; <label>:195:                                    ; preds = %2
  %196 = bitcast %class.variant.43* %0 to i8*
  %197 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %198 = load i8*, i8** %197, align 4, !tbaa !12
  %199 = load i8, i8* %198, align 1, !tbaa !12
  %200 = load i8, i8* %196, align 1, !tbaa !12
  %201 = icmp eq i8 %199, %200
  br label %230

; <label>:202:                                    ; preds = %2
  %203 = bitcast %class.variant.43* %0 to i8*
  %204 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %205 = load i8*, i8** %204, align 4, !tbaa !12
  %206 = load i8, i8* %205, align 1, !tbaa !12
  %207 = load i8, i8* %203, align 1, !tbaa !12
  %208 = icmp eq i8 %206, %207
  br label %230

; <label>:209:                                    ; preds = %2
  %210 = bitcast %class.variant.43* %0 to i8*
  %211 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %212 = load i8*, i8** %211, align 4, !tbaa !12
  %213 = load i8, i8* %212, align 1, !tbaa !12
  %214 = load i8, i8* %210, align 1, !tbaa !12
  %215 = icmp eq i8 %213, %214
  br label %230

; <label>:216:                                    ; preds = %2
  %217 = bitcast %class.variant.43* %0 to i8*
  %218 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %219 = load i8*, i8** %218, align 4, !tbaa !12
  %220 = load i8, i8* %219, align 1, !tbaa !12
  %221 = load i8, i8* %217, align 1, !tbaa !12
  %222 = icmp eq i8 %220, %221
  br label %230

; <label>:223:                                    ; preds = %2
  %224 = bitcast %class.variant.43* %0 to i8*
  %225 = bitcast %"class.detail::DiagonalVisitor"* %1 to i8**
  %226 = load i8*, i8** %225, align 4, !tbaa !12
  %227 = load i8, i8* %226, align 1, !tbaa !12
  %228 = load i8, i8* %224, align 1, !tbaa !12
  %229 = icmp eq i8 %227, %228
  br label %230

; <label>:230:                                    ; preds = %223, %216, %209, %202, %195, %188, %180, %172, %164, %156, %148, %140, %132, %124, %116, %108, %100, %92, %84, %77, %69, %62, %55, %48, %41, %33, %26, %19, %12, %5, %2, %2
  %231 = phi i1 [ %229, %223 ], [ %222, %216 ], [ %215, %209 ], [ %208, %202 ], [ %201, %195 ], [ %194, %188 ], [ %187, %180 ], [ %179, %172 ], [ %171, %164 ], [ %163, %156 ], [ %155, %148 ], [ %147, %140 ], [ %139, %132 ], [ %131, %124 ], [ %123, %116 ], [ %115, %108 ], [ %107, %100 ], [ %99, %92 ], [ %91, %84 ], [ %83, %77 ], [ %76, %69 ], [ %68, %62 ], [ %61, %55 ], [ %54, %48 ], [ %47, %41 ], [ %40, %33 ], [ %32, %26 ], [ %25, %19 ], [ %18, %12 ], [ %11, %5 ], [ true, %2 ], [ true, %2 ]
  ret i1 %231
}

; Function Attrs: noreturn
declare void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8*) local_unnamed_addr #4

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.7"*) local_unnamed_addr #2 comdat align 2 {
  %2 = alloca %"struct.std::pair.113", align 4
  %3 = alloca %"class.std::_List_unchecked_const_iterator.30", align 4
  %4 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %5 = load float, float* %4, align 4, !tbaa !70
  %6 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !24
  %8 = uitofp i32 %7 to float
  %9 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 4
  %10 = load i32, i32* %9, align 4, !tbaa !160
  %11 = uitofp i32 %10 to float
  %12 = fdiv float %8, %11
  %13 = fcmp olt float %5, %12
  br i1 %13, label %14, label %60

; <label>:14:                                     ; preds = %1
  %15 = icmp ult i32 %10, 512
  %16 = icmp ult i32 %10, 536870911
  %17 = zext i1 %16 to i32
  %18 = select i1 %15, i32 3, i32 %17
  %19 = shl i32 %10, %18
  %20 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 2
  %21 = shl i32 %19, 1
  %22 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %23 = bitcast %"class.std::_List_unchecked_const_iterator.30"** %22 to i32*
  %24 = load i32, i32* %23, align 4, !tbaa !23
  %25 = bitcast %"class.std::vector.24"* %20 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !23
  %27 = sub i32 %24, %26
  %28 = ashr exact i32 %27, 2
  %29 = icmp ult i32 %28, %21
  br i1 %29, label %30, label %34

; <label>:30:                                     ; preds = %14
  %31 = icmp ugt i32 %21, 1073741823
  br i1 %31, label %32, label %33

; <label>:32:                                     ; preds = %30
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:33:                                     ; preds = %30
  tail call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.24"* nonnull %20, i32 %21) #14
  br label %34

; <label>:34:                                     ; preds = %33, %14
  %35 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %35) #14
  %36 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1
  %37 = bitcast %"class.std::list.16"* %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23, !noalias !161
  %39 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %3 to i32*
  store i32 %38, i32* %39, align 4, !alias.scope !166
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector.24"* %20, i32 %21, %"class.std::_List_unchecked_const_iterator.30"* nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %35) #14
  %40 = add i32 %19, -1
  %41 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 3
  store i32 %40, i32* %41, align 4, !tbaa !118
  store i32 %19, i32* %9, align 4, !tbaa !160
  %42 = getelementptr inbounds %"class.std::list.16", %"class.std::list.16"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %43 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %42, align 4, !tbaa !23, !noalias !84
  %44 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %43, i32 0, i32 0
  %45 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %44, align 4, !tbaa !131, !noalias !167
  %46 = icmp eq %"struct.std::_List_node.23"* %45, %43
  br i1 %46, label %60, label %47

; <label>:47:                                     ; preds = %34
  %48 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %43, i32 0, i32 1
  %49 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %48, align 4, !tbaa !134
  %50 = bitcast %"class.std::list.16"* %36 to %"struct.std::_List_node.23"***
  %51 = bitcast %"struct.std::pair.113"* %2 to i8*
  %52 = icmp eq %"struct.std::_List_node.23"* %45, %49
  %53 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %45, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??@63050e9c505cabf46eb983fddbcba5a7@"(%"class.std::_Hash.7"* nonnull %0, %"struct.std::pair.113"* nonnull sret %2, %"class.std::vector.37"* nonnull dereferenceable(12) %53, %"struct.std::_List_node.23"* %45) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %52, label %60, label %54

; <label>:54:                                     ; preds = %47
  br label %55

; <label>:55:                                     ; preds = %55, %54
  %56 = load %"struct.std::_List_node.23"**, %"struct.std::_List_node.23"*** %50, align 4, !tbaa !23, !noalias !172
  %57 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %56, align 4, !tbaa !131, !noalias !172
  %58 = icmp eq %"struct.std::_List_node.23"* %57, %49
  %59 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %57, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??@63050e9c505cabf46eb983fddbcba5a7@"(%"class.std::_Hash.7"* nonnull %0, %"struct.std::pair.113"* nonnull sret %2, %"class.std::vector.37"* nonnull dereferenceable(12) %59, %"struct.std::_List_node.23"* %57) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %58, label %60, label %55

; <label>:60:                                     ; preds = %55, %47, %34, %1
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.24"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = bitcast %"class.std::_List_unchecked_const_iterator.30"** %3 to i32*
  %5 = load i32, i32* %4, align 4, !tbaa !23
  %6 = bitcast %"class.std::vector.24"* %0 to i32*
  %7 = load i32, i32* %6, align 4, !tbaa !23
  %8 = sub i32 %5, %7
  %9 = ashr exact i32 %8, 2
  %10 = icmp eq i32 %1, 0
  br i1 %10, label %31, label %11

; <label>:11:                                     ; preds = %2
  %12 = icmp ugt i32 %1, 1073741823
  br i1 %12, label %13, label %14

; <label>:13:                                     ; preds = %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:14:                                     ; preds = %11
  %15 = shl i32 %1, 2
  %16 = icmp ugt i32 %15, 4095
  br i1 %16, label %17, label %29

; <label>:17:                                     ; preds = %14
  %18 = icmp ugt i32 %15, -36
  br i1 %18, label %19, label %20

; <label>:19:                                     ; preds = %17
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:20:                                     ; preds = %17
  %21 = add i32 %15, 35
  %22 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %21) #14
  %23 = ptrtoint i8* %22 to i32
  %24 = add i32 %23, 35
  %25 = and i32 %24, -32
  %26 = inttoptr i32 %25 to i8*
  %27 = inttoptr i32 %25 to i32*
  %28 = getelementptr inbounds i32, i32* %27, i32 -1
  store i32 %23, i32* %28, align 4, !tbaa !24
  br label %31

; <label>:29:                                     ; preds = %14
  %30 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %15) #14
  br label %31

; <label>:31:                                     ; preds = %29, %20, %2
  %32 = phi i8* [ null, %2 ], [ %26, %20 ], [ %30, %29 ]
  %33 = bitcast i8* %32 to %"class.std::_List_unchecked_const_iterator.30"*
  %34 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %3, align 4, !tbaa !23
  %35 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %36 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %35, align 4, !tbaa !23
  %37 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %36 to i8*
  %38 = ptrtoint %"class.std::_List_unchecked_const_iterator.30"* %36 to i32
  %39 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %36, %34
  br i1 %39, label %95, label %40

; <label>:40:                                     ; preds = %31
  %41 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %34, i32 -1, i32 0
  %42 = ptrtoint %"struct.std::_List_node.23"** %41 to i32
  %43 = sub i32 %42, %38
  %44 = lshr i32 %43, 2
  %45 = add nuw nsw i32 %44, 1
  %46 = icmp ult i32 %45, 8
  br i1 %46, label %81, label %47

; <label>:47:                                     ; preds = %40
  %48 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %34, i32 -1, i32 0
  %49 = ptrtoint %"struct.std::_List_node.23"** %48 to i32
  %50 = sub i32 %49, %38
  %51 = lshr i32 %50, 2
  %52 = add i32 %50, 4
  %53 = and i32 %52, -4
  %54 = getelementptr i8, i8* %32, i32 %53
  %55 = add nuw nsw i32 %51, 1
  %56 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %36, i32 %55
  %57 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %56 to i8*
  %58 = icmp ult i8* %32, %57
  %59 = icmp ugt i8* %54, %37
  %60 = and i1 %58, %59
  br i1 %60, label %81, label %61

; <label>:61:                                     ; preds = %47
  %62 = and i32 %45, 2147483640
  %63 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %33, i32 %62
  %64 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %36, i32 %62
  br label %65

; <label>:65:                                     ; preds = %65, %61
  %66 = phi i32 [ 0, %61 ], [ %77, %65 ]
  %67 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %33, i32 %66
  %68 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %36, i32 %66
  %69 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %68 to <4 x i32>*
  %70 = load <4 x i32>, <4 x i32>* %69, align 4, !alias.scope !177
  %71 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %68, i32 4
  %72 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %71 to <4 x i32>*
  %73 = load <4 x i32>, <4 x i32>* %72, align 4, !alias.scope !177
  %74 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %67 to <4 x i32>*
  store <4 x i32> %70, <4 x i32>* %74, align 4, !alias.scope !180, !noalias !177
  %75 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %67, i32 4
  %76 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %75 to <4 x i32>*
  store <4 x i32> %73, <4 x i32>* %76, align 4, !alias.scope !180, !noalias !177
  %77 = add i32 %66, 8
  %78 = icmp eq i32 %77, %62
  br i1 %78, label %79, label %65, !llvm.loop !182

; <label>:79:                                     ; preds = %65
  %80 = icmp eq i32 %45, %62
  br i1 %80, label %93, label %81

; <label>:81:                                     ; preds = %79, %47, %40
  %82 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %33, %47 ], [ %33, %40 ], [ %63, %79 ]
  %83 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %36, %47 ], [ %36, %40 ], [ %64, %79 ]
  br label %84

; <label>:84:                                     ; preds = %84, %81
  %85 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %90, %84 ], [ %82, %81 ]
  %86 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %91, %84 ], [ %83, %81 ]
  %87 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %86 to i32*
  %88 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %85 to i32*
  %89 = load i32, i32* %87, align 4
  store i32 %89, i32* %88, align 4
  %90 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %85, i32 1
  %91 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %86, i32 1
  %92 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %91, %34
  br i1 %92, label %93, label %84, !llvm.loop !185

; <label>:93:                                     ; preds = %84, %79
  %94 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %35, align 4, !tbaa !23
  br label %95

; <label>:95:                                     ; preds = %93, %31
  %96 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %94, %93 ], [ %34, %31 ]
  %97 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %96, null
  %98 = ptrtoint %"class.std::_List_unchecked_const_iterator.30"* %96 to i32
  %99 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  br i1 %97, label %128, label %100

; <label>:100:                                    ; preds = %95
  %101 = bitcast %"class.std::_List_unchecked_const_iterator.30"** %99 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !23
  %103 = sub i32 %102, %98
  %104 = ashr exact i32 %103, 2
  %105 = icmp ugt i32 %104, 1073741823
  br i1 %105, label %124, label %106

; <label>:106:                                    ; preds = %100
  %107 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %96 to i8*
  %108 = icmp ugt i32 %103, 4095
  br i1 %108, label %109, label %125

; <label>:109:                                    ; preds = %106
  %110 = add i32 %103, 35
  %111 = icmp ult i32 %103, -35
  %112 = and i32 %98, 31
  %113 = icmp eq i32 %112, 0
  %114 = and i1 %113, %111
  br i1 %114, label %115, label %124

; <label>:115:                                    ; preds = %109
  %116 = add i32 %98, -4
  %117 = inttoptr i32 %116 to i32*
  %118 = load i32, i32* %117, align 4, !tbaa !24
  %119 = icmp ult i32 %118, %98
  br i1 %119, label %120, label %124

; <label>:120:                                    ; preds = %115
  %121 = sub i32 %116, %118
  %122 = icmp ugt i32 %121, 31
  %123 = inttoptr i32 %118 to i8*
  br i1 %122, label %124, label %125

; <label>:124:                                    ; preds = %120, %115, %109, %100
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:125:                                    ; preds = %120, %106
  %126 = phi i8* [ %123, %120 ], [ %107, %106 ]
  %127 = phi i32 [ %110, %120 ], [ %103, %106 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %126, i32 %127) #14
  br label %128

; <label>:128:                                    ; preds = %125, %95
  %129 = bitcast %"class.std::vector.24"* %0 to i8**
  store i8* %32, i8** %129, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %33, i32 %9
  store %"class.std::_List_unchecked_const_iterator.30"* %130, %"class.std::_List_unchecked_const_iterator.30"** %3, align 4, !tbaa !23
  %131 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %33, i32 %1
  store %"class.std::_List_unchecked_const_iterator.30"* %131, %"class.std::_List_unchecked_const_iterator.30"** %99, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector.24"*, i32, %"class.std::_List_unchecked_const_iterator.30"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_List_unchecked_const_iterator.30"** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.24"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %"class.std::_List_unchecked_const_iterator.30"** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 2
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %"class.std::_List_unchecked_const_iterator.30"*
  %18 = inttoptr i32 %8 to i8*
  %19 = inttoptr i32 %6 to %"class.std::_List_unchecked_const_iterator.30"*
  br i1 %16, label %20, label %130

; <label>:20:                                     ; preds = %3
  %21 = icmp ugt i32 %1, 1073741823
  br i1 %21, label %22, label %23

; <label>:22:                                     ; preds = %20
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #22
  unreachable

; <label>:23:                                     ; preds = %20
  %24 = lshr i32 %15, 1
  %25 = sub nsw i32 1073741823, %24
  %26 = icmp ugt i32 %15, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %23
  %28 = add i32 %24, %15
  %29 = icmp ult i32 %28, %1
  %30 = select i1 %29, i32 %1, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %23
  %32 = phi i32 [ %30, %27 ], [ %1, %23 ]
  %33 = getelementptr inbounds %"class.std::vector.24", %"class.std::vector.24"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = icmp eq i32 %8, 0
  br i1 %34, label %58, label %35

; <label>:35:                                     ; preds = %31
  %36 = icmp ugt i32 %15, 1073741823
  br i1 %36, label %53, label %37

; <label>:37:                                     ; preds = %35
  %38 = icmp ugt i32 %14, 4095
  br i1 %38, label %39, label %54

; <label>:39:                                     ; preds = %37
  %40 = icmp ult i32 %14, -35
  %41 = and i32 %8, 31
  %42 = icmp eq i32 %41, 0
  %43 = and i1 %40, %42
  br i1 %43, label %44, label %53

; <label>:44:                                     ; preds = %39
  %45 = add i32 %14, 35
  %46 = add i32 %8, -4
  %47 = inttoptr i32 %46 to i32*
  %48 = load i32, i32* %47, align 4, !tbaa !24
  %49 = icmp uge i32 %48, %8
  %50 = sub i32 %46, %48
  %51 = icmp ugt i32 %50, 31
  %52 = or i1 %49, %51
  br i1 %52, label %53, label %54

; <label>:53:                                     ; preds = %44, %39, %35
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:54:                                     ; preds = %44, %37
  %55 = phi i32 [ %8, %37 ], [ %48, %44 ]
  %56 = phi i32 [ %14, %37 ], [ %45, %44 ]
  %57 = inttoptr i32 %55 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %57, i32 %56) #14
  br label %58

; <label>:58:                                     ; preds = %54, %31
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** %33, align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** %4, align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** %11, align 4, !tbaa !23
  %59 = icmp eq i32 %32, 0
  br i1 %59, label %86, label %60

; <label>:60:                                     ; preds = %58
  %61 = icmp ugt i32 %32, 1073741823
  br i1 %61, label %62, label %63

; <label>:62:                                     ; preds = %60
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:63:                                     ; preds = %60
  %64 = shl i32 %32, 2
  %65 = icmp ugt i32 %64, 4095
  br i1 %65, label %66, label %78

; <label>:66:                                     ; preds = %63
  %67 = icmp ugt i32 %64, -36
  br i1 %67, label %68, label %69

; <label>:68:                                     ; preds = %66
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:69:                                     ; preds = %66
  %70 = add i32 %64, 35
  %71 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %70) #14
  %72 = ptrtoint i8* %71 to i32
  %73 = add i32 %72, 35
  %74 = and i32 %73, -32
  %75 = inttoptr i32 %74 to i8*
  %76 = inttoptr i32 %74 to i32*
  %77 = getelementptr inbounds i32, i32* %76, i32 -1
  store i32 %72, i32* %77, align 4, !tbaa !24
  br label %80

; <label>:78:                                     ; preds = %63
  %79 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %64) #14
  br label %80

; <label>:80:                                     ; preds = %78, %69
  %81 = phi i8* [ %75, %69 ], [ %79, %78 ]
  %82 = bitcast i8* %81 to %"class.std::_List_unchecked_const_iterator.30"*
  %83 = bitcast %"class.std::vector.24"* %0 to i8**
  store i8* %81, i8** %83, align 4, !tbaa !23
  %84 = ptrtoint i8* %81 to i32
  store i32 %84, i32* %5, align 4, !tbaa !23
  %85 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %82, i32 %32
  store %"class.std::_List_unchecked_const_iterator.30"* %85, %"class.std::_List_unchecked_const_iterator.30"** %11, align 4, !tbaa !23
  br label %86

; <label>:86:                                     ; preds = %80, %58
  %87 = phi i8* [ %81, %80 ], [ null, %58 ]
  %88 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %82, %80 ], [ null, %58 ]
  %89 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i32*
  %90 = icmp ult i32 %1, 8
  br i1 %90, label %117, label %91

; <label>:91:                                     ; preds = %86
  %92 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %88, i32 %1
  %93 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i8*
  %94 = getelementptr i8, i8* %93, i32 1
  %95 = icmp ult i8* %87, %94
  %96 = icmp ugt %"class.std::_List_unchecked_const_iterator.30"* %92, %2
  %97 = and i1 %95, %96
  br i1 %97, label %117, label %98

; <label>:98:                                     ; preds = %91
  %99 = and i32 %1, -8
  %100 = sub i32 %1, %99
  %101 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %88, i32 %99
  %102 = load i32, i32* %89, align 4, !alias.scope !186
  %103 = insertelement <4 x i32> undef, i32 %102, i32 0
  %104 = shufflevector <4 x i32> %103, <4 x i32> undef, <4 x i32> zeroinitializer
  %105 = insertelement <4 x i32> undef, i32 %102, i32 0
  %106 = shufflevector <4 x i32> %105, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %107

; <label>:107:                                    ; preds = %107, %98
  %108 = phi i32 [ 0, %98 ], [ %113, %107 ]
  %109 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %88, i32 %108
  %110 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %109 to <4 x i32>*
  store <4 x i32> %104, <4 x i32>* %110, align 4, !alias.scope !189, !noalias !186
  %111 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %109, i32 4
  %112 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %111 to <4 x i32>*
  store <4 x i32> %106, <4 x i32>* %112, align 4, !alias.scope !189, !noalias !186
  %113 = add i32 %108, 8
  %114 = icmp eq i32 %113, %99
  br i1 %114, label %115, label %107, !llvm.loop !191

; <label>:115:                                    ; preds = %107
  %116 = icmp eq i32 %99, %1
  br i1 %116, label %128, label %117

; <label>:117:                                    ; preds = %115, %91, %86
  %118 = phi i32 [ %1, %91 ], [ %1, %86 ], [ %100, %115 ]
  %119 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %88, %91 ], [ %88, %86 ], [ %101, %115 ]
  br label %120

; <label>:120:                                    ; preds = %120, %117
  %121 = phi i32 [ %125, %120 ], [ %118, %117 ]
  %122 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %126, %120 ], [ %119, %117 ]
  %123 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %122 to i32*
  %124 = load i32, i32* %89, align 4
  store i32 %124, i32* %123, align 4
  %125 = add i32 %121, -1
  %126 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %122, i32 1
  %127 = icmp eq i32 %125, 0
  br i1 %127, label %128, label %120, !llvm.loop !192

; <label>:128:                                    ; preds = %120, %115
  %129 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %88, i32 %1
  br label %280

; <label>:130:                                    ; preds = %3
  %131 = icmp ult i32 %10, %1
  br i1 %131, label %132, label %233

; <label>:132:                                    ; preds = %130
  %133 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %17, %19
  br i1 %133, label %186, label %134

; <label>:134:                                    ; preds = %132
  %135 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i32*
  %136 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %19, i32 -1, i32 0
  %137 = bitcast %"struct.std::_List_node.23"** %136 to i8*
  %138 = sub i32 0, %8
  %139 = getelementptr i8, i8* %137, i32 %138
  %140 = ptrtoint i8* %139 to i32
  %141 = lshr i32 %140, 2
  %142 = add nuw nsw i32 %141, 1
  %143 = icmp ult i32 %142, 8
  br i1 %143, label %176, label %144

; <label>:144:                                    ; preds = %134
  %145 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %19, i32 -1, i32 0
  %146 = bitcast %"struct.std::_List_node.23"** %145 to i8*
  %147 = sub i32 0, %8
  %148 = getelementptr i8, i8* %146, i32 %147
  %149 = ptrtoint i8* %148 to i32
  %150 = lshr i32 %149, 2
  %151 = add nuw nsw i32 %150, 1
  %152 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %151
  %153 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i8*
  %154 = getelementptr i8, i8* %153, i32 1
  %155 = icmp ugt i8* %154, %18
  %156 = icmp ugt %"class.std::_List_unchecked_const_iterator.30"* %152, %2
  %157 = and i1 %155, %156
  br i1 %157, label %176, label %158

; <label>:158:                                    ; preds = %144
  %159 = and i32 %142, 2147483640
  %160 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %159
  %161 = load i32, i32* %135, align 4, !alias.scope !193
  %162 = insertelement <4 x i32> undef, i32 %161, i32 0
  %163 = shufflevector <4 x i32> %162, <4 x i32> undef, <4 x i32> zeroinitializer
  %164 = insertelement <4 x i32> undef, i32 %161, i32 0
  %165 = shufflevector <4 x i32> %164, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %166

; <label>:166:                                    ; preds = %166, %158
  %167 = phi i32 [ 0, %158 ], [ %172, %166 ]
  %168 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %167
  %169 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %168 to <4 x i32>*
  store <4 x i32> %163, <4 x i32>* %169, align 4, !alias.scope !196, !noalias !193
  %170 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %168, i32 4
  %171 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %170 to <4 x i32>*
  store <4 x i32> %165, <4 x i32>* %171, align 4, !alias.scope !196, !noalias !193
  %172 = add i32 %167, 8
  %173 = icmp eq i32 %172, %159
  br i1 %173, label %174, label %166, !llvm.loop !198

; <label>:174:                                    ; preds = %166
  %175 = icmp eq i32 %142, %159
  br i1 %175, label %184, label %176

; <label>:176:                                    ; preds = %174, %144, %134
  %177 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %17, %144 ], [ %17, %134 ], [ %160, %174 ]
  br label %178

; <label>:178:                                    ; preds = %178, %176
  %179 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %182, %178 ], [ %177, %176 ]
  %180 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %179 to i32*
  %181 = load i32, i32* %135, align 4
  store i32 %181, i32* %180, align 4
  %182 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %179, i32 1
  %183 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %182, %19
  br i1 %183, label %184, label %178, !llvm.loop !199

; <label>:184:                                    ; preds = %178, %174
  %185 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %4, align 4, !tbaa !23
  br label %186

; <label>:186:                                    ; preds = %184, %132
  %187 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %185, %184 ], [ %17, %132 ]
  %188 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %187 to i8*
  %189 = sub i32 %1, %10
  %190 = icmp eq i32 %189, 0
  br i1 %190, label %280, label %191

; <label>:191:                                    ; preds = %186
  %192 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i32*
  %193 = icmp ult i32 %189, 8
  br i1 %193, label %220, label %194

; <label>:194:                                    ; preds = %191
  %195 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %187, i32 %189
  %196 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i8*
  %197 = getelementptr i8, i8* %196, i32 1
  %198 = icmp ugt i8* %197, %188
  %199 = icmp ugt %"class.std::_List_unchecked_const_iterator.30"* %195, %2
  %200 = and i1 %198, %199
  br i1 %200, label %220, label %201

; <label>:201:                                    ; preds = %194
  %202 = and i32 %189, -8
  %203 = sub i32 %189, %202
  %204 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %187, i32 %202
  %205 = load i32, i32* %192, align 4, !alias.scope !200
  %206 = insertelement <4 x i32> undef, i32 %205, i32 0
  %207 = shufflevector <4 x i32> %206, <4 x i32> undef, <4 x i32> zeroinitializer
  %208 = insertelement <4 x i32> undef, i32 %205, i32 0
  %209 = shufflevector <4 x i32> %208, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %210

; <label>:210:                                    ; preds = %210, %201
  %211 = phi i32 [ 0, %201 ], [ %216, %210 ]
  %212 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %187, i32 %211
  %213 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %212 to <4 x i32>*
  store <4 x i32> %207, <4 x i32>* %213, align 4, !alias.scope !203, !noalias !200
  %214 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %212, i32 4
  %215 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %214 to <4 x i32>*
  store <4 x i32> %209, <4 x i32>* %215, align 4, !alias.scope !203, !noalias !200
  %216 = add i32 %211, 8
  %217 = icmp eq i32 %216, %202
  br i1 %217, label %218, label %210, !llvm.loop !205

; <label>:218:                                    ; preds = %210
  %219 = icmp eq i32 %189, %202
  br i1 %219, label %231, label %220

; <label>:220:                                    ; preds = %218, %194, %191
  %221 = phi i32 [ %189, %194 ], [ %189, %191 ], [ %203, %218 ]
  %222 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %187, %194 ], [ %187, %191 ], [ %204, %218 ]
  br label %223

; <label>:223:                                    ; preds = %223, %220
  %224 = phi i32 [ %228, %223 ], [ %221, %220 ]
  %225 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %229, %223 ], [ %222, %220 ]
  %226 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %225 to i32*
  %227 = load i32, i32* %192, align 4
  store i32 %227, i32* %226, align 4
  %228 = add i32 %224, -1
  %229 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %225, i32 1
  %230 = icmp eq i32 %228, 0
  br i1 %230, label %231, label %223, !llvm.loop !206

; <label>:231:                                    ; preds = %223, %218
  %232 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %187, i32 %189
  br label %280

; <label>:233:                                    ; preds = %130
  %234 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %1
  %235 = icmp eq i32 %1, 0
  br i1 %235, label %280, label %236

; <label>:236:                                    ; preds = %233
  %237 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i32*
  %238 = shl i32 %1, 2
  %239 = add i32 %238, -4
  %240 = lshr exact i32 %239, 2
  %241 = add nuw nsw i32 %240, 1
  %242 = icmp ult i32 %241, 8
  br i1 %242, label %272, label %243

; <label>:243:                                    ; preds = %236
  %244 = shl i32 %1, 2
  %245 = add i32 %244, -4
  %246 = lshr exact i32 %245, 2
  %247 = add nuw nsw i32 %246, 1
  %248 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %247
  %249 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i8*
  %250 = getelementptr i8, i8* %249, i32 1
  %251 = icmp ugt i8* %250, %18
  %252 = icmp ugt %"class.std::_List_unchecked_const_iterator.30"* %248, %2
  %253 = and i1 %251, %252
  br i1 %253, label %272, label %254

; <label>:254:                                    ; preds = %243
  %255 = and i32 %241, 2147483640
  %256 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %255
  %257 = load i32, i32* %237, align 4, !alias.scope !207
  %258 = insertelement <4 x i32> undef, i32 %257, i32 0
  %259 = shufflevector <4 x i32> %258, <4 x i32> undef, <4 x i32> zeroinitializer
  %260 = insertelement <4 x i32> undef, i32 %257, i32 0
  %261 = shufflevector <4 x i32> %260, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %262

; <label>:262:                                    ; preds = %262, %254
  %263 = phi i32 [ 0, %254 ], [ %268, %262 ]
  %264 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %17, i32 %263
  %265 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %264 to <4 x i32>*
  store <4 x i32> %259, <4 x i32>* %265, align 4, !alias.scope !210, !noalias !207
  %266 = getelementptr %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %264, i32 4
  %267 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %266 to <4 x i32>*
  store <4 x i32> %261, <4 x i32>* %267, align 4, !alias.scope !210, !noalias !207
  %268 = add i32 %263, 8
  %269 = icmp eq i32 %268, %255
  br i1 %269, label %270, label %262, !llvm.loop !212

; <label>:270:                                    ; preds = %262
  %271 = icmp eq i32 %241, %255
  br i1 %271, label %280, label %272

; <label>:272:                                    ; preds = %270, %243, %236
  %273 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %17, %243 ], [ %17, %236 ], [ %256, %270 ]
  br label %274

; <label>:274:                                    ; preds = %274, %272
  %275 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %278, %274 ], [ %273, %272 ]
  %276 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %275 to i32*
  %277 = load i32, i32* %237, align 4
  store i32 %277, i32* %276, align 4
  %278 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %275, i32 1
  %279 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %278, %234
  br i1 %279, label %280, label %274, !llvm.loop !213

; <label>:280:                                    ; preds = %274, %270, %233, %231, %186, %128
  %281 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %129, %128 ], [ %187, %186 ], [ %232, %231 ], [ %234, %233 ], [ %234, %270 ], [ %234, %274 ]
  store %"class.std::_List_unchecked_const_iterator.30"* %281, %"class.std::_List_unchecked_const_iterator.30"** %4, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??@63050e9c505cabf46eb983fddbcba5a7@"(%"class.std::_Hash.7"*, %"struct.std::pair.113"* noalias sret, %"class.std::vector.37"* dereferenceable(12), %"struct.std::_List_node.23"*) local_unnamed_addr #2 comdat align 2 {
  %5 = alloca %"class.detail::DiagonalVisitor", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 1
  %7 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %2, i32 0, i32 0, i32 0, i32 0, i32 0
  %8 = load %class.variant.43*, %class.variant.43** %7, align 4, !tbaa !23, !noalias !214
  %9 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %10 = load %class.variant.43*, %class.variant.43** %9, align 4, !tbaa !23, !noalias !217
  %11 = icmp eq %class.variant.43* %10, %8
  br i1 %11, label %21, label %12

; <label>:12:                                     ; preds = %4
  %13 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  br label %14

; <label>:14:                                     ; preds = %14, %12
  %15 = phi %class.variant.43* [ %8, %12 ], [ %19, %14 ]
  %16 = phi i32 [ 0, %12 ], [ %18, %14 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #14
  %17 = call x86_thiscallcc i32 @"\01??$visitInternal@UHasher@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAUHasher@detail@@@Z"(%class.variant.43* nonnull %15, %"struct.std::_Not_a_node_tag"* nonnull dereferenceable(1) %6) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #14
  %18 = xor i32 %17, %16
  %19 = getelementptr inbounds %class.variant.43, %class.variant.43* %15, i32 1
  %20 = icmp eq %class.variant.43* %10, %19
  br i1 %20, label %21, label %14

; <label>:21:                                     ; preds = %14, %4
  %22 = phi i32 [ 0, %4 ], [ %18, %14 ]
  %23 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 3
  %24 = load i32, i32* %23, align 4, !tbaa !118
  %25 = and i32 %24, %22
  %26 = shl i32 %25, 1
  %27 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %28 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23, !noalias !220
  %29 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1
  %30 = bitcast %"class.std::list.16"* %29 to i32*
  %31 = load i32, i32* %30, align 4, !tbaa !23, !noalias !223
  %32 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %28, i32 %26, i32 0
  %33 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %32, align 4, !tbaa !50, !noalias !220
  %34 = inttoptr i32 %31 to %"struct.std::_List_node.23"*
  %35 = icmp eq %"struct.std::_List_node.23"* %33, %34
  br i1 %35, label %42, label %36

; <label>:36:                                     ; preds = %21
  %37 = or i32 %26, 1
  %38 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %28, i32 %37
  %39 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %38 to i32**
  %40 = load i32*, i32** %39, align 4, !noalias !220
  %41 = load i32, i32* %40, align 4, !tbaa !131, !noalias !220
  br label %42

; <label>:42:                                     ; preds = %36, %21
  %43 = phi i32 [ %41, %36 ], [ %31, %21 ]
  %44 = inttoptr i32 %43 to %"struct.std::_List_node.23"*
  %45 = icmp eq %"struct.std::_List_node.23"* %33, %44
  br i1 %45, label %145, label %46

; <label>:46:                                     ; preds = %42
  %47 = bitcast %class.variant.43** %9 to i32*
  %48 = bitcast %"class.std::vector.37"* %2 to i32*
  %49 = bitcast %"class.detail::DiagonalVisitor"* %5 to i8*
  %50 = getelementptr inbounds %"class.detail::DiagonalVisitor", %"class.detail::DiagonalVisitor"* %5, i32 0, i32 0
  br label %51

; <label>:51:                                     ; preds = %140, %46
  %52 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %28, %46 ], [ %141, %140 ]
  %53 = phi %"struct.std::_List_node.23"* [ %44, %46 ], [ %57, %140 ]
  %54 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %53, i32 0, i32 1
  %55 = bitcast %"struct.std::_List_node.23"** %54 to i32*
  %56 = load i32, i32* %55, align 4, !tbaa !134
  %57 = inttoptr i32 %56 to %"struct.std::_List_node.23"*
  %58 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %57, i32 0, i32 2
  %59 = load i32, i32* %47, align 4, !tbaa !23
  %60 = load i32, i32* %48, align 4, !tbaa !23
  %61 = sub i32 %59, %60
  %62 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %57, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %63 = bitcast %class.variant.43** %62 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !23
  %65 = bitcast %"class.std::vector.37"* %58 to i32*
  %66 = load i32, i32* %65, align 4, !tbaa !23
  %67 = sub i32 %64, %66
  %68 = icmp eq i32 %61, %67
  br i1 %68, label %69, label %140

; <label>:69:                                     ; preds = %51
  %70 = inttoptr i32 %60 to %class.variant.43*
  %71 = inttoptr i32 %59 to %class.variant.43*
  %72 = icmp eq %class.variant.43* %70, %71
  br i1 %72, label %89, label %73

; <label>:73:                                     ; preds = %69
  %74 = inttoptr i32 %66 to %class.variant.43*
  br label %75

; <label>:75:                                     ; preds = %85, %73
  %76 = phi %class.variant.43* [ %70, %73 ], [ %86, %85 ]
  %77 = phi %class.variant.43* [ %74, %73 ], [ %87, %85 ]
  %78 = getelementptr inbounds %class.variant.43, %class.variant.43* %76, i32 0, i32 1
  %79 = load i32, i32* %78, align 8, !tbaa !135
  %80 = getelementptr inbounds %class.variant.43, %class.variant.43* %77, i32 0, i32 1
  %81 = load i32, i32* %80, align 8, !tbaa !135
  %82 = icmp eq i32 %79, %81
  br i1 %82, label %83, label %138

; <label>:83:                                     ; preds = %75
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %49) #14
  store %class.variant.43* %77, %class.variant.43** %50, align 4, !tbaa !12
  %84 = call x86_thiscallcc zeroext i1 @"\01??$visitInternal@V?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAV?$DiagonalVisitor@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@Uequal_to@std@@@detail@@@Z"(%class.variant.43* nonnull %76, %"class.detail::DiagonalVisitor"* nonnull dereferenceable(4) %5) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %49) #14
  br i1 %84, label %85, label %138

; <label>:85:                                     ; preds = %83
  %86 = getelementptr inbounds %class.variant.43, %class.variant.43* %76, i32 1
  %87 = getelementptr inbounds %class.variant.43, %class.variant.43* %77, i32 1
  %88 = icmp eq %class.variant.43* %86, %71
  br i1 %88, label %89, label %75

; <label>:89:                                     ; preds = %85, %69
  %90 = bitcast %"struct.std::_List_node.23"* %3 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !131, !noalias !228
  %92 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 0
  %93 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 1
  %94 = bitcast %"struct.std::_List_node.23"** %93 to i32**
  %95 = load i32*, i32** %94, align 4, !tbaa !134, !noalias !228
  store i32 %91, i32* %95, align 4, !tbaa !131, !noalias !228
  %96 = ptrtoint i32* %95 to i32
  %97 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %92, align 4, !tbaa !131, !noalias !228
  %98 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %97, i32 0, i32 1
  %99 = bitcast %"struct.std::_List_node.23"** %98 to i32*
  store i32 %96, i32* %99, align 4, !tbaa !134, !noalias !228
  %100 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %101 = load i32, i32* %100, align 4, !tbaa !24, !noalias !228
  %102 = add i32 %101, -1
  store i32 %102, i32* %100, align 4, !tbaa !24, !noalias !228
  %103 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %104 = load %class.variant.43*, %class.variant.43** %103, align 4, !tbaa !23, !noalias !228
  %105 = icmp eq %class.variant.43* %104, null
  %106 = ptrtoint %class.variant.43* %104 to i32
  br i1 %105, label %136, label %107

; <label>:107:                                    ; preds = %89
  %108 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %109 = bitcast %class.variant.43** %108 to i32*
  %110 = load i32, i32* %109, align 4, !tbaa !23, !noalias !228
  %111 = sub i32 %110, %106
  %112 = ashr exact i32 %111, 4
  %113 = icmp ugt i32 %112, 268435455
  br i1 %113, label %132, label %114

; <label>:114:                                    ; preds = %107
  %115 = bitcast %class.variant.43* %104 to i8*
  %116 = icmp ugt i32 %111, 4095
  br i1 %116, label %117, label %133

; <label>:117:                                    ; preds = %114
  %118 = add i32 %111, 35
  %119 = icmp ult i32 %111, -35
  %120 = and i32 %106, 31
  %121 = icmp eq i32 %120, 0
  %122 = and i1 %121, %119
  br i1 %122, label %123, label %132

; <label>:123:                                    ; preds = %117
  %124 = add i32 %106, -4
  %125 = inttoptr i32 %124 to i32*
  %126 = load i32, i32* %125, align 4, !tbaa !24, !noalias !228
  %127 = icmp ult i32 %126, %106
  br i1 %127, label %128, label %132

; <label>:128:                                    ; preds = %123
  %129 = sub i32 %124, %126
  %130 = icmp ugt i32 %129, 31
  %131 = inttoptr i32 %126 to i8*
  br i1 %130, label %132, label %133

; <label>:132:                                    ; preds = %128, %123, %117, %107
  call void @_invalid_parameter_noinfo_noreturn() #12, !noalias !228
  unreachable

; <label>:133:                                    ; preds = %128, %114
  %134 = phi i8* [ %131, %128 ], [ %115, %114 ]
  %135 = phi i32 [ %118, %128 ], [ %111, %114 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %134, i32 %135) #14, !noalias !228
  br label %136

; <label>:136:                                    ; preds = %133, %89
  %137 = bitcast %"struct.std::_List_node.23"* %3 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %137, i32 20) #14, !noalias !228
  br label %206

; <label>:138:                                    ; preds = %83, %75
  %139 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23, !noalias !231
  br label %140

; <label>:140:                                    ; preds = %138, %51
  %141 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %139, %138 ], [ %52, %51 ]
  %142 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %141, i32 %26, i32 0
  %143 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %142, align 4, !noalias !231
  %144 = icmp eq %"struct.std::_List_node.23"* %143, %57
  br i1 %144, label %145, label %51

; <label>:145:                                    ; preds = %140, %42
  %146 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %28, %42 ], [ %141, %140 ]
  %147 = phi %"struct.std::_List_node.23"* [ %33, %42 ], [ %57, %140 ]
  %148 = ptrtoint %"struct.std::_List_node.23"* %3 to i32
  %149 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 0
  %150 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %149, align 4, !tbaa !131
  %151 = icmp eq %"struct.std::_List_node.23"* %150, %147
  br i1 %151, label %169, label %152

; <label>:152:                                    ; preds = %145
  %153 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 1
  %154 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %153, align 4, !tbaa !134
  %155 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %154, i32 0, i32 0
  store %"struct.std::_List_node.23"* %150, %"struct.std::_List_node.23"** %155, align 4, !tbaa !131
  %156 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %150, i32 0, i32 1
  %157 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %156, align 4, !tbaa !134
  %158 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %157, i32 0, i32 0
  store %"struct.std::_List_node.23"* %147, %"struct.std::_List_node.23"** %158, align 4, !tbaa !131
  %159 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %147, i32 0, i32 1
  %160 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %159, align 4, !tbaa !134
  %161 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %160, i32 0, i32 0
  store %"struct.std::_List_node.23"* %3, %"struct.std::_List_node.23"** %161, align 4, !tbaa !131
  %162 = bitcast %"struct.std::_List_node.23"** %159 to i32*
  %163 = ptrtoint %"struct.std::_List_node.23"* %160 to i32
  %164 = bitcast %"struct.std::_List_node.23"** %156 to i32*
  %165 = ptrtoint %"struct.std::_List_node.23"* %157 to i32
  store i32 %165, i32* %162, align 4, !tbaa !134
  %166 = bitcast %"struct.std::_List_node.23"** %153 to i32*
  %167 = load i32, i32* %166, align 4, !tbaa !134
  store i32 %167, i32* %164, align 4, !tbaa !134
  store i32 %163, i32* %166, align 4, !tbaa !134
  %168 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  br label %169

; <label>:169:                                    ; preds = %152, %145
  %170 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %146, %145 ], [ %168, %152 ]
  %171 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %170, i32 %26
  %172 = getelementptr inbounds %"class.std::_Hash.7", %"class.std::_Hash.7"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %173 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %172, align 4, !tbaa !23, !noalias !234
  %174 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %171, i32 0, i32 0
  %175 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %174, align 4, !tbaa !50
  %176 = icmp eq %"struct.std::_List_node.23"* %175, %173
  br i1 %176, label %177, label %182

; <label>:177:                                    ; preds = %169
  %178 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %171 to i32*
  store i32 %148, i32* %178, align 4
  %179 = or i32 %26, 1
  %180 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  %181 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %180, i32 %179
  br label %201

; <label>:182:                                    ; preds = %169
  %183 = icmp eq %"struct.std::_List_node.23"* %175, %147
  br i1 %183, label %201, label %184

; <label>:184:                                    ; preds = %182
  %185 = or i32 %26, 1
  %186 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %170, i32 %185
  %187 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %186 to i32**
  %188 = load i32*, i32** %187, align 4, !tbaa !50
  %189 = load i32, i32* %188, align 4, !tbaa !131
  %190 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %186 to i32*
  store i32 %189, i32* %190, align 4, !tbaa !50
  %191 = inttoptr i32 %189 to %"struct.std::_List_node.23"*
  %192 = icmp eq %"struct.std::_List_node.23"* %191, %3
  br i1 %192, label %205, label %193

; <label>:193:                                    ; preds = %184
  %194 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** %27, align 4, !tbaa !23
  %195 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %194, i32 %185
  %196 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator.30", %"class.std::_List_unchecked_const_iterator.30"* %195, i32 0, i32 0
  %197 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %196, align 4, !tbaa !50
  %198 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %197, i32 0, i32 1
  %199 = bitcast %"struct.std::_List_node.23"** %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !134
  br label %201

; <label>:201:                                    ; preds = %193, %182, %177
  %202 = phi %"class.std::_List_unchecked_const_iterator.30"* [ %195, %193 ], [ %181, %177 ], [ %171, %182 ]
  %203 = phi i32 [ %200, %193 ], [ %148, %177 ], [ %148, %182 ]
  %204 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %202 to i32*
  store i32 %203, i32* %204, align 4
  br label %205

; <label>:205:                                    ; preds = %201, %184
  call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.7"* nonnull %0)
  br label %206

; <label>:206:                                    ; preds = %205, %136
  %207 = phi i32 [ %148, %205 ], [ %56, %136 ]
  %208 = phi i8 [ 1, %205 ], [ 0, %136 ]
  %209 = bitcast %"struct.std::pair.113"* %1 to i32*
  store i32 %207, i32* %209, align 4
  %210 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %1, i32 0, i32 1
  store i8 %208, i8* %210, align 4, !tbaa !156
  ret void
}

; Function Attrs: inlinehint nounwind
define internal fastcc void @"\01??R<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@QBE?A?<auto>@@UNonterminalStart@23@@Z"(%class.anon* nocapture readonly, i32, i32) unnamed_addr #1 align 2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::pair", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::pair", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::pair.113", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::pair.113", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::pair.113", align 4
  %16 = alloca %"struct.ast::ListBegin", align 4
  %17 = alloca %"class.std::vector.37", align 4
  %18 = alloca %"class.std::vector.45", align 4
  %19 = alloca %class.variant.43, align 8
  %20 = alloca %"struct.ast::ASTNodeInfo", align 4
  %21 = alloca %"struct.ast::ASTNodeInfo", align 4
  %22 = alloca %"struct.ast::ListBegin", align 4
  %23 = alloca %"class.std::vector.37", align 4
  %24 = alloca %"class.std::vector.45", align 4
  %25 = alloca %class.variant.43, align 8
  %26 = alloca %"struct.ast::ASTNodeInfo", align 4
  %27 = alloca %"struct.ast::ASTNodeInfo", align 4
  %28 = alloca %"struct.ast::ListBegin", align 4
  %29 = alloca %"class.std::vector.37", align 4
  %30 = alloca %"class.std::vector.45", align 4
  %31 = alloca %"struct.ast::ASTNodeInfo", align 4
  %32 = alloca %"struct.ast::Label", align 4
  %33 = alloca %"class.std::basic_string", align 4
  %34 = alloca %"class.std::basic_string.101", align 4
  %35 = alloca %"struct.ast::ASTNodeInfo", align 4
  %36 = alloca %"struct.ast::Label", align 4
  %37 = alloca %"class.std::basic_string", align 4
  %38 = alloca %"class.std::basic_string.101", align 4
  %39 = alloca %"struct.ast::ASTNodeInfo", align 4
  %40 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 0
  %41 = load %"class.ast::ASTBuilder"*, %"class.ast::ASTBuilder"** %40, align 4, !tbaa !239
  switch i32 %1, label %974 [
    i32 11, label %42
    i32 10, label %241
    i32 12, label %440
    i32 9, label %576
    i32 8, label %775
  ]

; <label>:42:                                     ; preds = %3
  %43 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 5
  %44 = load i32, i32* %43, align 4, !tbaa !26
  %45 = add i32 %44, 1
  store i32 %45, i32* %43, align 4, !tbaa !26
  %46 = bitcast %"struct.ast::ListBegin"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %46) #14
  %47 = bitcast %"class.std::vector.37"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %47) #14
  %48 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %17, i32 0, i32 0, i32 0, i32 0, i32 0
  store %class.variant.43* null, %class.variant.43** %48, align 4, !tbaa !32
  %49 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  store %class.variant.43* null, %class.variant.43** %49, align 4, !tbaa !34
  %50 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  store %class.variant.43* null, %class.variant.43** %50, align 4, !tbaa !35
  %51 = bitcast %"class.std::vector.45"* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %51) #14
  %52 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %18, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %52, align 4, !tbaa !36
  %53 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %18, i32 0, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %53, align 4, !tbaa !38
  %54 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %18, i32 0, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %54, align 4, !tbaa !39
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* %41, %"class.std::vector.37"* nonnull dereferenceable(12) %17, %"class.std::vector.45"* nonnull dereferenceable(12) %18)
  %55 = bitcast %class.variant.43* %19 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %55) #14
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %19, i32 0, i32 1
  store i32 14, i32* %56, align 8, !tbaa !135
  %57 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@Z"(%"class.std::vector.37"* nonnull %17, %class.variant.43* nonnull dereferenceable(16) %19) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %55) #14
  %58 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 2
  %59 = load %class.Interner.5*, %class.Interner.5** %58, align 4, !tbaa !12
  %60 = bitcast %"struct.std::pair.113"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %60) #14, !noalias !241
  %61 = getelementptr inbounds %class.Interner.5, %class.Interner.5* %59, i32 0, i32 0, i32 0
  %62 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %62) #14, !noalias !241
  call x86_thiscallcc void @"\01??@ecdc85686029a3757587674877544440@"(%"class.std::_Hash.7"* %61, %"struct.std::pair.113"* nonnull sret %15, %"class.std::vector.37"* nonnull dereferenceable(12) %17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14) #14, !noalias !241
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %62) #14, !noalias !241
  %63 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %15, i32 0, i32 0, i32 0, i32 0
  %64 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %63, align 4, !tbaa !50, !noalias !241
  %65 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %64, i32 0, i32 2
  %66 = ptrtoint %"class.std::vector.37"* %65 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %60) #14, !noalias !241
  %67 = bitcast %"struct.ast::ListBegin"* %16 to i32*
  store i32 %66, i32* %67, align 4, !tbaa !23
  %68 = load i32, i32* %43, align 4, !tbaa !26
  %69 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %70 = load %class.variant*, %class.variant** %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %class.variant, %class.variant* %70, i32 %68, i32 1
  %72 = load i32, i32* %71, align 4, !tbaa !27
  %73 = icmp eq i32 %72, 1
  br i1 %73, label %74, label %78

; <label>:74:                                     ; preds = %42
  %75 = getelementptr inbounds %class.variant, %class.variant* %70, i32 %68, i32 0, i32 0, i32 0
  %76 = load i32, i32* %75, align 4, !tbaa !45
  %77 = icmp eq i32 %76, 11
  br i1 %77, label %81, label %78

; <label>:78:                                     ; preds = %74, %42
  call void @_wassert(i16* getelementptr inbounds ([27 x i16], [27 x i16]* @"\01??_C@_1DG@OPPABMNJ@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAi?$AAs?$AAt?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 109) #14
  %79 = load i32, i32* %43, align 4, !tbaa !26
  %80 = load %class.variant*, %class.variant** %69, align 4, !tbaa !23
  br label %81

; <label>:81:                                     ; preds = %78, %74
  %82 = phi %class.variant* [ %80, %78 ], [ %70, %74 ]
  %83 = phi i32 [ %79, %78 ], [ %68, %74 ]
  %84 = bitcast %"struct.ast::ASTNodeInfo"* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %84) #14
  %85 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %20, i32 0, i32 0
  %86 = getelementptr inbounds %class.variant, %class.variant* %82, i32 %83, i32 0, i32 0, i32 1
  %87 = bitcast [8 x i8]* %86 to i32*
  %88 = load i32, i32* %87, align 4, !tbaa !244
  %89 = add i32 %88, -1
  %90 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 6
  %91 = load i32, i32* %90, align 4, !tbaa !19
  %92 = add i32 %89, %91
  store i32 %92, i32* %85, align 4, !tbaa !67
  %93 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %20, i32 0, i32 1
  %94 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %93, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %94, align 4, !tbaa !36
  %95 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %20, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %95, align 4, !tbaa !38
  %96 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %20, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %96, align 4, !tbaa !39
  %97 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* nonnull %18, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %20) #14
  %98 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %94, align 4, !tbaa !23
  %99 = icmp eq %"struct.ast::ASTNodeInfo"* %98, null
  br i1 %99, label %141, label %100

; <label>:100:                                    ; preds = %81
  %101 = ptrtoint %"struct.ast::ASTNodeInfo"* %98 to i32
  %102 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %95, align 4, !tbaa !23
  %103 = icmp eq %"struct.ast::ASTNodeInfo"* %98, %102
  br i1 %103, label %113, label %104

; <label>:104:                                    ; preds = %100
  br label %105

; <label>:105:                                    ; preds = %105, %104
  %106 = phi %"struct.ast::ASTNodeInfo"* [ %108, %105 ], [ %98, %104 ]
  %107 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %106, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %107) #14
  %108 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %106, i32 1
  %109 = icmp eq %"struct.ast::ASTNodeInfo"* %108, %102
  br i1 %109, label %110, label %105

; <label>:110:                                    ; preds = %105
  %111 = bitcast %"class.std::vector.45"* %93 to i32*
  %112 = load i32, i32* %111, align 4, !tbaa !23
  br label %113

; <label>:113:                                    ; preds = %110, %100
  %114 = phi i32 [ %112, %110 ], [ %101, %100 ]
  %115 = bitcast %"struct.ast::ASTNodeInfo"** %96 to i32*
  %116 = load i32, i32* %115, align 4, !tbaa !23
  %117 = sub i32 %116, %114
  %118 = ashr exact i32 %117, 4
  %119 = icmp ugt i32 %118, 268435455
  br i1 %119, label %136, label %120

; <label>:120:                                    ; preds = %113
  %121 = icmp ugt i32 %117, 4095
  br i1 %121, label %122, label %137

; <label>:122:                                    ; preds = %120
  %123 = icmp ult i32 %117, -35
  %124 = and i32 %114, 31
  %125 = icmp eq i32 %124, 0
  %126 = and i1 %125, %123
  br i1 %126, label %127, label %136

; <label>:127:                                    ; preds = %122
  %128 = add i32 %117, 35
  %129 = add i32 %114, -4
  %130 = inttoptr i32 %129 to i32*
  %131 = load i32, i32* %130, align 4, !tbaa !24
  %132 = icmp uge i32 %131, %114
  %133 = sub i32 %129, %131
  %134 = icmp ugt i32 %133, 31
  %135 = or i1 %132, %134
  br i1 %135, label %136, label %137

; <label>:136:                                    ; preds = %127, %122, %113
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:137:                                    ; preds = %127, %120
  %138 = phi i32 [ %114, %120 ], [ %131, %127 ]
  %139 = phi i32 [ %117, %120 ], [ %128, %127 ]
  %140 = inttoptr i32 %138 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %140, i32 %139) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %94, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %95, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %96, align 4, !tbaa !23
  br label %141

; <label>:141:                                    ; preds = %137, %81
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %84) #14
  %142 = load i32, i32* %43, align 4, !tbaa !26
  %143 = add i32 %142, 1
  store i32 %143, i32* %43, align 4, !tbaa !26
  %144 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 1
  %145 = load %"class.std::vector.37"*, %"class.std::vector.37"** %144, align 4, !tbaa !12
  %146 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UListBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUListBegin@ast@@@Z"(%"class.std::vector.37"* %145, %"struct.ast::ListBegin"* nonnull dereferenceable(4) %16)
  %147 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 2
  %148 = load %"class.std::vector.45"*, %"class.std::vector.45"** %147, align 4, !tbaa !12
  %149 = bitcast %"struct.ast::ASTNodeInfo"* %21 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %149) #14
  %150 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %21, i32 0, i32 0
  %151 = load i32, i32* %90, align 4, !tbaa !19
  %152 = add i32 %151, %2
  store i32 %152, i32* %150, align 4, !tbaa !67
  %153 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %21, i32 0, i32 1
  %154 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %153, i32 0, i32 0, i32 0, i32 0, i32 0
  %155 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %21, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %156 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %21, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %157 = bitcast %"class.std::vector.45"* %18 to i32*
  %158 = load i32, i32* %157, align 4, !tbaa !23
  %159 = bitcast %"class.std::vector.45"* %153 to i32*
  store i32 %158, i32* %159, align 4, !tbaa !23
  %160 = bitcast %"struct.ast::ASTNodeInfo"** %53 to i32*
  %161 = load i32, i32* %160, align 4, !tbaa !23
  %162 = bitcast %"struct.ast::ASTNodeInfo"** %155 to i32*
  store i32 %161, i32* %162, align 4, !tbaa !23
  %163 = bitcast %"struct.ast::ASTNodeInfo"** %54 to i32*
  %164 = load i32, i32* %163, align 4, !tbaa !23
  %165 = bitcast %"struct.ast::ASTNodeInfo"** %156 to i32*
  store i32 %164, i32* %165, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %52, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %53, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %54, align 4, !tbaa !23
  %166 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %148, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %21) #14
  %167 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %154, align 4, !tbaa !23
  %168 = icmp eq %"struct.ast::ASTNodeInfo"* %167, null
  br i1 %168, label %208, label %169

; <label>:169:                                    ; preds = %141
  %170 = ptrtoint %"struct.ast::ASTNodeInfo"* %167 to i32
  %171 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %155, align 4, !tbaa !23
  %172 = icmp eq %"struct.ast::ASTNodeInfo"* %167, %171
  br i1 %172, label %181, label %173

; <label>:173:                                    ; preds = %169
  br label %174

; <label>:174:                                    ; preds = %174, %173
  %175 = phi %"struct.ast::ASTNodeInfo"* [ %177, %174 ], [ %167, %173 ]
  %176 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %175, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %176) #14
  %177 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %175, i32 1
  %178 = icmp eq %"struct.ast::ASTNodeInfo"* %177, %171
  br i1 %178, label %179, label %174

; <label>:179:                                    ; preds = %174
  %180 = load i32, i32* %159, align 4, !tbaa !23
  br label %181

; <label>:181:                                    ; preds = %179, %169
  %182 = phi i32 [ %180, %179 ], [ %170, %169 ]
  %183 = load i32, i32* %165, align 4, !tbaa !23
  %184 = sub i32 %183, %182
  %185 = ashr exact i32 %184, 4
  %186 = icmp ugt i32 %185, 268435455
  br i1 %186, label %203, label %187

; <label>:187:                                    ; preds = %181
  %188 = icmp ugt i32 %184, 4095
  br i1 %188, label %189, label %204

; <label>:189:                                    ; preds = %187
  %190 = icmp ult i32 %184, -35
  %191 = and i32 %182, 31
  %192 = icmp eq i32 %191, 0
  %193 = and i1 %192, %190
  br i1 %193, label %194, label %203

; <label>:194:                                    ; preds = %189
  %195 = add i32 %184, 35
  %196 = add i32 %182, -4
  %197 = inttoptr i32 %196 to i32*
  %198 = load i32, i32* %197, align 4, !tbaa !24
  %199 = icmp uge i32 %198, %182
  %200 = sub i32 %196, %198
  %201 = icmp ugt i32 %200, 31
  %202 = or i1 %199, %201
  br i1 %202, label %203, label %204

; <label>:203:                                    ; preds = %194, %189, %181
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:204:                                    ; preds = %194, %187
  %205 = phi i32 [ %182, %187 ], [ %198, %194 ]
  %206 = phi i32 [ %184, %187 ], [ %195, %194 ]
  %207 = inttoptr i32 %205 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %207, i32 %206) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %154, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %155, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %156, align 4, !tbaa !23
  br label %208

; <label>:208:                                    ; preds = %204, %141
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %149) #14
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* nonnull %18) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %51) #14
  %209 = load %class.variant.43*, %class.variant.43** %48, align 4, !tbaa !23
  %210 = icmp eq %class.variant.43* %209, null
  %211 = ptrtoint %class.variant.43* %209 to i32
  br i1 %210, label %240, label %212

; <label>:212:                                    ; preds = %208
  %213 = bitcast %class.variant.43** %50 to i32*
  %214 = load i32, i32* %213, align 4, !tbaa !23
  %215 = sub i32 %214, %211
  %216 = ashr exact i32 %215, 4
  %217 = icmp ugt i32 %216, 268435455
  br i1 %217, label %236, label %218

; <label>:218:                                    ; preds = %212
  %219 = bitcast %class.variant.43* %209 to i8*
  %220 = icmp ugt i32 %215, 4095
  br i1 %220, label %221, label %237

; <label>:221:                                    ; preds = %218
  %222 = add i32 %215, 35
  %223 = icmp ult i32 %215, -35
  %224 = and i32 %211, 31
  %225 = icmp eq i32 %224, 0
  %226 = and i1 %225, %223
  br i1 %226, label %227, label %236

; <label>:227:                                    ; preds = %221
  %228 = add i32 %211, -4
  %229 = inttoptr i32 %228 to i32*
  %230 = load i32, i32* %229, align 4, !tbaa !24
  %231 = icmp ult i32 %230, %211
  br i1 %231, label %232, label %236

; <label>:232:                                    ; preds = %227
  %233 = sub i32 %228, %230
  %234 = icmp ugt i32 %233, 31
  %235 = inttoptr i32 %230 to i8*
  br i1 %234, label %236, label %237

; <label>:236:                                    ; preds = %232, %227, %221, %212
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:237:                                    ; preds = %232, %218
  %238 = phi i8* [ %235, %232 ], [ %219, %218 ]
  %239 = phi i32 [ %222, %232 ], [ %215, %218 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %238, i32 %239) #14
  store %class.variant.43* null, %class.variant.43** %48, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %49, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %50, align 4, !tbaa !23
  br label %240

; <label>:240:                                    ; preds = %237, %208
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %47) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %46) #14
  br label %975

; <label>:241:                                    ; preds = %3
  %242 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 5
  %243 = load i32, i32* %242, align 4, !tbaa !26
  %244 = add i32 %243, 1
  store i32 %244, i32* %242, align 4, !tbaa !26
  %245 = bitcast %"struct.ast::ListBegin"* %22 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %245) #14
  %246 = bitcast %"class.std::vector.37"* %23 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %246) #14
  %247 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %23, i32 0, i32 0, i32 0, i32 0, i32 0
  store %class.variant.43* null, %class.variant.43** %247, align 4, !tbaa !32
  %248 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %23, i32 0, i32 0, i32 0, i32 0, i32 1
  store %class.variant.43* null, %class.variant.43** %248, align 4, !tbaa !34
  %249 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %23, i32 0, i32 0, i32 0, i32 0, i32 2
  store %class.variant.43* null, %class.variant.43** %249, align 4, !tbaa !35
  %250 = bitcast %"class.std::vector.45"* %24 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %250) #14
  %251 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %24, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %251, align 4, !tbaa !36
  %252 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %24, i32 0, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %252, align 4, !tbaa !38
  %253 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %24, i32 0, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %253, align 4, !tbaa !39
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* %41, %"class.std::vector.37"* nonnull dereferenceable(12) %23, %"class.std::vector.45"* nonnull dereferenceable(12) %24)
  %254 = bitcast %class.variant.43* %25 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %254) #14
  %255 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 0, i32 1
  store i32 16, i32* %255, align 8, !tbaa !135
  %256 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@Z"(%"class.std::vector.37"* nonnull %23, %class.variant.43* nonnull dereferenceable(16) %25) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %254) #14
  %257 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 2
  %258 = load %class.Interner.5*, %class.Interner.5** %257, align 4, !tbaa !12
  %259 = bitcast %"struct.std::pair.113"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %259) #14, !noalias !245
  %260 = getelementptr inbounds %class.Interner.5, %class.Interner.5* %258, i32 0, i32 0, i32 0
  %261 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %261) #14, !noalias !245
  call x86_thiscallcc void @"\01??@ecdc85686029a3757587674877544440@"(%"class.std::_Hash.7"* %260, %"struct.std::pair.113"* nonnull sret %13, %"class.std::vector.37"* nonnull dereferenceable(12) %23, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12) #14, !noalias !245
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %261) #14, !noalias !245
  %262 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %13, i32 0, i32 0, i32 0, i32 0
  %263 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %262, align 4, !tbaa !50, !noalias !245
  %264 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %263, i32 0, i32 2
  %265 = ptrtoint %"class.std::vector.37"* %264 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %259) #14, !noalias !245
  %266 = bitcast %"struct.ast::ListBegin"* %22 to i32*
  store i32 %265, i32* %266, align 4, !tbaa !23
  %267 = load i32, i32* %242, align 4, !tbaa !26
  %268 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %269 = load %class.variant*, %class.variant** %268, align 4, !tbaa !23
  %270 = getelementptr inbounds %class.variant, %class.variant* %269, i32 %267, i32 1
  %271 = load i32, i32* %270, align 4, !tbaa !27
  %272 = icmp eq i32 %271, 1
  br i1 %272, label %273, label %277

; <label>:273:                                    ; preds = %241
  %274 = getelementptr inbounds %class.variant, %class.variant* %269, i32 %267, i32 0, i32 0, i32 0
  %275 = load i32, i32* %274, align 4, !tbaa !45
  %276 = icmp eq i32 %275, 10
  br i1 %276, label %280, label %277

; <label>:277:                                    ; preds = %273, %241
  call void @_wassert(i16* getelementptr inbounds ([29 x i16], [29 x i16]* @"\01??_C@_1DK@KAJAHBLB@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 126) #14
  %278 = load i32, i32* %242, align 4, !tbaa !26
  %279 = load %class.variant*, %class.variant** %268, align 4, !tbaa !23
  br label %280

; <label>:280:                                    ; preds = %277, %273
  %281 = phi %class.variant* [ %279, %277 ], [ %269, %273 ]
  %282 = phi i32 [ %278, %277 ], [ %267, %273 ]
  %283 = bitcast %"struct.ast::ASTNodeInfo"* %26 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %283) #14
  %284 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %26, i32 0, i32 0
  %285 = getelementptr inbounds %class.variant, %class.variant* %281, i32 %282, i32 0, i32 0, i32 1
  %286 = bitcast [8 x i8]* %285 to i32*
  %287 = load i32, i32* %286, align 4, !tbaa !244
  %288 = add i32 %287, -1
  %289 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 6
  %290 = load i32, i32* %289, align 4, !tbaa !19
  %291 = add i32 %288, %290
  store i32 %291, i32* %284, align 4, !tbaa !67
  %292 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %26, i32 0, i32 1
  %293 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %292, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %293, align 4, !tbaa !36
  %294 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %26, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %294, align 4, !tbaa !38
  %295 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %26, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %295, align 4, !tbaa !39
  %296 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* nonnull %24, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %26) #14
  %297 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %293, align 4, !tbaa !23
  %298 = icmp eq %"struct.ast::ASTNodeInfo"* %297, null
  br i1 %298, label %340, label %299

; <label>:299:                                    ; preds = %280
  %300 = ptrtoint %"struct.ast::ASTNodeInfo"* %297 to i32
  %301 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %294, align 4, !tbaa !23
  %302 = icmp eq %"struct.ast::ASTNodeInfo"* %297, %301
  br i1 %302, label %312, label %303

; <label>:303:                                    ; preds = %299
  br label %304

; <label>:304:                                    ; preds = %304, %303
  %305 = phi %"struct.ast::ASTNodeInfo"* [ %307, %304 ], [ %297, %303 ]
  %306 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %305, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %306) #14
  %307 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %305, i32 1
  %308 = icmp eq %"struct.ast::ASTNodeInfo"* %307, %301
  br i1 %308, label %309, label %304

; <label>:309:                                    ; preds = %304
  %310 = bitcast %"class.std::vector.45"* %292 to i32*
  %311 = load i32, i32* %310, align 4, !tbaa !23
  br label %312

; <label>:312:                                    ; preds = %309, %299
  %313 = phi i32 [ %311, %309 ], [ %300, %299 ]
  %314 = bitcast %"struct.ast::ASTNodeInfo"** %295 to i32*
  %315 = load i32, i32* %314, align 4, !tbaa !23
  %316 = sub i32 %315, %313
  %317 = ashr exact i32 %316, 4
  %318 = icmp ugt i32 %317, 268435455
  br i1 %318, label %335, label %319

; <label>:319:                                    ; preds = %312
  %320 = icmp ugt i32 %316, 4095
  br i1 %320, label %321, label %336

; <label>:321:                                    ; preds = %319
  %322 = icmp ult i32 %316, -35
  %323 = and i32 %313, 31
  %324 = icmp eq i32 %323, 0
  %325 = and i1 %324, %322
  br i1 %325, label %326, label %335

; <label>:326:                                    ; preds = %321
  %327 = add i32 %316, 35
  %328 = add i32 %313, -4
  %329 = inttoptr i32 %328 to i32*
  %330 = load i32, i32* %329, align 4, !tbaa !24
  %331 = icmp uge i32 %330, %313
  %332 = sub i32 %328, %330
  %333 = icmp ugt i32 %332, 31
  %334 = or i1 %331, %333
  br i1 %334, label %335, label %336

; <label>:335:                                    ; preds = %326, %321, %312
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:336:                                    ; preds = %326, %319
  %337 = phi i32 [ %313, %319 ], [ %330, %326 ]
  %338 = phi i32 [ %316, %319 ], [ %327, %326 ]
  %339 = inttoptr i32 %337 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %339, i32 %338) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %293, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %294, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %295, align 4, !tbaa !23
  br label %340

; <label>:340:                                    ; preds = %336, %280
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %283) #14
  %341 = load i32, i32* %242, align 4, !tbaa !26
  %342 = add i32 %341, 1
  store i32 %342, i32* %242, align 4, !tbaa !26
  %343 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 1
  %344 = load %"class.std::vector.37"*, %"class.std::vector.37"** %343, align 4, !tbaa !12
  %345 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UObjectBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUObjectBegin@ast@@@Z"(%"class.std::vector.37"* %344, %"struct.ast::ListBegin"* nonnull dereferenceable(4) %22)
  %346 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 2
  %347 = load %"class.std::vector.45"*, %"class.std::vector.45"** %346, align 4, !tbaa !12
  %348 = bitcast %"struct.ast::ASTNodeInfo"* %27 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %348) #14
  %349 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %27, i32 0, i32 0
  %350 = load i32, i32* %289, align 4, !tbaa !19
  %351 = add i32 %350, %2
  store i32 %351, i32* %349, align 4, !tbaa !67
  %352 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %27, i32 0, i32 1
  %353 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %352, i32 0, i32 0, i32 0, i32 0, i32 0
  %354 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %27, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %355 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %27, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %356 = bitcast %"class.std::vector.45"* %24 to i32*
  %357 = load i32, i32* %356, align 4, !tbaa !23
  %358 = bitcast %"class.std::vector.45"* %352 to i32*
  store i32 %357, i32* %358, align 4, !tbaa !23
  %359 = bitcast %"struct.ast::ASTNodeInfo"** %252 to i32*
  %360 = load i32, i32* %359, align 4, !tbaa !23
  %361 = bitcast %"struct.ast::ASTNodeInfo"** %354 to i32*
  store i32 %360, i32* %361, align 4, !tbaa !23
  %362 = bitcast %"struct.ast::ASTNodeInfo"** %253 to i32*
  %363 = load i32, i32* %362, align 4, !tbaa !23
  %364 = bitcast %"struct.ast::ASTNodeInfo"** %355 to i32*
  store i32 %363, i32* %364, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %251, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %252, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %253, align 4, !tbaa !23
  %365 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %347, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %27) #14
  %366 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %353, align 4, !tbaa !23
  %367 = icmp eq %"struct.ast::ASTNodeInfo"* %366, null
  br i1 %367, label %407, label %368

; <label>:368:                                    ; preds = %340
  %369 = ptrtoint %"struct.ast::ASTNodeInfo"* %366 to i32
  %370 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %354, align 4, !tbaa !23
  %371 = icmp eq %"struct.ast::ASTNodeInfo"* %366, %370
  br i1 %371, label %380, label %372

; <label>:372:                                    ; preds = %368
  br label %373

; <label>:373:                                    ; preds = %373, %372
  %374 = phi %"struct.ast::ASTNodeInfo"* [ %376, %373 ], [ %366, %372 ]
  %375 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %374, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %375) #14
  %376 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %374, i32 1
  %377 = icmp eq %"struct.ast::ASTNodeInfo"* %376, %370
  br i1 %377, label %378, label %373

; <label>:378:                                    ; preds = %373
  %379 = load i32, i32* %358, align 4, !tbaa !23
  br label %380

; <label>:380:                                    ; preds = %378, %368
  %381 = phi i32 [ %379, %378 ], [ %369, %368 ]
  %382 = load i32, i32* %364, align 4, !tbaa !23
  %383 = sub i32 %382, %381
  %384 = ashr exact i32 %383, 4
  %385 = icmp ugt i32 %384, 268435455
  br i1 %385, label %402, label %386

; <label>:386:                                    ; preds = %380
  %387 = icmp ugt i32 %383, 4095
  br i1 %387, label %388, label %403

; <label>:388:                                    ; preds = %386
  %389 = icmp ult i32 %383, -35
  %390 = and i32 %381, 31
  %391 = icmp eq i32 %390, 0
  %392 = and i1 %391, %389
  br i1 %392, label %393, label %402

; <label>:393:                                    ; preds = %388
  %394 = add i32 %383, 35
  %395 = add i32 %381, -4
  %396 = inttoptr i32 %395 to i32*
  %397 = load i32, i32* %396, align 4, !tbaa !24
  %398 = icmp uge i32 %397, %381
  %399 = sub i32 %395, %397
  %400 = icmp ugt i32 %399, 31
  %401 = or i1 %398, %400
  br i1 %401, label %402, label %403

; <label>:402:                                    ; preds = %393, %388, %380
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:403:                                    ; preds = %393, %386
  %404 = phi i32 [ %381, %386 ], [ %397, %393 ]
  %405 = phi i32 [ %383, %386 ], [ %394, %393 ]
  %406 = inttoptr i32 %404 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %406, i32 %405) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %353, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %354, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %355, align 4, !tbaa !23
  br label %407

; <label>:407:                                    ; preds = %403, %340
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %348) #14
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* nonnull %24) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %250) #14
  %408 = load %class.variant.43*, %class.variant.43** %247, align 4, !tbaa !23
  %409 = icmp eq %class.variant.43* %408, null
  %410 = ptrtoint %class.variant.43* %408 to i32
  br i1 %409, label %439, label %411

; <label>:411:                                    ; preds = %407
  %412 = bitcast %class.variant.43** %249 to i32*
  %413 = load i32, i32* %412, align 4, !tbaa !23
  %414 = sub i32 %413, %410
  %415 = ashr exact i32 %414, 4
  %416 = icmp ugt i32 %415, 268435455
  br i1 %416, label %435, label %417

; <label>:417:                                    ; preds = %411
  %418 = bitcast %class.variant.43* %408 to i8*
  %419 = icmp ugt i32 %414, 4095
  br i1 %419, label %420, label %436

; <label>:420:                                    ; preds = %417
  %421 = add i32 %414, 35
  %422 = icmp ult i32 %414, -35
  %423 = and i32 %410, 31
  %424 = icmp eq i32 %423, 0
  %425 = and i1 %424, %422
  br i1 %425, label %426, label %435

; <label>:426:                                    ; preds = %420
  %427 = add i32 %410, -4
  %428 = inttoptr i32 %427 to i32*
  %429 = load i32, i32* %428, align 4, !tbaa !24
  %430 = icmp ult i32 %429, %410
  br i1 %430, label %431, label %435

; <label>:431:                                    ; preds = %426
  %432 = sub i32 %427, %429
  %433 = icmp ugt i32 %432, 31
  %434 = inttoptr i32 %429 to i8*
  br i1 %433, label %435, label %436

; <label>:435:                                    ; preds = %431, %426, %420, %411
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:436:                                    ; preds = %431, %417
  %437 = phi i8* [ %434, %431 ], [ %418, %417 ]
  %438 = phi i32 [ %421, %431 ], [ %414, %417 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %437, i32 %438) #14
  store %class.variant.43* null, %class.variant.43** %247, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %248, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %249, align 4, !tbaa !23
  br label %439

; <label>:439:                                    ; preds = %436, %407
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %246) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %245) #14
  br label %975

; <label>:440:                                    ; preds = %3
  %441 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 5
  %442 = load i32, i32* %441, align 4, !tbaa !26
  %443 = add i32 %442, 1
  store i32 %443, i32* %441, align 4, !tbaa !26
  %444 = bitcast %"struct.ast::ListBegin"* %28 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %444) #14
  %445 = bitcast %"class.std::vector.37"* %29 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %445) #14
  %446 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %29, i32 0, i32 0, i32 0, i32 0, i32 0
  store %class.variant.43* null, %class.variant.43** %446, align 4, !tbaa !32
  %447 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %29, i32 0, i32 0, i32 0, i32 0, i32 1
  store %class.variant.43* null, %class.variant.43** %447, align 4, !tbaa !34
  %448 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %29, i32 0, i32 0, i32 0, i32 0, i32 2
  store %class.variant.43* null, %class.variant.43** %448, align 4, !tbaa !35
  %449 = bitcast %"class.std::vector.45"* %30 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %449) #14
  %450 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %30, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %450, align 4, !tbaa !36
  %451 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %30, i32 0, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %451, align 4, !tbaa !38
  %452 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %30, i32 0, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %452, align 4, !tbaa !39
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* %41, %"class.std::vector.37"* nonnull dereferenceable(12) %29, %"class.std::vector.45"* nonnull dereferenceable(12) %30)
  %453 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 2
  %454 = load %class.Interner.5*, %class.Interner.5** %453, align 4, !tbaa !12
  %455 = bitcast %"struct.std::pair.113"* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %455) #14, !noalias !248
  %456 = getelementptr inbounds %class.Interner.5, %class.Interner.5* %454, i32 0, i32 0, i32 0
  %457 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %457) #14, !noalias !248
  call x86_thiscallcc void @"\01??@ecdc85686029a3757587674877544440@"(%"class.std::_Hash.7"* %456, %"struct.std::pair.113"* nonnull sret %11, %"class.std::vector.37"* nonnull dereferenceable(12) %29, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10) #14, !noalias !248
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %457) #14, !noalias !248
  %458 = getelementptr inbounds %"struct.std::pair.113", %"struct.std::pair.113"* %11, i32 0, i32 0, i32 0, i32 0
  %459 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %458, align 4, !tbaa !50, !noalias !248
  %460 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %459, i32 0, i32 2
  %461 = ptrtoint %"class.std::vector.37"* %460 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %455) #14, !noalias !248
  %462 = bitcast %"struct.ast::ListBegin"* %28 to i32*
  store i32 %461, i32* %462, align 4, !tbaa !23
  %463 = load i32, i32* %441, align 4, !tbaa !26
  %464 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %465 = load %class.variant*, %class.variant** %464, align 4, !tbaa !23
  %466 = getelementptr inbounds %class.variant, %class.variant* %465, i32 %463, i32 1
  %467 = load i32, i32* %466, align 4, !tbaa !27
  %468 = icmp eq i32 %467, 1
  br i1 %468, label %469, label %473

; <label>:469:                                    ; preds = %440
  %470 = getelementptr inbounds %class.variant, %class.variant* %465, i32 %463, i32 0, i32 0, i32 0
  %471 = load i32, i32* %470, align 4, !tbaa !45
  %472 = icmp eq i32 %471, 12
  br i1 %472, label %475, label %473

; <label>:473:                                    ; preds = %469, %440
  call void @_wassert(i16* getelementptr inbounds ([27 x i16], [27 x i16]* @"\01??_C@_1DG@COIOBKOD@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAC?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 142) #14
  %474 = load i32, i32* %441, align 4, !tbaa !26
  br label %475

; <label>:475:                                    ; preds = %473, %469
  %476 = phi i32 [ %474, %473 ], [ %463, %469 ]
  %477 = add i32 %476, 1
  store i32 %477, i32* %441, align 4, !tbaa !26
  %478 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 1
  %479 = load %"class.std::vector.37"*, %"class.std::vector.37"** %478, align 4, !tbaa !12
  %480 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UCode@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUCode@ast@@@Z"(%"class.std::vector.37"* %479, %"struct.ast::ListBegin"* nonnull dereferenceable(4) %28)
  %481 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 2
  %482 = load %"class.std::vector.45"*, %"class.std::vector.45"** %481, align 4, !tbaa !12
  %483 = bitcast %"struct.ast::ASTNodeInfo"* %31 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %483) #14
  %484 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %31, i32 0, i32 0
  %485 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 6
  %486 = load i32, i32* %485, align 4, !tbaa !19
  %487 = add i32 %486, %2
  store i32 %487, i32* %484, align 4, !tbaa !67
  %488 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %31, i32 0, i32 1
  %489 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %488, i32 0, i32 0, i32 0, i32 0, i32 0
  %490 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %31, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %491 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %31, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %492 = bitcast %"class.std::vector.45"* %30 to i32*
  %493 = load i32, i32* %492, align 4, !tbaa !23
  %494 = bitcast %"class.std::vector.45"* %488 to i32*
  store i32 %493, i32* %494, align 4, !tbaa !23
  %495 = bitcast %"struct.ast::ASTNodeInfo"** %451 to i32*
  %496 = load i32, i32* %495, align 4, !tbaa !23
  %497 = bitcast %"struct.ast::ASTNodeInfo"** %490 to i32*
  store i32 %496, i32* %497, align 4, !tbaa !23
  %498 = bitcast %"struct.ast::ASTNodeInfo"** %452 to i32*
  %499 = load i32, i32* %498, align 4, !tbaa !23
  %500 = bitcast %"struct.ast::ASTNodeInfo"** %491 to i32*
  store i32 %499, i32* %500, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %450, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %451, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %452, align 4, !tbaa !23
  %501 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %482, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %31) #14
  %502 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %489, align 4, !tbaa !23
  %503 = icmp eq %"struct.ast::ASTNodeInfo"* %502, null
  br i1 %503, label %543, label %504

; <label>:504:                                    ; preds = %475
  %505 = ptrtoint %"struct.ast::ASTNodeInfo"* %502 to i32
  %506 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %490, align 4, !tbaa !23
  %507 = icmp eq %"struct.ast::ASTNodeInfo"* %502, %506
  br i1 %507, label %516, label %508

; <label>:508:                                    ; preds = %504
  br label %509

; <label>:509:                                    ; preds = %509, %508
  %510 = phi %"struct.ast::ASTNodeInfo"* [ %512, %509 ], [ %502, %508 ]
  %511 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %510, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %511) #14
  %512 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %510, i32 1
  %513 = icmp eq %"struct.ast::ASTNodeInfo"* %512, %506
  br i1 %513, label %514, label %509

; <label>:514:                                    ; preds = %509
  %515 = load i32, i32* %494, align 4, !tbaa !23
  br label %516

; <label>:516:                                    ; preds = %514, %504
  %517 = phi i32 [ %515, %514 ], [ %505, %504 ]
  %518 = load i32, i32* %500, align 4, !tbaa !23
  %519 = sub i32 %518, %517
  %520 = ashr exact i32 %519, 4
  %521 = icmp ugt i32 %520, 268435455
  br i1 %521, label %538, label %522

; <label>:522:                                    ; preds = %516
  %523 = icmp ugt i32 %519, 4095
  br i1 %523, label %524, label %539

; <label>:524:                                    ; preds = %522
  %525 = icmp ult i32 %519, -35
  %526 = and i32 %517, 31
  %527 = icmp eq i32 %526, 0
  %528 = and i1 %527, %525
  br i1 %528, label %529, label %538

; <label>:529:                                    ; preds = %524
  %530 = add i32 %519, 35
  %531 = add i32 %517, -4
  %532 = inttoptr i32 %531 to i32*
  %533 = load i32, i32* %532, align 4, !tbaa !24
  %534 = icmp uge i32 %533, %517
  %535 = sub i32 %531, %533
  %536 = icmp ugt i32 %535, 31
  %537 = or i1 %534, %536
  br i1 %537, label %538, label %539

; <label>:538:                                    ; preds = %529, %524, %516
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:539:                                    ; preds = %529, %522
  %540 = phi i32 [ %517, %522 ], [ %533, %529 ]
  %541 = phi i32 [ %519, %522 ], [ %530, %529 ]
  %542 = inttoptr i32 %540 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %542, i32 %541) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %489, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %490, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %491, align 4, !tbaa !23
  br label %543

; <label>:543:                                    ; preds = %539, %475
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %483) #14
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* nonnull %30) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %449) #14
  %544 = load %class.variant.43*, %class.variant.43** %446, align 4, !tbaa !23
  %545 = icmp eq %class.variant.43* %544, null
  %546 = ptrtoint %class.variant.43* %544 to i32
  br i1 %545, label %575, label %547

; <label>:547:                                    ; preds = %543
  %548 = bitcast %class.variant.43** %448 to i32*
  %549 = load i32, i32* %548, align 4, !tbaa !23
  %550 = sub i32 %549, %546
  %551 = ashr exact i32 %550, 4
  %552 = icmp ugt i32 %551, 268435455
  br i1 %552, label %571, label %553

; <label>:553:                                    ; preds = %547
  %554 = bitcast %class.variant.43* %544 to i8*
  %555 = icmp ugt i32 %550, 4095
  br i1 %555, label %556, label %572

; <label>:556:                                    ; preds = %553
  %557 = add i32 %550, 35
  %558 = icmp ult i32 %550, -35
  %559 = and i32 %546, 31
  %560 = icmp eq i32 %559, 0
  %561 = and i1 %560, %558
  br i1 %561, label %562, label %571

; <label>:562:                                    ; preds = %556
  %563 = add i32 %546, -4
  %564 = inttoptr i32 %563 to i32*
  %565 = load i32, i32* %564, align 4, !tbaa !24
  %566 = icmp ult i32 %565, %546
  br i1 %566, label %567, label %571

; <label>:567:                                    ; preds = %562
  %568 = sub i32 %563, %565
  %569 = icmp ugt i32 %568, 31
  %570 = inttoptr i32 %565 to i8*
  br i1 %569, label %571, label %572

; <label>:571:                                    ; preds = %567, %562, %556, %547
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:572:                                    ; preds = %567, %553
  %573 = phi i8* [ %570, %567 ], [ %554, %553 ]
  %574 = phi i32 [ %557, %567 ], [ %550, %553 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %573, i32 %574) #14
  store %class.variant.43* null, %class.variant.43** %446, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %447, align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** %448, align 4, !tbaa !23
  br label %575

; <label>:575:                                    ; preds = %572, %543
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %445) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %444) #14
  br label %975

; <label>:576:                                    ; preds = %3
  %577 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 5
  %578 = load i32, i32* %577, align 4, !tbaa !26
  %579 = add i32 %578, 1
  store i32 %579, i32* %577, align 4, !tbaa !26
  %580 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %581 = load %class.variant*, %class.variant** %580, align 4, !tbaa !23
  %582 = getelementptr inbounds %class.variant, %class.variant* %581, i32 %579, i32 1
  %583 = load i32, i32* %582, align 4, !tbaa !27
  %584 = icmp eq i32 %583, 2
  br i1 %584, label %585, label %589

; <label>:585:                                    ; preds = %576
  %586 = getelementptr inbounds %class.variant, %class.variant* %581, i32 %579, i32 0, i32 0, i32 0
  %587 = load i32, i32* %586, align 4, !tbaa !43
  %588 = icmp eq i32 %587, 3
  br i1 %588, label %592, label %589

; <label>:589:                                    ; preds = %585, %576
  tail call void @_wassert(i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@CKLOFELG@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAN?$AAa?$AAm?$AAe?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 152) #14
  %590 = load i32, i32* %577, align 4, !tbaa !26
  %591 = load %class.variant*, %class.variant** %580, align 4, !tbaa !23
  br label %592

; <label>:592:                                    ; preds = %589, %585
  %593 = phi %class.variant* [ %591, %589 ], [ %581, %585 ]
  %594 = phi i32 [ %590, %589 ], [ %579, %585 ]
  %595 = bitcast %"struct.ast::Label"* %32 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %595) #14
  %596 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %32, i32 0, i32 0, i32 0
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %596, align 4, !tbaa !74
  %597 = getelementptr inbounds %class.variant, %class.variant* %593, i32 %594, i32 0, i32 0, i32 1
  %598 = bitcast [8 x i8]* %597 to i32*
  %599 = load i32, i32* %598, align 4
  %600 = getelementptr inbounds %class.variant, %class.variant* %593, i32 %594, i32 0, i32 0, i32 1, i32 4
  %601 = bitcast i8* %600 to i32*
  %602 = load i32, i32* %601, align 4
  %603 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 1
  %604 = load %class.Interner*, %class.Interner** %603, align 4, !tbaa !12
  %605 = bitcast %"class.std::basic_string"* %33 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %605) #14
  %606 = bitcast %"class.std::basic_string.101"* %34 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %606) #14
  %607 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 3
  %608 = load i16*, i16** %607, align 4, !tbaa !25
  %609 = getelementptr inbounds i16, i16* %608, i32 %599
  %610 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %34, i32 0, i32 0, i32 0, i32 0, i32 1
  %611 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %34, i32 0, i32 0, i32 0, i32 0, i32 2
  %612 = bitcast i32* %610 to i64*
  store i64 0, i64* %612, align 4
  store i32 7, i32* %611, align 4, !tbaa !54
  %613 = bitcast %"class.std::basic_string.101"* %34 to i16*
  store i16 0, i16* %613, align 4, !tbaa !56
  %614 = icmp eq i32 %602, %599
  br i1 %614, label %627, label %615

; <label>:615:                                    ; preds = %592
  %616 = sub i32 %602, %599
  %617 = shl i32 %616, 1
  %618 = ashr exact i32 %617, 1
  %619 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %619) #14
  %620 = icmp ugt i32 %618, 7
  br i1 %620, label %624, label %621

; <label>:621:                                    ; preds = %615
  store i32 %618, i32* %610, align 4, !tbaa !58
  %622 = bitcast i16* %609 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %606, i8* %622, i32 %617, i32 2, i1 false) #14
  %623 = getelementptr inbounds i16, i16* %613, i32 %618
  store i16 0, i16* %623, align 2, !tbaa !56
  br label %626

; <label>:624:                                    ; preds = %615
  %625 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %34, i32 %618, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i16* %609) #14
  br label %626

; <label>:626:                                    ; preds = %624, %621
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %619) #14
  br label %627

; <label>:627:                                    ; preds = %626, %592
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %33, %"class.std::basic_string.101"* nonnull dereferenceable(24) %34) #14
  %628 = bitcast %"struct.std::pair"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %628) #14, !noalias !251
  %629 = getelementptr inbounds %class.Interner, %class.Interner* %604, i32 0, i32 0, i32 0
  %630 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %630) #14, !noalias !251
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %629, %"struct.std::pair"* nonnull sret %8, %"class.std::basic_string"* nonnull dereferenceable(24) %33, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7) #14, !noalias !251
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %630) #14, !noalias !251
  %631 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %8, i32 0, i32 0, i32 0, i32 0
  %632 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %631, align 4, !tbaa !79, !noalias !251
  %633 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %632, i32 0, i32 2
  %634 = ptrtoint %"class.std::basic_string"* %633 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %628) #14, !noalias !251
  %635 = bitcast %"struct.ast::Label"* %32 to i32*
  store i32 %634, i32* %635, align 4, !tbaa !23
  %636 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 2
  %637 = load i32, i32* %636, align 4, !tbaa !81
  %638 = icmp ugt i32 %637, 15
  br i1 %638, label %639, label %664

; <label>:639:                                    ; preds = %627
  %640 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %641 = load i8*, i8** %640, align 4, !tbaa !12
  %642 = add i32 %637, 1
  %643 = icmp ugt i32 %642, 4095
  br i1 %643, label %644, label %661

; <label>:644:                                    ; preds = %639
  %645 = add i32 %637, 36
  %646 = icmp ugt i32 %642, -36
  br i1 %646, label %660, label %647

; <label>:647:                                    ; preds = %644
  %648 = ptrtoint i8* %641 to i32
  %649 = and i32 %648, 31
  %650 = icmp eq i32 %649, 0
  br i1 %650, label %651, label %660

; <label>:651:                                    ; preds = %647
  %652 = add i32 %648, -4
  %653 = inttoptr i32 %652 to i32*
  %654 = load i32, i32* %653, align 4, !tbaa !24
  %655 = icmp ult i32 %654, %648
  br i1 %655, label %656, label %660

; <label>:656:                                    ; preds = %651
  %657 = sub i32 %652, %654
  %658 = icmp ugt i32 %657, 31
  %659 = inttoptr i32 %654 to i8*
  br i1 %658, label %660, label %661

; <label>:660:                                    ; preds = %656, %651, %647, %644
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:661:                                    ; preds = %656, %639
  %662 = phi i8* [ %659, %656 ], [ %641, %639 ]
  %663 = phi i32 [ %645, %656 ], [ %642, %639 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %662, i32 %663) #14
  br label %664

; <label>:664:                                    ; preds = %661, %627
  %665 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %665, align 4, !tbaa !83
  store i32 15, i32* %636, align 4, !tbaa !81
  store i8 0, i8* %605, align 4, !tbaa !12
  %666 = load i32, i32* %611, align 4, !tbaa !54
  %667 = icmp ugt i32 %666, 7
  br i1 %667, label %668, label %697

; <label>:668:                                    ; preds = %664
  %669 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %670 = load i16*, i16** %669, align 4, !tbaa !12
  %671 = add i32 %666, 1
  %672 = icmp slt i32 %671, 0
  br i1 %672, label %693, label %673

; <label>:673:                                    ; preds = %668
  %674 = bitcast i16* %670 to i8*
  %675 = shl i32 %671, 1
  %676 = icmp ugt i32 %675, 4095
  br i1 %676, label %677, label %694

; <label>:677:                                    ; preds = %673
  %678 = add i32 %675, 35
  %679 = icmp ugt i32 %675, -36
  br i1 %679, label %693, label %680

; <label>:680:                                    ; preds = %677
  %681 = ptrtoint i16* %670 to i32
  %682 = and i32 %681, 31
  %683 = icmp eq i32 %682, 0
  br i1 %683, label %684, label %693

; <label>:684:                                    ; preds = %680
  %685 = add i32 %681, -4
  %686 = inttoptr i32 %685 to i32*
  %687 = load i32, i32* %686, align 4, !tbaa !24
  %688 = icmp ult i32 %687, %681
  br i1 %688, label %689, label %693

; <label>:689:                                    ; preds = %684
  %690 = sub i32 %685, %687
  %691 = icmp ugt i32 %690, 31
  %692 = inttoptr i32 %687 to i8*
  br i1 %691, label %693, label %694

; <label>:693:                                    ; preds = %689, %684, %680, %677, %668
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:694:                                    ; preds = %689, %673
  %695 = phi i8* [ %692, %689 ], [ %674, %673 ]
  %696 = phi i32 [ %678, %689 ], [ %675, %673 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %695, i32 %696) #14
  br label %697

; <label>:697:                                    ; preds = %694, %664
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %606) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %605) #14
  %698 = load i32, i32* %577, align 4, !tbaa !26
  %699 = add i32 %698, 1
  store i32 %699, i32* %577, align 4, !tbaa !26
  %700 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 2
  %701 = load %"class.std::vector.45"*, %"class.std::vector.45"** %700, align 4, !tbaa !12
  %702 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 1
  %703 = load %"class.std::vector.37"*, %"class.std::vector.37"** %702, align 4, !tbaa !12
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* nonnull %41, %"class.std::vector.37"* dereferenceable(12) %703, %"class.std::vector.45"* dereferenceable(12) %701)
  %704 = load i32, i32* %577, align 4, !tbaa !26
  %705 = load %class.variant*, %class.variant** %580, align 4, !tbaa !23
  %706 = getelementptr inbounds %class.variant, %class.variant* %705, i32 %704, i32 1
  %707 = load i32, i32* %706, align 4, !tbaa !27
  %708 = icmp eq i32 %707, 1
  br i1 %708, label %709, label %713

; <label>:709:                                    ; preds = %697
  %710 = getelementptr inbounds %class.variant, %class.variant* %705, i32 %704, i32 0, i32 0, i32 0
  %711 = load i32, i32* %710, align 4, !tbaa !45
  %712 = icmp eq i32 %711, 9
  br i1 %712, label %715, label %713

; <label>:713:                                    ; preds = %709, %697
  call void @_wassert(i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@LICFBLBP@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 158) #14
  %714 = load i32, i32* %577, align 4, !tbaa !26
  br label %715

; <label>:715:                                    ; preds = %713, %709
  %716 = phi i32 [ %714, %713 ], [ %704, %709 ]
  %717 = add i32 %716, 1
  store i32 %717, i32* %577, align 4, !tbaa !26
  %718 = load %"class.std::vector.37"*, %"class.std::vector.37"** %702, align 4, !tbaa !12
  %719 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@ULabel@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabel@ast@@@Z"(%"class.std::vector.37"* %718, %"struct.ast::Label"* nonnull dereferenceable(4) %32)
  %720 = load %"class.std::vector.45"*, %"class.std::vector.45"** %700, align 4, !tbaa !12
  %721 = bitcast %"struct.ast::ASTNodeInfo"* %35 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %721) #14
  %722 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %35, i32 0, i32 0
  %723 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 6
  %724 = load i32, i32* %723, align 4, !tbaa !19
  %725 = add i32 %724, %599
  store i32 %725, i32* %722, align 4, !tbaa !67
  %726 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %35, i32 0, i32 1
  %727 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %726, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %727, align 4, !tbaa !36
  %728 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %35, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %728, align 4, !tbaa !38
  %729 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %35, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %729, align 4, !tbaa !39
  %730 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %720, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %35) #14
  %731 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %727, align 4, !tbaa !23
  %732 = icmp eq %"struct.ast::ASTNodeInfo"* %731, null
  br i1 %732, label %774, label %733

; <label>:733:                                    ; preds = %715
  %734 = ptrtoint %"struct.ast::ASTNodeInfo"* %731 to i32
  %735 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %728, align 4, !tbaa !23
  %736 = icmp eq %"struct.ast::ASTNodeInfo"* %731, %735
  br i1 %736, label %746, label %737

; <label>:737:                                    ; preds = %733
  br label %738

; <label>:738:                                    ; preds = %738, %737
  %739 = phi %"struct.ast::ASTNodeInfo"* [ %741, %738 ], [ %731, %737 ]
  %740 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %739, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %740) #14
  %741 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %739, i32 1
  %742 = icmp eq %"struct.ast::ASTNodeInfo"* %741, %735
  br i1 %742, label %743, label %738

; <label>:743:                                    ; preds = %738
  %744 = bitcast %"class.std::vector.45"* %726 to i32*
  %745 = load i32, i32* %744, align 4, !tbaa !23
  br label %746

; <label>:746:                                    ; preds = %743, %733
  %747 = phi i32 [ %745, %743 ], [ %734, %733 ]
  %748 = bitcast %"struct.ast::ASTNodeInfo"** %729 to i32*
  %749 = load i32, i32* %748, align 4, !tbaa !23
  %750 = sub i32 %749, %747
  %751 = ashr exact i32 %750, 4
  %752 = icmp ugt i32 %751, 268435455
  br i1 %752, label %769, label %753

; <label>:753:                                    ; preds = %746
  %754 = icmp ugt i32 %750, 4095
  br i1 %754, label %755, label %770

; <label>:755:                                    ; preds = %753
  %756 = icmp ult i32 %750, -35
  %757 = and i32 %747, 31
  %758 = icmp eq i32 %757, 0
  %759 = and i1 %758, %756
  br i1 %759, label %760, label %769

; <label>:760:                                    ; preds = %755
  %761 = add i32 %750, 35
  %762 = add i32 %747, -4
  %763 = inttoptr i32 %762 to i32*
  %764 = load i32, i32* %763, align 4, !tbaa !24
  %765 = icmp uge i32 %764, %747
  %766 = sub i32 %762, %764
  %767 = icmp ugt i32 %766, 31
  %768 = or i1 %765, %767
  br i1 %768, label %769, label %770

; <label>:769:                                    ; preds = %760, %755, %746
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:770:                                    ; preds = %760, %753
  %771 = phi i32 [ %747, %753 ], [ %764, %760 ]
  %772 = phi i32 [ %750, %753 ], [ %761, %760 ]
  %773 = inttoptr i32 %771 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %773, i32 %772) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %727, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %728, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %729, align 4, !tbaa !23
  br label %774

; <label>:774:                                    ; preds = %770, %715
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %721) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %595) #14
  br label %975

; <label>:775:                                    ; preds = %3
  %776 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 5
  %777 = load i32, i32* %776, align 4, !tbaa !26
  %778 = add i32 %777, 1
  store i32 %778, i32* %776, align 4, !tbaa !26
  %779 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %780 = load %class.variant*, %class.variant** %779, align 4, !tbaa !23
  %781 = getelementptr inbounds %class.variant, %class.variant* %780, i32 %778, i32 1
  %782 = load i32, i32* %781, align 4, !tbaa !27
  %783 = icmp eq i32 %782, 2
  br i1 %783, label %784, label %788

; <label>:784:                                    ; preds = %775
  %785 = getelementptr inbounds %class.variant, %class.variant* %780, i32 %778, i32 0, i32 0, i32 0
  %786 = load i32, i32* %785, align 4, !tbaa !43
  %787 = icmp eq i32 %786, 3
  br i1 %787, label %791, label %788

; <label>:788:                                    ; preds = %784, %775
  tail call void @_wassert(i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@CKLOFELG@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAT?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAl?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAN?$AAa?$AAm?$AAe?$AA?$CJ?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 168) #14
  %789 = load i32, i32* %776, align 4, !tbaa !26
  %790 = load %class.variant*, %class.variant** %779, align 4, !tbaa !23
  br label %791

; <label>:791:                                    ; preds = %788, %784
  %792 = phi %class.variant* [ %790, %788 ], [ %780, %784 ]
  %793 = phi i32 [ %789, %788 ], [ %778, %784 ]
  %794 = bitcast %"struct.ast::Label"* %36 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %794) #14
  %795 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %36, i32 0, i32 0, i32 0
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %795, align 4, !tbaa !74
  %796 = getelementptr inbounds %class.variant, %class.variant* %792, i32 %793, i32 0, i32 0, i32 1
  %797 = bitcast [8 x i8]* %796 to i32*
  %798 = load i32, i32* %797, align 4
  %799 = getelementptr inbounds %class.variant, %class.variant* %792, i32 %793, i32 0, i32 0, i32 1, i32 4
  %800 = bitcast i8* %799 to i32*
  %801 = load i32, i32* %800, align 4
  %802 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 1
  %803 = load %class.Interner*, %class.Interner** %802, align 4, !tbaa !12
  %804 = bitcast %"class.std::basic_string"* %37 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %804) #14
  %805 = bitcast %"class.std::basic_string.101"* %38 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %805) #14
  %806 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 3
  %807 = load i16*, i16** %806, align 4, !tbaa !25
  %808 = getelementptr inbounds i16, i16* %807, i32 %798
  %809 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %38, i32 0, i32 0, i32 0, i32 0, i32 1
  %810 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %38, i32 0, i32 0, i32 0, i32 0, i32 2
  %811 = bitcast i32* %809 to i64*
  store i64 0, i64* %811, align 4
  store i32 7, i32* %810, align 4, !tbaa !54
  %812 = bitcast %"class.std::basic_string.101"* %38 to i16*
  store i16 0, i16* %812, align 4, !tbaa !56
  %813 = icmp eq i32 %801, %798
  br i1 %813, label %826, label %814

; <label>:814:                                    ; preds = %791
  %815 = sub i32 %801, %798
  %816 = shl i32 %815, 1
  %817 = ashr exact i32 %816, 1
  %818 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %818) #14
  %819 = icmp ugt i32 %817, 7
  br i1 %819, label %823, label %820

; <label>:820:                                    ; preds = %814
  store i32 %817, i32* %809, align 4, !tbaa !58
  %821 = bitcast i16* %808 to i8*
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %805, i8* %821, i32 %816, i32 2, i1 false) #14
  %822 = getelementptr inbounds i16, i16* %812, i32 %817
  store i16 0, i16* %822, align 2, !tbaa !56
  br label %825

; <label>:823:                                    ; preds = %814
  %824 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %38, i32 %817, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i16* %808) #14
  br label %825

; <label>:825:                                    ; preds = %823, %820
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %818) #14
  br label %826

; <label>:826:                                    ; preds = %825, %791
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* nonnull sret %37, %"class.std::basic_string.101"* nonnull dereferenceable(24) %38) #14
  %827 = bitcast %"struct.std::pair"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %827) #14, !noalias !254
  %828 = getelementptr inbounds %class.Interner, %class.Interner* %803, i32 0, i32 0, i32 0
  %829 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %829) #14, !noalias !254
  call x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"* %828, %"struct.std::pair"* nonnull sret %5, %"class.std::basic_string"* nonnull dereferenceable(24) %37, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4) #14, !noalias !254
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %829) #14, !noalias !254
  %830 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %5, i32 0, i32 0, i32 0, i32 0
  %831 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %830, align 4, !tbaa !79, !noalias !254
  %832 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %831, i32 0, i32 2
  %833 = ptrtoint %"class.std::basic_string"* %832 to i32
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %827) #14, !noalias !254
  %834 = bitcast %"struct.ast::Label"* %36 to i32*
  store i32 %833, i32* %834, align 4, !tbaa !23
  %835 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 2
  %836 = load i32, i32* %835, align 4, !tbaa !81
  %837 = icmp ugt i32 %836, 15
  br i1 %837, label %838, label %863

; <label>:838:                                    ; preds = %826
  %839 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %840 = load i8*, i8** %839, align 4, !tbaa !12
  %841 = add i32 %836, 1
  %842 = icmp ugt i32 %841, 4095
  br i1 %842, label %843, label %860

; <label>:843:                                    ; preds = %838
  %844 = add i32 %836, 36
  %845 = icmp ugt i32 %841, -36
  br i1 %845, label %859, label %846

; <label>:846:                                    ; preds = %843
  %847 = ptrtoint i8* %840 to i32
  %848 = and i32 %847, 31
  %849 = icmp eq i32 %848, 0
  br i1 %849, label %850, label %859

; <label>:850:                                    ; preds = %846
  %851 = add i32 %847, -4
  %852 = inttoptr i32 %851 to i32*
  %853 = load i32, i32* %852, align 4, !tbaa !24
  %854 = icmp ult i32 %853, %847
  br i1 %854, label %855, label %859

; <label>:855:                                    ; preds = %850
  %856 = sub i32 %851, %853
  %857 = icmp ugt i32 %856, 31
  %858 = inttoptr i32 %853 to i8*
  br i1 %857, label %859, label %860

; <label>:859:                                    ; preds = %855, %850, %846, %843
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:860:                                    ; preds = %855, %838
  %861 = phi i8* [ %858, %855 ], [ %840, %838 ]
  %862 = phi i32 [ %844, %855 ], [ %841, %838 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %861, i32 %862) #14
  br label %863

; <label>:863:                                    ; preds = %860, %826
  %864 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %864, align 4, !tbaa !83
  store i32 15, i32* %835, align 4, !tbaa !81
  store i8 0, i8* %804, align 4, !tbaa !12
  %865 = load i32, i32* %810, align 4, !tbaa !54
  %866 = icmp ugt i32 %865, 7
  br i1 %866, label %867, label %896

; <label>:867:                                    ; preds = %863
  %868 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %869 = load i16*, i16** %868, align 4, !tbaa !12
  %870 = add i32 %865, 1
  %871 = icmp slt i32 %870, 0
  br i1 %871, label %892, label %872

; <label>:872:                                    ; preds = %867
  %873 = bitcast i16* %869 to i8*
  %874 = shl i32 %870, 1
  %875 = icmp ugt i32 %874, 4095
  br i1 %875, label %876, label %893

; <label>:876:                                    ; preds = %872
  %877 = add i32 %874, 35
  %878 = icmp ugt i32 %874, -36
  br i1 %878, label %892, label %879

; <label>:879:                                    ; preds = %876
  %880 = ptrtoint i16* %869 to i32
  %881 = and i32 %880, 31
  %882 = icmp eq i32 %881, 0
  br i1 %882, label %883, label %892

; <label>:883:                                    ; preds = %879
  %884 = add i32 %880, -4
  %885 = inttoptr i32 %884 to i32*
  %886 = load i32, i32* %885, align 4, !tbaa !24
  %887 = icmp ult i32 %886, %880
  br i1 %887, label %888, label %892

; <label>:888:                                    ; preds = %883
  %889 = sub i32 %884, %886
  %890 = icmp ugt i32 %889, 31
  %891 = inttoptr i32 %886 to i8*
  br i1 %890, label %892, label %893

; <label>:892:                                    ; preds = %888, %883, %879, %876, %867
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:893:                                    ; preds = %888, %872
  %894 = phi i8* [ %891, %888 ], [ %873, %872 ]
  %895 = phi i32 [ %877, %888 ], [ %874, %872 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %894, i32 %895) #14
  br label %896

; <label>:896:                                    ; preds = %893, %863
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %805) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %804) #14
  %897 = load i32, i32* %776, align 4, !tbaa !26
  %898 = add i32 %897, 1
  store i32 %898, i32* %776, align 4, !tbaa !26
  %899 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 2
  %900 = load %"class.std::vector.45"*, %"class.std::vector.45"** %899, align 4, !tbaa !12
  %901 = getelementptr inbounds %class.anon, %class.anon* %0, i32 0, i32 1
  %902 = load %"class.std::vector.37"*, %"class.std::vector.37"** %901, align 4, !tbaa !12
  call x86_thiscallcc void @"\01?buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@4@@Z"(%"class.ast::ASTBuilder"* nonnull %41, %"class.std::vector.37"* dereferenceable(12) %902, %"class.std::vector.45"* dereferenceable(12) %900)
  %903 = load i32, i32* %776, align 4, !tbaa !26
  %904 = load %class.variant*, %class.variant** %779, align 4, !tbaa !23
  %905 = getelementptr inbounds %class.variant, %class.variant* %904, i32 %903, i32 1
  %906 = load i32, i32* %905, align 4, !tbaa !27
  %907 = icmp eq i32 %906, 1
  br i1 %907, label %908, label %912

; <label>:908:                                    ; preds = %896
  %909 = getelementptr inbounds %class.variant, %class.variant* %904, i32 %903, i32 0, i32 0, i32 0
  %910 = load i32, i32* %909, align 4, !tbaa !45
  %911 = icmp eq i32 %910, 8
  br i1 %911, label %914, label %912

; <label>:912:                                    ; preds = %908, %896
  call void @_wassert(i16* getelementptr inbounds ([33 x i16], [33 x i16]* @"\01??_C@_1EC@IHGGMHKL@?$AAc?$AAh?$AAe?$AAc?$AAk?$AAE?$AAn?$AAd?$AAT?$AAy?$AAp?$AAe?$AA?$CI?$AAp?$AAa?$AAr?$AAs?$AAe?$AAr?$AA?3?$AA?3?$AAL?$AAa?$AAb?$AAe?$AAl?$AAR?$AAe?$AAs?$AAe?$AAt?$AA?$CJ@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 174) #14
  %913 = load i32, i32* %776, align 4, !tbaa !26
  br label %914

; <label>:914:                                    ; preds = %912, %908
  %915 = phi i32 [ %913, %912 ], [ %903, %908 ]
  %916 = add i32 %915, 1
  store i32 %916, i32* %776, align 4, !tbaa !26
  %917 = load %"class.std::vector.37"*, %"class.std::vector.37"** %901, align 4, !tbaa !12
  %918 = call x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@ULabelReset@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabelReset@ast@@@Z"(%"class.std::vector.37"* %917, %"struct.ast::Label"* nonnull dereferenceable(4) %36)
  %919 = load %"class.std::vector.45"*, %"class.std::vector.45"** %899, align 4, !tbaa !12
  %920 = bitcast %"struct.ast::ASTNodeInfo"* %39 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %920) #14
  %921 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %39, i32 0, i32 0
  %922 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %41, i32 0, i32 6
  %923 = load i32, i32* %922, align 4, !tbaa !19
  %924 = add i32 %923, %798
  store i32 %924, i32* %921, align 4, !tbaa !67
  %925 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %39, i32 0, i32 1
  %926 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %925, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %926, align 4, !tbaa !36
  %927 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %39, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %927, align 4, !tbaa !38
  %928 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %39, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %928, align 4, !tbaa !39
  %929 = call x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"* %919, %"struct.ast::ASTNodeInfo"* nonnull dereferenceable(16) %39) #14
  %930 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %926, align 4, !tbaa !23
  %931 = icmp eq %"struct.ast::ASTNodeInfo"* %930, null
  br i1 %931, label %973, label %932

; <label>:932:                                    ; preds = %914
  %933 = ptrtoint %"struct.ast::ASTNodeInfo"* %930 to i32
  %934 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %927, align 4, !tbaa !23
  %935 = icmp eq %"struct.ast::ASTNodeInfo"* %930, %934
  br i1 %935, label %945, label %936

; <label>:936:                                    ; preds = %932
  br label %937

; <label>:937:                                    ; preds = %937, %936
  %938 = phi %"struct.ast::ASTNodeInfo"* [ %940, %937 ], [ %930, %936 ]
  %939 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %938, i32 0, i32 1
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %939) #14
  %940 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %938, i32 1
  %941 = icmp eq %"struct.ast::ASTNodeInfo"* %940, %934
  br i1 %941, label %942, label %937

; <label>:942:                                    ; preds = %937
  %943 = bitcast %"class.std::vector.45"* %925 to i32*
  %944 = load i32, i32* %943, align 4, !tbaa !23
  br label %945

; <label>:945:                                    ; preds = %942, %932
  %946 = phi i32 [ %944, %942 ], [ %933, %932 ]
  %947 = bitcast %"struct.ast::ASTNodeInfo"** %928 to i32*
  %948 = load i32, i32* %947, align 4, !tbaa !23
  %949 = sub i32 %948, %946
  %950 = ashr exact i32 %949, 4
  %951 = icmp ugt i32 %950, 268435455
  br i1 %951, label %968, label %952

; <label>:952:                                    ; preds = %945
  %953 = icmp ugt i32 %949, 4095
  br i1 %953, label %954, label %969

; <label>:954:                                    ; preds = %952
  %955 = icmp ult i32 %949, -35
  %956 = and i32 %946, 31
  %957 = icmp eq i32 %956, 0
  %958 = and i1 %957, %955
  br i1 %958, label %959, label %968

; <label>:959:                                    ; preds = %954
  %960 = add i32 %949, 35
  %961 = add i32 %946, -4
  %962 = inttoptr i32 %961 to i32*
  %963 = load i32, i32* %962, align 4, !tbaa !24
  %964 = icmp uge i32 %963, %946
  %965 = sub i32 %961, %963
  %966 = icmp ugt i32 %965, 31
  %967 = or i1 %964, %966
  br i1 %967, label %968, label %969

; <label>:968:                                    ; preds = %959, %954, %945
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:969:                                    ; preds = %959, %952
  %970 = phi i32 [ %946, %952 ], [ %963, %959 ]
  %971 = phi i32 [ %949, %952 ], [ %960, %959 ]
  %972 = inttoptr i32 %970 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %972, i32 %971) #14
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %926, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %927, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %928, align 4, !tbaa !23
  br label %973

; <label>:973:                                    ; preds = %969, %914
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %920) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %794) #14
  br label %975

; <label>:974:                                    ; preds = %3
  tail call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([11 x i16], [11 x i16]* @"\01??_C@_1BG@PFEAKOAN@?$AA?4?$AA?4?$AA?1?$AAa?$AAs?$AAt?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 224) #14
  br label %975

; <label>:975:                                    ; preds = %974, %973, %774, %575, %439, %240
  ret void
}

; Function Attrs: argmemonly nounwind
declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) #3

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i16*) local_unnamed_addr #2 comdat align 2 {
  %5 = icmp ugt i32 %1, 2147483646
  br i1 %5, label %6, label %7

; <label>:6:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:7:                                      ; preds = %4
  %8 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !54
  %10 = or i32 %1, 7
  %11 = icmp ugt i32 %10, 2147483646
  br i1 %11, label %30, label %12

; <label>:12:                                     ; preds = %7
  %13 = lshr i32 %9, 1
  %14 = sub nsw i32 2147483646, %13
  %15 = icmp ugt i32 %9, %14
  br i1 %15, label %30, label %16

; <label>:16:                                     ; preds = %12
  %17 = add i32 %13, %9
  %18 = icmp ult i32 %10, %17
  %19 = select i1 %18, i32 %17, i32 %10
  %20 = add i32 %19, 1
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %42, label %22

; <label>:22:                                     ; preds = %16
  %23 = icmp slt i32 %20, 0
  br i1 %23, label %24, label %25

; <label>:24:                                     ; preds = %22
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:25:                                     ; preds = %22
  %26 = shl i32 %20, 1
  %27 = icmp ugt i32 %26, 4095
  br i1 %27, label %28, label %40

; <label>:28:                                     ; preds = %25
  %29 = icmp ugt i32 %26, -36
  br i1 %29, label %30, label %31

; <label>:30:                                     ; preds = %28, %12, %7
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:31:                                     ; preds = %28
  %32 = add i32 %26, 35
  %33 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %32) #14
  %34 = ptrtoint i8* %33 to i32
  %35 = add i32 %34, 35
  %36 = and i32 %35, -32
  %37 = inttoptr i32 %36 to i8*
  %38 = inttoptr i32 %36 to i32*
  %39 = getelementptr inbounds i32, i32* %38, i32 -1
  store i32 %34, i32* %39, align 4, !tbaa !24
  br label %42

; <label>:40:                                     ; preds = %25
  %41 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %26) #14
  br label %42

; <label>:42:                                     ; preds = %40, %31, %16
  %43 = phi i32 [ -1, %16 ], [ %19, %31 ], [ %19, %40 ]
  %44 = phi i8* [ null, %16 ], [ %37, %31 ], [ %41, %40 ]
  %45 = bitcast i8* %44 to i16*
  %46 = ptrtoint i8* %44 to i32
  %47 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 %1, i32* %47, align 4, !tbaa !58
  store i32 %43, i32* %8, align 4, !tbaa !54
  %48 = bitcast i16* %3 to i8*
  %49 = shl i32 %1, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* %48, i32 %49, i32 2, i1 false) #14
  %50 = getelementptr inbounds i16, i16* %45, i32 %1
  store i16 0, i16* %50, align 2, !tbaa !56
  %51 = icmp ugt i32 %9, 7
  br i1 %51, label %52, label %81

; <label>:52:                                     ; preds = %42
  %53 = add i32 %9, 1
  %54 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %55 = load i16*, i16** %54, align 4, !tbaa !12
  %56 = icmp slt i32 %53, 0
  br i1 %56, label %77, label %57

; <label>:57:                                     ; preds = %52
  %58 = bitcast i16* %55 to i8*
  %59 = shl i32 %53, 1
  %60 = icmp ugt i32 %59, 4095
  br i1 %60, label %61, label %78

; <label>:61:                                     ; preds = %57
  %62 = add i32 %59, 35
  %63 = icmp ugt i32 %59, -36
  br i1 %63, label %77, label %64

; <label>:64:                                     ; preds = %61
  %65 = ptrtoint i16* %55 to i32
  %66 = and i32 %65, 31
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %77

; <label>:68:                                     ; preds = %64
  %69 = add i32 %65, -4
  %70 = inttoptr i32 %69 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = icmp ult i32 %71, %65
  br i1 %72, label %73, label %77

; <label>:73:                                     ; preds = %68
  %74 = sub i32 %69, %71
  %75 = icmp ugt i32 %74, 31
  %76 = inttoptr i32 %71 to i8*
  br i1 %75, label %77, label %78

; <label>:77:                                     ; preds = %73, %68, %64, %61, %52
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:78:                                     ; preds = %73, %57
  %79 = phi i8* [ %76, %73 ], [ %58, %57 ]
  %80 = phi i32 [ %62, %73 ], [ %59, %57 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %79, i32 %80) #14
  br label %81

; <label>:81:                                     ; preds = %78, %42
  %82 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %46, i32* %82, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

; Function Attrs: argmemonly nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture writeonly, i8, i32, i32, i1) #3

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@I_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@I_W@Z@I_W@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i32, i16 zeroext) local_unnamed_addr #2 comdat align 2 {
  %6 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !58
  %8 = sub i32 2147483646, %7
  %9 = icmp ult i32 %8, %1
  br i1 %9, label %10, label %11

; <label>:10:                                     ; preds = %5
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:11:                                     ; preds = %5
  %12 = add i32 %7, %1
  %13 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = load i32, i32* %13, align 4, !tbaa !54
  %15 = or i32 %12, 7
  %16 = icmp ugt i32 %15, 2147483646
  br i1 %16, label %35, label %17

; <label>:17:                                     ; preds = %11
  %18 = lshr i32 %14, 1
  %19 = sub nsw i32 2147483646, %18
  %20 = icmp ugt i32 %14, %19
  br i1 %20, label %35, label %21

; <label>:21:                                     ; preds = %17
  %22 = add i32 %18, %14
  %23 = icmp ult i32 %15, %22
  %24 = select i1 %23, i32 %22, i32 %15
  %25 = add i32 %24, 1
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %47, label %27

; <label>:27:                                     ; preds = %21
  %28 = icmp slt i32 %25, 0
  br i1 %28, label %29, label %30

; <label>:29:                                     ; preds = %27
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:30:                                     ; preds = %27
  %31 = shl i32 %25, 1
  %32 = icmp ugt i32 %31, 4095
  br i1 %32, label %33, label %45

; <label>:33:                                     ; preds = %30
  %34 = icmp ugt i32 %31, -36
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %33, %17, %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %33
  %37 = add i32 %31, 35
  %38 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  %39 = ptrtoint i8* %38 to i32
  %40 = add i32 %39, 35
  %41 = and i32 %40, -32
  %42 = inttoptr i32 %41 to i8*
  %43 = inttoptr i32 %41 to i32*
  %44 = getelementptr inbounds i32, i32* %43, i32 -1
  store i32 %39, i32* %44, align 4, !tbaa !24
  br label %47

; <label>:45:                                     ; preds = %30
  %46 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %31) #14
  br label %47

; <label>:47:                                     ; preds = %45, %36, %21
  %48 = phi i32 [ -1, %21 ], [ %24, %36 ], [ %24, %45 ]
  %49 = phi i8* [ null, %21 ], [ %42, %36 ], [ %46, %45 ]
  %50 = bitcast i8* %49 to i16*
  %51 = ptrtoint i8* %49 to i32
  store i32 %12, i32* %6, align 4, !tbaa !58
  store i32 %48, i32* %13, align 4, !tbaa !54
  %52 = icmp ugt i32 %14, 7
  br i1 %52, label %53, label %117

; <label>:53:                                     ; preds = %47
  %54 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %55 = load i16*, i16** %54, align 4, !tbaa !12
  %56 = bitcast i16* %55 to i8*
  %57 = shl i32 %7, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %56, i32 %57, i32 2, i1 false) #14
  %58 = icmp eq i32 %3, 0
  br i1 %58, label %89, label %59

; <label>:59:                                     ; preds = %53
  %60 = getelementptr inbounds i16, i16* %50, i32 %7
  %61 = icmp ult i32 %3, 16
  br i1 %61, label %80, label %62

; <label>:62:                                     ; preds = %59
  %63 = and i32 %3, -16
  %64 = getelementptr i16, i16* %60, i32 %63
  %65 = sub i32 %3, %63
  %66 = insertelement <8 x i16> undef, i16 %4, i32 0
  %67 = shufflevector <8 x i16> %66, <8 x i16> undef, <8 x i32> zeroinitializer
  %68 = insertelement <8 x i16> undef, i16 %4, i32 0
  %69 = shufflevector <8 x i16> %68, <8 x i16> undef, <8 x i32> zeroinitializer
  br label %70

; <label>:70:                                     ; preds = %70, %62
  %71 = phi i32 [ 0, %62 ], [ %76, %70 ]
  %72 = getelementptr i16, i16* %60, i32 %71
  %73 = bitcast i16* %72 to <8 x i16>*
  store <8 x i16> %67, <8 x i16>* %73, align 2, !tbaa !56
  %74 = getelementptr i16, i16* %72, i32 8
  %75 = bitcast i16* %74 to <8 x i16>*
  store <8 x i16> %69, <8 x i16>* %75, align 2, !tbaa !56
  %76 = add i32 %71, 16
  %77 = icmp eq i32 %76, %63
  br i1 %77, label %78, label %70, !llvm.loop !257

; <label>:78:                                     ; preds = %70
  %79 = icmp eq i32 %63, %3
  br i1 %79, label %89, label %80

; <label>:80:                                     ; preds = %78, %59
  %81 = phi i16* [ %60, %59 ], [ %64, %78 ]
  %82 = phi i32 [ %3, %59 ], [ %65, %78 ]
  br label %83

; <label>:83:                                     ; preds = %83, %80
  %84 = phi i16* [ %86, %83 ], [ %81, %80 ]
  %85 = phi i32 [ %87, %83 ], [ %82, %80 ]
  store i16 %4, i16* %84, align 2, !tbaa !56
  %86 = getelementptr inbounds i16, i16* %84, i32 1
  %87 = add i32 %85, -1
  %88 = icmp eq i32 %87, 0
  br i1 %88, label %89, label %83, !llvm.loop !258

; <label>:89:                                     ; preds = %83, %78, %53
  %90 = add i32 %7, %3
  %91 = getelementptr inbounds i16, i16* %50, i32 %90
  store i16 0, i16* %91, align 2, !tbaa !56
  %92 = add i32 %14, 1
  %93 = icmp slt i32 %92, 0
  br i1 %93, label %113, label %94

; <label>:94:                                     ; preds = %89
  %95 = shl i32 %92, 1
  %96 = icmp ugt i32 %95, 4095
  br i1 %96, label %97, label %114

; <label>:97:                                     ; preds = %94
  %98 = add i32 %95, 35
  %99 = icmp ugt i32 %95, -36
  br i1 %99, label %113, label %100

; <label>:100:                                    ; preds = %97
  %101 = ptrtoint i16* %55 to i32
  %102 = and i32 %101, 31
  %103 = icmp eq i32 %102, 0
  br i1 %103, label %104, label %113

; <label>:104:                                    ; preds = %100
  %105 = add i32 %101, -4
  %106 = inttoptr i32 %105 to i32*
  %107 = load i32, i32* %106, align 4, !tbaa !24
  %108 = icmp ult i32 %107, %101
  br i1 %108, label %109, label %113

; <label>:109:                                    ; preds = %104
  %110 = sub i32 %105, %107
  %111 = icmp ugt i32 %110, 31
  %112 = inttoptr i32 %107 to i8*
  br i1 %111, label %113, label %114

; <label>:113:                                    ; preds = %109, %104, %100, %97, %89
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:114:                                    ; preds = %109, %94
  %115 = phi i8* [ %112, %109 ], [ %56, %94 ]
  %116 = phi i32 [ %98, %109 ], [ %95, %94 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %115, i32 %116) #14
  br label %154

; <label>:117:                                    ; preds = %47
  %118 = bitcast %"class.std::basic_string.101"* %0 to i8*
  %119 = shl i32 %7, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %118, i32 %119, i32 2, i1 false) #14
  %120 = icmp eq i32 %3, 0
  br i1 %120, label %151, label %121

; <label>:121:                                    ; preds = %117
  %122 = getelementptr inbounds i16, i16* %50, i32 %7
  %123 = icmp ult i32 %3, 16
  br i1 %123, label %142, label %124

; <label>:124:                                    ; preds = %121
  %125 = and i32 %3, -16
  %126 = getelementptr i16, i16* %122, i32 %125
  %127 = sub i32 %3, %125
  %128 = insertelement <8 x i16> undef, i16 %4, i32 0
  %129 = shufflevector <8 x i16> %128, <8 x i16> undef, <8 x i32> zeroinitializer
  %130 = insertelement <8 x i16> undef, i16 %4, i32 0
  %131 = shufflevector <8 x i16> %130, <8 x i16> undef, <8 x i32> zeroinitializer
  br label %132

; <label>:132:                                    ; preds = %132, %124
  %133 = phi i32 [ 0, %124 ], [ %138, %132 ]
  %134 = getelementptr i16, i16* %122, i32 %133
  %135 = bitcast i16* %134 to <8 x i16>*
  store <8 x i16> %129, <8 x i16>* %135, align 2, !tbaa !56
  %136 = getelementptr i16, i16* %134, i32 8
  %137 = bitcast i16* %136 to <8 x i16>*
  store <8 x i16> %131, <8 x i16>* %137, align 2, !tbaa !56
  %138 = add i32 %133, 16
  %139 = icmp eq i32 %138, %125
  br i1 %139, label %140, label %132, !llvm.loop !260

; <label>:140:                                    ; preds = %132
  %141 = icmp eq i32 %125, %3
  br i1 %141, label %151, label %142

; <label>:142:                                    ; preds = %140, %121
  %143 = phi i16* [ %122, %121 ], [ %126, %140 ]
  %144 = phi i32 [ %3, %121 ], [ %127, %140 ]
  br label %145

; <label>:145:                                    ; preds = %145, %142
  %146 = phi i16* [ %148, %145 ], [ %143, %142 ]
  %147 = phi i32 [ %149, %145 ], [ %144, %142 ]
  store i16 %4, i16* %146, align 2, !tbaa !56
  %148 = getelementptr inbounds i16, i16* %146, i32 1
  %149 = add i32 %147, -1
  %150 = icmp eq i32 %149, 0
  br i1 %150, label %151, label %145, !llvm.loop !261

; <label>:151:                                    ; preds = %145, %140, %117
  %152 = add i32 %7, %3
  %153 = getelementptr inbounds i16, i16* %50, i32 %152
  store i16 0, i16* %153, align 2, !tbaa !56
  br label %154

; <label>:154:                                    ; preds = %151, %114
  %155 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %51, i32* %155, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

declare i32* @_errno() local_unnamed_addr #6

declare i64 @wcstoll(i16*, i16**, i32) local_unnamed_addr #6

; Function Attrs: noreturn
declare void @"\01?_Xinvalid_argument@std@@YAXPBD@Z"(i8*) local_unnamed_addr #4

; Function Attrs: noreturn
declare void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8*) local_unnamed_addr #4

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@C@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAC@Z"(%"class.std::vector.37"*, i8* dereferenceable(1)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 0, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i8*
  %11 = load i8, i8* %1, align 1, !tbaa !12
  store i8 %11, i8* %10, align 8, !tbaa !12
  %12 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 1
  br label %111

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  store i32 0, i32* %57, align 8, !tbaa !135
  %58 = bitcast %class.variant.43* %56 to i8*
  %59 = load i8, i8* %1, align 1, !tbaa !12
  store i8 %59, i8* %58, align 8, !tbaa !12
  %60 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %61 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %62 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  %63 = icmp eq %class.variant.43* %62, %60
  br i1 %63, label %76, label %64

; <label>:64:                                     ; preds = %53
  br label %65

; <label>:65:                                     ; preds = %65, %64
  %66 = phi %class.variant.43* [ %71, %65 ], [ %55, %64 ]
  %67 = phi %class.variant.43* [ %72, %65 ], [ %62, %64 ]
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = load i32, i32* %69, align 8, !tbaa !135
  store i32 %70, i32* %68, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %66, %class.variant.43* nonnull dereferenceable(16) %67) #14
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = icmp eq %class.variant.43* %72, %60
  br i1 %73, label %74, label %65

; <label>:74:                                     ; preds = %65
  %75 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  br label %76

; <label>:76:                                     ; preds = %74, %53
  %77 = phi %class.variant.43* [ %75, %74 ], [ %60, %53 ]
  %78 = icmp eq %class.variant.43* %77, null
  %79 = ptrtoint %class.variant.43* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %76
  %81 = load i32, i32* %22, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %class.variant.43* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %76
  %108 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %109, %class.variant.43** %5, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %111

; <label>:111:                                    ; preds = %107, %8
  %112 = phi %class.variant.43** [ %3, %107 ], [ %5, %8 ]
  %113 = phi %class.variant.43* [ %110, %107 ], [ %13, %8 ]
  store %class.variant.43* %113, %class.variant.43** %112, align 4, !tbaa !23
  %114 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %115 = getelementptr inbounds %class.variant.43, %class.variant.43* %114, i32 -1
  ret %class.variant.43* %115
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@F@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAF@Z"(%"class.std::vector.37"*, i16* dereferenceable(2)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 1, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i16*
  %11 = load i16, i16* %1, align 2, !tbaa !59
  store i16 %11, i16* %10, align 8, !tbaa !59
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 1, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i16*
  %58 = load i16, i16* %1, align 2, !tbaa !59
  store i16 %58, i16* %57, align 8, !tbaa !59
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@H@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAH@Z"(%"class.std::vector.37"*, i32* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 2, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i32*
  %11 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %11, i32* %10, align 8, !tbaa !24
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 2, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i32*
  %58 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %58, i32* %57, align 8, !tbaa !24
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@_J@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_J@Z"(%"class.std::vector.37"*, i64* dereferenceable(8)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 3, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i64*
  %11 = load i64, i64* %1, align 8, !tbaa !61
  store i64 %11, i64* %10, align 8, !tbaa !61
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 3, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i64*
  %58 = load i64, i64* %1, align 8, !tbaa !61
  store i64 %58, i64* %57, align 8, !tbaa !61
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UIntX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUIntX@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::IntX"* dereferenceable(8)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 4, i32* %9, align 8, !tbaa !135
  %10 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %11 = bitcast %class.variant.43* %6 to i64*
  %12 = load i64, i64* %10, align 8, !tbaa !61
  store i64 %12, i64* %11, align 8, !tbaa !61
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %112

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  store i32 4, i32* %57, align 8, !tbaa !135
  %58 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %59 = bitcast %class.variant.43* %56 to i64*
  %60 = load i64, i64* %58, align 8, !tbaa !61
  store i64 %60, i64* %59, align 8, !tbaa !61
  %61 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %62 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %63 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  %64 = icmp eq %class.variant.43* %63, %61
  br i1 %64, label %77, label %65

; <label>:65:                                     ; preds = %53
  br label %66

; <label>:66:                                     ; preds = %66, %65
  %67 = phi %class.variant.43* [ %72, %66 ], [ %55, %65 ]
  %68 = phi %class.variant.43* [ %73, %66 ], [ %63, %65 ]
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = load i32, i32* %70, align 8, !tbaa !135
  store i32 %71, i32* %69, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %67, %class.variant.43* nonnull dereferenceable(16) %68) #14
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = icmp eq %class.variant.43* %73, %61
  br i1 %74, label %75, label %66

; <label>:75:                                     ; preds = %66
  %76 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  br label %77

; <label>:77:                                     ; preds = %75, %53
  %78 = phi %class.variant.43* [ %76, %75 ], [ %61, %53 ]
  %79 = icmp eq %class.variant.43* %78, null
  %80 = ptrtoint %class.variant.43* %78 to i32
  br i1 %79, label %108, label %81

; <label>:81:                                     ; preds = %77
  %82 = load i32, i32* %22, align 4, !tbaa !23
  %83 = sub i32 %82, %80
  %84 = ashr exact i32 %83, 4
  %85 = icmp ugt i32 %84, 268435455
  br i1 %85, label %104, label %86

; <label>:86:                                     ; preds = %81
  %87 = bitcast %class.variant.43* %78 to i8*
  %88 = icmp ugt i32 %83, 4095
  br i1 %88, label %89, label %105

; <label>:89:                                     ; preds = %86
  %90 = add i32 %83, 35
  %91 = icmp ult i32 %83, -35
  %92 = and i32 %80, 31
  %93 = icmp eq i32 %92, 0
  %94 = and i1 %93, %91
  br i1 %94, label %95, label %104

; <label>:95:                                     ; preds = %89
  %96 = add i32 %80, -4
  %97 = inttoptr i32 %96 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !24
  %99 = icmp ult i32 %98, %80
  br i1 %99, label %100, label %104

; <label>:100:                                    ; preds = %95
  %101 = sub i32 %96, %98
  %102 = icmp ugt i32 %101, 31
  %103 = inttoptr i32 %98 to i8*
  br i1 %102, label %104, label %105

; <label>:104:                                    ; preds = %100, %95, %89, %81
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:105:                                    ; preds = %100, %86
  %106 = phi i8* [ %103, %100 ], [ %87, %86 ]
  %107 = phi i32 [ %90, %100 ], [ %83, %86 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %106, i32 %107) #14
  br label %108

; <label>:108:                                    ; preds = %105, %77
  %109 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %109, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %110, %class.variant.43** %5, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %112

; <label>:112:                                    ; preds = %108, %8
  %113 = phi %class.variant.43** [ %3, %108 ], [ %5, %8 ]
  %114 = phi %class.variant.43* [ %111, %108 ], [ %13, %8 ]
  store %class.variant.43* %114, %class.variant.43** %113, align 4, !tbaa !23
  %115 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %116 = getelementptr inbounds %class.variant.43, %class.variant.43* %115, i32 -1
  ret %class.variant.43* %116
}

declare i64 @wcstoull(i16*, i16**, i32) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@E@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAE@Z"(%"class.std::vector.37"*, i8* dereferenceable(1)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 5, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i8*
  %11 = load i8, i8* %1, align 1, !tbaa !12
  store i8 %11, i8* %10, align 8, !tbaa !12
  %12 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 1
  br label %111

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  store i32 5, i32* %57, align 8, !tbaa !135
  %58 = bitcast %class.variant.43* %56 to i8*
  %59 = load i8, i8* %1, align 1, !tbaa !12
  store i8 %59, i8* %58, align 8, !tbaa !12
  %60 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %61 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %62 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  %63 = icmp eq %class.variant.43* %62, %60
  br i1 %63, label %76, label %64

; <label>:64:                                     ; preds = %53
  br label %65

; <label>:65:                                     ; preds = %65, %64
  %66 = phi %class.variant.43* [ %71, %65 ], [ %55, %64 ]
  %67 = phi %class.variant.43* [ %72, %65 ], [ %62, %64 ]
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = load i32, i32* %69, align 8, !tbaa !135
  store i32 %70, i32* %68, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %66, %class.variant.43* nonnull dereferenceable(16) %67) #14
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = icmp eq %class.variant.43* %72, %60
  br i1 %73, label %74, label %65

; <label>:74:                                     ; preds = %65
  %75 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  br label %76

; <label>:76:                                     ; preds = %74, %53
  %77 = phi %class.variant.43* [ %75, %74 ], [ %60, %53 ]
  %78 = icmp eq %class.variant.43* %77, null
  %79 = ptrtoint %class.variant.43* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %76
  %81 = load i32, i32* %22, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %class.variant.43* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %76
  %108 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %109, %class.variant.43** %5, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %111

; <label>:111:                                    ; preds = %107, %8
  %112 = phi %class.variant.43** [ %3, %107 ], [ %5, %8 ]
  %113 = phi %class.variant.43* [ %110, %107 ], [ %13, %8 ]
  store %class.variant.43* %113, %class.variant.43** %112, align 4, !tbaa !23
  %114 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %115 = getelementptr inbounds %class.variant.43, %class.variant.43* %114, i32 -1
  ret %class.variant.43* %115
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@G@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAG@Z"(%"class.std::vector.37"*, i16* dereferenceable(2)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 6, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i16*
  %11 = load i16, i16* %1, align 2, !tbaa !59
  store i16 %11, i16* %10, align 8, !tbaa !59
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 6, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i16*
  %58 = load i16, i16* %1, align 2, !tbaa !59
  store i16 %58, i16* %57, align 8, !tbaa !59
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@I@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z"(%"class.std::vector.37"*, i32* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 7, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i32*
  %11 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %11, i32* %10, align 8, !tbaa !24
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 7, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i32*
  %58 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %58, i32* %57, align 8, !tbaa !24
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@_K@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QA_K@Z"(%"class.std::vector.37"*, i64* dereferenceable(8)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 8, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.variant.43* %6 to i64*
  %11 = load i64, i64* %1, align 8, !tbaa !61
  store i64 %11, i64* %10, align 8, !tbaa !61
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %110

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 8, i32* %56, align 8, !tbaa !135
  %57 = bitcast %class.variant.43* %55 to i64*
  %58 = load i64, i64* %1, align 8, !tbaa !61
  store i64 %58, i64* %57, align 8, !tbaa !61
  %59 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %60 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  %62 = icmp eq %class.variant.43* %61, %59
  br i1 %62, label %75, label %63

; <label>:63:                                     ; preds = %52
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %class.variant.43* [ %70, %64 ], [ %54, %63 ]
  %66 = phi %class.variant.43* [ %71, %64 ], [ %61, %63 ]
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !135
  store i32 %69, i32* %67, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %65, %class.variant.43* nonnull dereferenceable(16) %66) #14
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = icmp eq %class.variant.43* %71, %59
  br i1 %72, label %73, label %64

; <label>:73:                                     ; preds = %64
  %74 = load %class.variant.43*, %class.variant.43** %60, align 4, !tbaa !23
  br label %75

; <label>:75:                                     ; preds = %73, %52
  %76 = phi %class.variant.43* [ %74, %73 ], [ %59, %52 ]
  %77 = icmp eq %class.variant.43* %76, null
  %78 = ptrtoint %class.variant.43* %76 to i32
  br i1 %77, label %106, label %79

; <label>:79:                                     ; preds = %75
  %80 = load i32, i32* %21, align 4, !tbaa !23
  %81 = sub i32 %80, %78
  %82 = ashr exact i32 %81, 4
  %83 = icmp ugt i32 %82, 268435455
  br i1 %83, label %102, label %84

; <label>:84:                                     ; preds = %79
  %85 = bitcast %class.variant.43* %76 to i8*
  %86 = icmp ugt i32 %81, 4095
  br i1 %86, label %87, label %103

; <label>:87:                                     ; preds = %84
  %88 = add i32 %81, 35
  %89 = icmp ult i32 %81, -35
  %90 = and i32 %78, 31
  %91 = icmp eq i32 %90, 0
  %92 = and i1 %91, %89
  br i1 %92, label %93, label %102

; <label>:93:                                     ; preds = %87
  %94 = add i32 %78, -4
  %95 = inttoptr i32 %94 to i32*
  %96 = load i32, i32* %95, align 4, !tbaa !24
  %97 = icmp ult i32 %96, %78
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %93
  %99 = sub i32 %94, %96
  %100 = icmp ugt i32 %99, 31
  %101 = inttoptr i32 %96 to i8*
  br i1 %100, label %102, label %103

; <label>:102:                                    ; preds = %98, %93, %87, %79
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:103:                                    ; preds = %98, %84
  %104 = phi i8* [ %101, %98 ], [ %85, %84 ]
  %105 = phi i32 [ %88, %98 ], [ %81, %84 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %104, i32 %105) #14
  br label %106

; <label>:106:                                    ; preds = %103, %75
  %107 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %108, %class.variant.43** %5, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %110

; <label>:110:                                    ; preds = %106, %8
  %111 = phi %class.variant.43** [ %3, %106 ], [ %5, %8 ]
  %112 = phi %class.variant.43* [ %109, %106 ], [ %12, %8 ]
  store %class.variant.43* %112, %class.variant.43** %111, align 4, !tbaa !23
  %113 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %113, i32 -1
  ret %class.variant.43* %114
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNatX@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNatX@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::IntX"* dereferenceable(8)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 9, i32* %9, align 8, !tbaa !135
  %10 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %11 = bitcast %class.variant.43* %6 to i64*
  %12 = load i64, i64* %10, align 8, !tbaa !61
  store i64 %12, i64* %11, align 8, !tbaa !61
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %112

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  store i32 9, i32* %57, align 8, !tbaa !135
  %58 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %59 = bitcast %class.variant.43* %56 to i64*
  %60 = load i64, i64* %58, align 8, !tbaa !61
  store i64 %60, i64* %59, align 8, !tbaa !61
  %61 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %62 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %63 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  %64 = icmp eq %class.variant.43* %63, %61
  br i1 %64, label %77, label %65

; <label>:65:                                     ; preds = %53
  br label %66

; <label>:66:                                     ; preds = %66, %65
  %67 = phi %class.variant.43* [ %72, %66 ], [ %55, %65 ]
  %68 = phi %class.variant.43* [ %73, %66 ], [ %63, %65 ]
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = load i32, i32* %70, align 8, !tbaa !135
  store i32 %71, i32* %69, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %67, %class.variant.43* nonnull dereferenceable(16) %68) #14
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = icmp eq %class.variant.43* %73, %61
  br i1 %74, label %75, label %66

; <label>:75:                                     ; preds = %66
  %76 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  br label %77

; <label>:77:                                     ; preds = %75, %53
  %78 = phi %class.variant.43* [ %76, %75 ], [ %61, %53 ]
  %79 = icmp eq %class.variant.43* %78, null
  %80 = ptrtoint %class.variant.43* %78 to i32
  br i1 %79, label %108, label %81

; <label>:81:                                     ; preds = %77
  %82 = load i32, i32* %22, align 4, !tbaa !23
  %83 = sub i32 %82, %80
  %84 = ashr exact i32 %83, 4
  %85 = icmp ugt i32 %84, 268435455
  br i1 %85, label %104, label %86

; <label>:86:                                     ; preds = %81
  %87 = bitcast %class.variant.43* %78 to i8*
  %88 = icmp ugt i32 %83, 4095
  br i1 %88, label %89, label %105

; <label>:89:                                     ; preds = %86
  %90 = add i32 %83, 35
  %91 = icmp ult i32 %83, -35
  %92 = and i32 %80, 31
  %93 = icmp eq i32 %92, 0
  %94 = and i1 %93, %91
  br i1 %94, label %95, label %104

; <label>:95:                                     ; preds = %89
  %96 = add i32 %80, -4
  %97 = inttoptr i32 %96 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !24
  %99 = icmp ult i32 %98, %80
  br i1 %99, label %100, label %104

; <label>:100:                                    ; preds = %95
  %101 = sub i32 %96, %98
  %102 = icmp ugt i32 %101, 31
  %103 = inttoptr i32 %98 to i8*
  br i1 %102, label %104, label %105

; <label>:104:                                    ; preds = %100, %95, %89, %81
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:105:                                    ; preds = %100, %86
  %106 = phi i8* [ %103, %100 ], [ %87, %86 ]
  %107 = phi i32 [ %90, %100 ], [ %83, %86 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %106, i32 %107) #14
  br label %108

; <label>:108:                                    ; preds = %105, %77
  %109 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %109, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %110, %class.variant.43** %5, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %112

; <label>:112:                                    ; preds = %108, %8
  %113 = phi %class.variant.43** [ %3, %108 ], [ %5, %8 ]
  %114 = phi %class.variant.43* [ %111, %108 ], [ %13, %8 ]
  store %class.variant.43* %114, %class.variant.43** %113, align 4, !tbaa !23
  %115 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %116 = getelementptr inbounds %class.variant.43, %class.variant.43* %115, i32 -1
  ret %class.variant.43* %116
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %"struct.ast::ASTNodeInfo"* @"\01??$emplace_back@UASTNodeInfo@ast@@@?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUASTNodeInfo@ast@@@Z"(%"class.std::vector.45"*, %"struct.ast::ASTNodeInfo"* dereferenceable(16)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %7 = icmp eq %"struct.ast::ASTNodeInfo"* %4, %6
  br i1 %7, label %31, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %6, i32 0, i32 0
  %10 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 0
  %11 = load i32, i32* %10, align 4, !tbaa !67
  store i32 %11, i32* %9, align 4, !tbaa !67
  %12 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %6, i32 0, i32 1
  %13 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1
  %14 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %12, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %14, align 4, !tbaa !36
  %15 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %15, align 4, !tbaa !38
  %16 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %16, align 4, !tbaa !39
  %17 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %13, i32 0, i32 0, i32 0, i32 0, i32 0
  %18 = bitcast %"class.std::vector.45"* %13 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = bitcast %"class.std::vector.45"* %12 to i32*
  store i32 %19, i32* %20, align 4, !tbaa !23
  %21 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %22 = bitcast %"struct.ast::ASTNodeInfo"** %21 to i32*
  %23 = load i32, i32* %22, align 4, !tbaa !23
  %24 = bitcast %"struct.ast::ASTNodeInfo"** %15 to i32*
  store i32 %23, i32* %24, align 4, !tbaa !23
  %25 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %26 = bitcast %"struct.ast::ASTNodeInfo"** %25 to i32*
  %27 = load i32, i32* %26, align 4, !tbaa !23
  %28 = bitcast %"struct.ast::ASTNodeInfo"** %16 to i32*
  store i32 %27, i32* %28, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %17, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %21, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %25, align 4, !tbaa !23
  %29 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %30 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %29, i32 1
  br label %172

; <label>:31:                                     ; preds = %2
  %32 = ptrtoint %"struct.ast::ASTNodeInfo"* %4 to i32
  %33 = ptrtoint %"struct.ast::ASTNodeInfo"* %6 to i32
  %34 = bitcast %"class.std::vector.45"* %0 to i32*
  %35 = load i32, i32* %34, align 4, !tbaa !23
  %36 = sub i32 %33, %35
  %37 = ashr exact i32 %36, 4
  %38 = add nsw i32 %37, 1
  %39 = bitcast %"struct.ast::ASTNodeInfo"** %3 to i32*
  %40 = sub i32 %32, %35
  %41 = ashr exact i32 %40, 4
  %42 = lshr i32 %41, 1
  %43 = sub nsw i32 268435455, %42
  %44 = icmp ugt i32 %41, %43
  br i1 %44, label %49, label %45

; <label>:45:                                     ; preds = %31
  %46 = add i32 %42, %41
  %47 = icmp ult i32 %46, %38
  %48 = select i1 %47, i32 %38, i32 %46
  br label %49

; <label>:49:                                     ; preds = %45, %31
  %50 = phi i32 [ %48, %45 ], [ %38, %31 ]
  %51 = icmp ugt i32 %50, 268435455
  br i1 %51, label %52, label %53

; <label>:52:                                     ; preds = %49
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:53:                                     ; preds = %49
  %54 = shl i32 %50, 4
  %55 = icmp ugt i32 %54, 4095
  br i1 %55, label %56, label %68

; <label>:56:                                     ; preds = %53
  %57 = icmp ugt i32 %54, -36
  br i1 %57, label %58, label %59

; <label>:58:                                     ; preds = %56
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:59:                                     ; preds = %56
  %60 = add i32 %54, 35
  %61 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %60) #14
  %62 = ptrtoint i8* %61 to i32
  %63 = add i32 %62, 35
  %64 = and i32 %63, -32
  %65 = inttoptr i32 %64 to i8*
  %66 = inttoptr i32 %64 to i32*
  %67 = getelementptr inbounds i32, i32* %66, i32 -1
  store i32 %62, i32* %67, align 4, !tbaa !24
  br label %70

; <label>:68:                                     ; preds = %53
  %69 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %54) #14
  br label %70

; <label>:70:                                     ; preds = %68, %59
  %71 = phi i8* [ %65, %59 ], [ %69, %68 ]
  %72 = bitcast i8* %71 to %"struct.ast::ASTNodeInfo"*
  %73 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %37, i32 0
  %74 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 0
  %75 = load i32, i32* %74, align 4, !tbaa !67
  store i32 %75, i32* %73, align 4, !tbaa !67
  %76 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %37, i32 1
  %77 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1
  %78 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %76, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %78, align 4, !tbaa !36
  %79 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %37, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %79, align 4, !tbaa !38
  %80 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %37, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %80, align 4, !tbaa !39
  %81 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %77, i32 0, i32 0, i32 0, i32 0, i32 0
  %82 = bitcast %"class.std::vector.45"* %77 to i32*
  %83 = load i32, i32* %82, align 4, !tbaa !23
  %84 = bitcast %"class.std::vector.45"* %76 to i32*
  store i32 %83, i32* %84, align 4, !tbaa !23
  %85 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %86 = bitcast %"struct.ast::ASTNodeInfo"** %85 to i32*
  %87 = load i32, i32* %86, align 4, !tbaa !23
  %88 = bitcast %"struct.ast::ASTNodeInfo"** %79 to i32*
  store i32 %87, i32* %88, align 4, !tbaa !23
  %89 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %90 = bitcast %"struct.ast::ASTNodeInfo"** %89 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !23
  %92 = bitcast %"struct.ast::ASTNodeInfo"** %80 to i32*
  store i32 %91, i32* %92, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %85, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %89, align 4, !tbaa !23
  %93 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %94 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %95 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %94, align 4, !tbaa !23
  %96 = icmp eq %"struct.ast::ASTNodeInfo"* %95, %93
  br i1 %96, label %126, label %97

; <label>:97:                                     ; preds = %70
  br label %98

; <label>:98:                                     ; preds = %98, %97
  %99 = phi %"struct.ast::ASTNodeInfo"* [ %121, %98 ], [ %72, %97 ]
  %100 = phi %"struct.ast::ASTNodeInfo"* [ %122, %98 ], [ %95, %97 ]
  %101 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %99, i32 0, i32 0
  %102 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %100, i32 0, i32 0
  %103 = load i32, i32* %102, align 4, !tbaa !67
  store i32 %103, i32* %101, align 4, !tbaa !67
  %104 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %99, i32 0, i32 1
  %105 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %100, i32 0, i32 1
  %106 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %104, i32 0, i32 0, i32 0, i32 0, i32 0
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %106, align 4, !tbaa !36
  %107 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %99, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %107, align 4, !tbaa !38
  %108 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %99, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %108, align 4, !tbaa !39
  %109 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %105, i32 0, i32 0, i32 0, i32 0, i32 0
  %110 = bitcast %"class.std::vector.45"* %105 to i32*
  %111 = load i32, i32* %110, align 4, !tbaa !23
  %112 = bitcast %"class.std::vector.45"* %104 to i32*
  store i32 %111, i32* %112, align 4, !tbaa !23
  %113 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %100, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %114 = bitcast %"struct.ast::ASTNodeInfo"** %113 to i32*
  %115 = load i32, i32* %114, align 4, !tbaa !23
  %116 = bitcast %"struct.ast::ASTNodeInfo"** %107 to i32*
  store i32 %115, i32* %116, align 4, !tbaa !23
  %117 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %100, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %118 = bitcast %"struct.ast::ASTNodeInfo"** %117 to i32*
  %119 = load i32, i32* %118, align 4, !tbaa !23
  %120 = bitcast %"struct.ast::ASTNodeInfo"** %108 to i32*
  store i32 %119, i32* %120, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %109, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %113, align 4, !tbaa !23
  store %"struct.ast::ASTNodeInfo"* null, %"struct.ast::ASTNodeInfo"** %117, align 4, !tbaa !23
  %121 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %99, i32 1
  %122 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %100, i32 1
  %123 = icmp eq %"struct.ast::ASTNodeInfo"* %122, %93
  br i1 %123, label %124, label %98

; <label>:124:                                    ; preds = %98
  %125 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %94, align 4, !tbaa !23
  br label %126

; <label>:126:                                    ; preds = %124, %70
  %127 = phi %"struct.ast::ASTNodeInfo"* [ %125, %124 ], [ %93, %70 ]
  %128 = icmp eq %"struct.ast::ASTNodeInfo"* %127, null
  br i1 %128, label %168, label %129

; <label>:129:                                    ; preds = %126
  %130 = ptrtoint %"struct.ast::ASTNodeInfo"* %127 to i32
  %131 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %132 = icmp eq %"struct.ast::ASTNodeInfo"* %127, %131
  br i1 %132, label %141, label %133

; <label>:133:                                    ; preds = %129
  br label %134

; <label>:134:                                    ; preds = %134, %133
  %135 = phi %"struct.ast::ASTNodeInfo"* [ %137, %134 ], [ %127, %133 ]
  %136 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %135, i32 0, i32 1
  tail call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* %136) #14
  %137 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %135, i32 1
  %138 = icmp eq %"struct.ast::ASTNodeInfo"* %137, %131
  br i1 %138, label %139, label %134

; <label>:139:                                    ; preds = %134
  %140 = load i32, i32* %34, align 4, !tbaa !23
  br label %141

; <label>:141:                                    ; preds = %139, %129
  %142 = phi i32 [ %140, %139 ], [ %130, %129 ]
  %143 = load i32, i32* %39, align 4, !tbaa !23
  %144 = sub i32 %143, %142
  %145 = ashr exact i32 %144, 4
  %146 = icmp ugt i32 %145, 268435455
  br i1 %146, label %163, label %147

; <label>:147:                                    ; preds = %141
  %148 = icmp ugt i32 %144, 4095
  br i1 %148, label %149, label %164

; <label>:149:                                    ; preds = %147
  %150 = icmp ult i32 %144, -35
  %151 = and i32 %142, 31
  %152 = icmp eq i32 %151, 0
  %153 = and i1 %152, %150
  br i1 %153, label %154, label %163

; <label>:154:                                    ; preds = %149
  %155 = add i32 %144, 35
  %156 = add i32 %142, -4
  %157 = inttoptr i32 %156 to i32*
  %158 = load i32, i32* %157, align 4, !tbaa !24
  %159 = icmp uge i32 %158, %142
  %160 = sub i32 %156, %158
  %161 = icmp ugt i32 %160, 31
  %162 = or i1 %159, %161
  br i1 %162, label %163, label %164

; <label>:163:                                    ; preds = %154, %149, %141
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:164:                                    ; preds = %154, %147
  %165 = phi i32 [ %142, %147 ], [ %158, %154 ]
  %166 = phi i32 [ %144, %147 ], [ %155, %154 ]
  %167 = inttoptr i32 %165 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %167, i32 %166) #14
  br label %168

; <label>:168:                                    ; preds = %164, %126
  %169 = bitcast %"class.std::vector.45"* %0 to i8**
  store i8* %71, i8** %169, align 4, !tbaa !23
  %170 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %38
  store %"struct.ast::ASTNodeInfo"* %170, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %171 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %72, i32 %50
  br label %172

; <label>:172:                                    ; preds = %168, %8
  %173 = phi %"struct.ast::ASTNodeInfo"** [ %3, %168 ], [ %5, %8 ]
  %174 = phi %"struct.ast::ASTNodeInfo"* [ %171, %168 ], [ %30, %8 ]
  store %"struct.ast::ASTNodeInfo"* %174, %"struct.ast::ASTNodeInfo"** %173, align 4, !tbaa !23
  %175 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %5, align 4, !tbaa !23
  %176 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %175, i32 -1
  ret %"struct.ast::ASTNodeInfo"* %176
}

declare float @wcstof(i16*, i16**) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@M@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAM@Z"(%"class.std::vector.37"*, float* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 10, i32* %9, align 8, !tbaa !135
  %10 = bitcast float* %1 to i32*
  %11 = load i32, i32* %10, align 4, !tbaa !70
  %12 = bitcast %class.variant.43* %6 to i32*
  store i32 %11, i32* %12, align 8, !tbaa !70
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %112

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  store i32 10, i32* %57, align 8, !tbaa !135
  %58 = bitcast float* %1 to i32*
  %59 = load i32, i32* %58, align 4, !tbaa !70
  %60 = bitcast %class.variant.43* %56 to i32*
  store i32 %59, i32* %60, align 8, !tbaa !70
  %61 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %62 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %63 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  %64 = icmp eq %class.variant.43* %63, %61
  br i1 %64, label %77, label %65

; <label>:65:                                     ; preds = %53
  br label %66

; <label>:66:                                     ; preds = %66, %65
  %67 = phi %class.variant.43* [ %72, %66 ], [ %55, %65 ]
  %68 = phi %class.variant.43* [ %73, %66 ], [ %63, %65 ]
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = load i32, i32* %70, align 8, !tbaa !135
  store i32 %71, i32* %69, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %67, %class.variant.43* nonnull dereferenceable(16) %68) #14
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = icmp eq %class.variant.43* %73, %61
  br i1 %74, label %75, label %66

; <label>:75:                                     ; preds = %66
  %76 = load %class.variant.43*, %class.variant.43** %62, align 4, !tbaa !23
  br label %77

; <label>:77:                                     ; preds = %75, %53
  %78 = phi %class.variant.43* [ %76, %75 ], [ %61, %53 ]
  %79 = icmp eq %class.variant.43* %78, null
  %80 = ptrtoint %class.variant.43* %78 to i32
  br i1 %79, label %108, label %81

; <label>:81:                                     ; preds = %77
  %82 = load i32, i32* %22, align 4, !tbaa !23
  %83 = sub i32 %82, %80
  %84 = ashr exact i32 %83, 4
  %85 = icmp ugt i32 %84, 268435455
  br i1 %85, label %104, label %86

; <label>:86:                                     ; preds = %81
  %87 = bitcast %class.variant.43* %78 to i8*
  %88 = icmp ugt i32 %83, 4095
  br i1 %88, label %89, label %105

; <label>:89:                                     ; preds = %86
  %90 = add i32 %83, 35
  %91 = icmp ult i32 %83, -35
  %92 = and i32 %80, 31
  %93 = icmp eq i32 %92, 0
  %94 = and i1 %93, %91
  br i1 %94, label %95, label %104

; <label>:95:                                     ; preds = %89
  %96 = add i32 %80, -4
  %97 = inttoptr i32 %96 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !24
  %99 = icmp ult i32 %98, %80
  br i1 %99, label %100, label %104

; <label>:100:                                    ; preds = %95
  %101 = sub i32 %96, %98
  %102 = icmp ugt i32 %101, 31
  %103 = inttoptr i32 %98 to i8*
  br i1 %102, label %104, label %105

; <label>:104:                                    ; preds = %100, %95, %89, %81
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:105:                                    ; preds = %100, %86
  %106 = phi i8* [ %103, %100 ], [ %87, %86 ]
  %107 = phi i32 [ %90, %100 ], [ %83, %86 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %106, i32 %107) #14
  br label %108

; <label>:108:                                    ; preds = %105, %77
  %109 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %109, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %110, %class.variant.43** %5, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %112

; <label>:112:                                    ; preds = %108, %8
  %113 = phi %class.variant.43** [ %3, %108 ], [ %5, %8 ]
  %114 = phi %class.variant.43* [ %111, %108 ], [ %13, %8 ]
  store %class.variant.43* %114, %class.variant.43** %113, align 4, !tbaa !23
  %115 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %116 = getelementptr inbounds %class.variant.43, %class.variant.43* %115, i32 -1
  ret %class.variant.43* %116
}

declare double @wcstod(i16*, i16**) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@N@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAN@Z"(%"class.std::vector.37"*, double* dereferenceable(8)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 11, i32* %9, align 8, !tbaa !135
  %10 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 0, i32 0, i32 0
  %11 = load double, double* %1, align 8, !tbaa !72
  store double %11, double* %10, align 8, !tbaa !72
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 1
  br label %109

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %class.variant.43* %4 to i32
  %15 = ptrtoint %class.variant.43* %6 to i32
  %16 = bitcast %"class.std::vector.37"* %0 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, 1
  %21 = bitcast %class.variant.43** %3 to i32*
  %22 = sub i32 %14, %17
  %23 = ashr exact i32 %22, 4
  %24 = lshr i32 %23, 1
  %25 = sub nsw i32 268435455, %24
  %26 = icmp ugt i32 %23, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %13
  %28 = add i32 %24, %23
  %29 = icmp ult i32 %28, %20
  %30 = select i1 %29, i32 %20, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %13
  %32 = phi i32 [ %30, %27 ], [ %20, %13 ]
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %31
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %31
  %36 = shl i32 %32, 4
  %37 = icmp ugt i32 %36, 4095
  br i1 %37, label %38, label %50

; <label>:38:                                     ; preds = %35
  %39 = icmp ugt i32 %36, -36
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %38
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %38
  %42 = add i32 %36, 35
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %42) #14
  %44 = ptrtoint i8* %43 to i32
  %45 = add i32 %44, 35
  %46 = and i32 %45, -32
  %47 = inttoptr i32 %46 to i8*
  %48 = inttoptr i32 %46 to i32*
  %49 = getelementptr inbounds i32, i32* %48, i32 -1
  store i32 %44, i32* %49, align 4, !tbaa !24
  br label %52

; <label>:50:                                     ; preds = %35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  br label %52

; <label>:52:                                     ; preds = %50, %41
  %53 = phi i8* [ %47, %41 ], [ %51, %50 ]
  %54 = bitcast i8* %53 to %class.variant.43*
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 1
  store i32 11, i32* %55, align 8, !tbaa !135
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %19, i32 0, i32 0, i32 0
  %57 = load double, double* %1, align 8, !tbaa !72
  store double %57, double* %56, align 8, !tbaa !72
  %58 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %59 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %60 = load %class.variant.43*, %class.variant.43** %59, align 4, !tbaa !23
  %61 = icmp eq %class.variant.43* %60, %58
  br i1 %61, label %74, label %62

; <label>:62:                                     ; preds = %52
  br label %63

; <label>:63:                                     ; preds = %63, %62
  %64 = phi %class.variant.43* [ %69, %63 ], [ %54, %62 ]
  %65 = phi %class.variant.43* [ %70, %63 ], [ %60, %62 ]
  %66 = getelementptr inbounds %class.variant.43, %class.variant.43* %64, i32 0, i32 1
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 0, i32 1
  %68 = load i32, i32* %67, align 8, !tbaa !135
  store i32 %68, i32* %66, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %64, %class.variant.43* nonnull dereferenceable(16) %65) #14
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %64, i32 1
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %65, i32 1
  %71 = icmp eq %class.variant.43* %70, %58
  br i1 %71, label %72, label %63

; <label>:72:                                     ; preds = %63
  %73 = load %class.variant.43*, %class.variant.43** %59, align 4, !tbaa !23
  br label %74

; <label>:74:                                     ; preds = %72, %52
  %75 = phi %class.variant.43* [ %73, %72 ], [ %58, %52 ]
  %76 = icmp eq %class.variant.43* %75, null
  %77 = ptrtoint %class.variant.43* %75 to i32
  br i1 %76, label %105, label %78

; <label>:78:                                     ; preds = %74
  %79 = load i32, i32* %21, align 4, !tbaa !23
  %80 = sub i32 %79, %77
  %81 = ashr exact i32 %80, 4
  %82 = icmp ugt i32 %81, 268435455
  br i1 %82, label %101, label %83

; <label>:83:                                     ; preds = %78
  %84 = bitcast %class.variant.43* %75 to i8*
  %85 = icmp ugt i32 %80, 4095
  br i1 %85, label %86, label %102

; <label>:86:                                     ; preds = %83
  %87 = add i32 %80, 35
  %88 = icmp ult i32 %80, -35
  %89 = and i32 %77, 31
  %90 = icmp eq i32 %89, 0
  %91 = and i1 %90, %88
  br i1 %91, label %92, label %101

; <label>:92:                                     ; preds = %86
  %93 = add i32 %77, -4
  %94 = inttoptr i32 %93 to i32*
  %95 = load i32, i32* %94, align 4, !tbaa !24
  %96 = icmp ult i32 %95, %77
  br i1 %96, label %97, label %101

; <label>:97:                                     ; preds = %92
  %98 = sub i32 %93, %95
  %99 = icmp ugt i32 %98, 31
  %100 = inttoptr i32 %95 to i8*
  br i1 %99, label %101, label %102

; <label>:101:                                    ; preds = %97, %92, %86, %78
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:102:                                    ; preds = %97, %83
  %103 = phi i8* [ %100, %97 ], [ %84, %83 ]
  %104 = phi i32 [ %87, %97 ], [ %80, %83 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %103, i32 %104) #14
  br label %105

; <label>:105:                                    ; preds = %102, %74
  %106 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %53, i8** %106, align 4, !tbaa !23
  %107 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %20
  store %class.variant.43* %107, %class.variant.43** %5, align 4, !tbaa !23
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %54, i32 %32
  br label %109

; <label>:109:                                    ; preds = %105, %8
  %110 = phi %class.variant.43** [ %3, %105 ], [ %5, %8 ]
  %111 = phi %class.variant.43* [ %108, %105 ], [ %12, %8 ]
  store %class.variant.43* %111, %class.variant.43** %110, align 4, !tbaa !23
  %112 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %113 = getelementptr inbounds %class.variant.43, %class.variant.43* %112, i32 -1
  ret %class.variant.43* %113
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash"*, %"struct.std::pair"* noalias sret, %"class.std::basic_string"* dereferenceable(24), %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32, i32* %5, align 4, !tbaa !83
  %7 = bitcast %"class.std::basic_string"* %2 to i8*
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = icmp ugt i32 %9, 15
  %11 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %12 = load i8*, i8** %11, align 4
  %13 = select i1 %10, i8* %12, i8* %7
  %14 = icmp eq i32 %6, 0
  br i1 %14, label %26, label %15

; <label>:15:                                     ; preds = %4
  br label %16

; <label>:16:                                     ; preds = %16, %15
  %17 = phi i32 [ %24, %16 ], [ 0, %15 ]
  %18 = phi i32 [ %23, %16 ], [ -2128831035, %15 ]
  %19 = getelementptr inbounds i8, i8* %13, i32 %17
  %20 = load i8, i8* %19, align 1, !tbaa !12
  %21 = zext i8 %20 to i32
  %22 = xor i32 %18, %21
  %23 = mul i32 %22, 16777619
  %24 = add nuw i32 %17, 1
  %25 = icmp eq i32 %24, %6
  br i1 %25, label %26, label %16

; <label>:26:                                     ; preds = %16, %4
  %27 = phi i32 [ -2128831035, %4 ], [ %23, %16 ]
  %28 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 3
  %29 = load i32, i32* %28, align 4, !tbaa !262
  %30 = and i32 %29, %27
  %31 = shl i32 %30, 1
  %32 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %33 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23, !noalias !267
  %34 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1
  %35 = bitcast %"class.std::list"* %34 to i32*
  %36 = load i32, i32* %35, align 4, !tbaa !23, !noalias !270
  %37 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %31, i32 0
  %38 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %37, align 4, !tbaa !79, !noalias !267
  %39 = inttoptr i32 %36 to %"struct.std::_List_node"*
  %40 = icmp eq %"struct.std::_List_node"* %38, %39
  %41 = inttoptr i32 %36 to i32*
  br i1 %40, label %48, label %42

; <label>:42:                                     ; preds = %26
  %43 = or i32 %31, 1
  %44 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %43
  %45 = bitcast %"class.std::_List_unchecked_const_iterator"* %44 to i32**
  %46 = load i32*, i32** %45, align 4, !noalias !267
  %47 = load i32, i32* %46, align 4, !tbaa !275, !noalias !267
  br label %48

; <label>:48:                                     ; preds = %42, %26
  %49 = phi i32 [ %47, %42 ], [ %36, %26 ]
  %50 = inttoptr i32 %49 to %"struct.std::_List_node"*
  %51 = icmp eq %"struct.std::_List_node"* %38, %50
  br i1 %51, label %75, label %52

; <label>:52:                                     ; preds = %48
  br label %53

; <label>:53:                                     ; preds = %73, %52
  %54 = phi %"struct.std::_List_node"* [ %58, %73 ], [ %50, %52 ]
  %55 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %54, i32 0, i32 1
  %56 = bitcast %"struct.std::_List_node"** %55 to i32*
  %57 = load i32, i32* %56, align 4, !tbaa !278
  %58 = inttoptr i32 %57 to %"struct.std::_List_node"*
  %59 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %58, i32 0, i32 2
  %60 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %58, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %61 = load i32, i32* %60, align 4, !tbaa !83
  %62 = icmp eq i32 %6, %61
  br i1 %62, label %63, label %73

; <label>:63:                                     ; preds = %53
  %64 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %58, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %65 = load i32, i32* %64, align 4, !tbaa !81
  %66 = icmp ugt i32 %65, 15
  %67 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %68 = load i8*, i8** %67, align 4
  %69 = bitcast %"class.std::basic_string"* %59 to i8*
  %70 = select i1 %66, i8* %68, i8* %69
  %71 = tail call i32 @memcmp(i8* %13, i8* %70, i32 %6) #14
  %72 = icmp eq i32 %71, 0
  br i1 %72, label %163, label %73

; <label>:73:                                     ; preds = %63, %53
  %74 = icmp eq %"struct.std::_List_node"* %38, %58
  br i1 %74, label %75, label %53

; <label>:75:                                     ; preds = %73, %48
  %76 = load i32, i32* %41, align 4, !tbaa !275, !noalias !279
  %77 = inttoptr i32 %76 to %"struct.std::_List_node"*
  %78 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %77, i32 0, i32 1
  %79 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %78, align 4, !tbaa !278, !noalias !284
  %80 = ptrtoint %"struct.std::_List_node"* %79 to i32
  %81 = tail call i8* @"\01??2@YAPAXI@Z"(i32 32) #14, !noalias !284
  %82 = icmp eq i32 %76, 0
  %83 = ptrtoint i8* %81 to i32
  %84 = select i1 %82, i32 %83, i32 %80
  %85 = select i1 %82, i32 %83, i32 %76
  %86 = bitcast i8* %81 to i32*
  store i32 %85, i32* %86, align 4, !tbaa !23, !noalias !284
  %87 = getelementptr inbounds i8, i8* %81, i32 4
  %88 = bitcast i8* %87 to i32*
  store i32 %84, i32* %88, align 4, !tbaa !23, !noalias !284
  %89 = getelementptr inbounds i8, i8* %81, i32 8
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* nonnull %7, i32 24, i32 1, i1 false) #14, !noalias !284
  store i32 0, i32* %5, align 4, !tbaa !83, !noalias !284
  store i32 15, i32* %8, align 4, !tbaa !81, !noalias !284
  store i8 0, i8* %7, align 1, !tbaa !12, !noalias !284
  %90 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %91 = load i32, i32* %90, align 4, !tbaa !24, !noalias !284
  %92 = icmp eq i32 %91, 134217726
  br i1 %92, label %93, label %94

; <label>:93:                                     ; preds = %75
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12, !noalias !284
  unreachable

; <label>:94:                                     ; preds = %75
  %95 = bitcast %"class.std::list"* %34 to i32**
  %96 = add i32 %91, 1
  store i32 %96, i32* %90, align 4, !tbaa !24, !noalias !284
  %97 = bitcast %"struct.std::_List_node"** %78 to i8**
  store i8* %81, i8** %97, align 4, !tbaa !278, !noalias !284
  %98 = bitcast %"struct.std::_List_node"* %79 to i8**
  store i8* %81, i8** %98, align 4, !tbaa !275, !noalias !284
  %99 = load i32*, i32** %95, align 4, !tbaa !23, !noalias !285
  %100 = load i32, i32* %99, align 4, !tbaa !275, !noalias !285
  %101 = inttoptr i32 %100 to %"struct.std::_List_node"**
  %102 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %101, align 4, !tbaa !275
  %103 = icmp eq %"struct.std::_List_node"* %102, %38
  br i1 %103, label %104, label %107

; <label>:104:                                    ; preds = %94
  %105 = bitcast i32* %99 to %"struct.std::_List_node"*
  %106 = inttoptr i32 %100 to %"struct.std::_List_node"*
  br label %126

; <label>:107:                                    ; preds = %94
  %108 = inttoptr i32 %100 to %"struct.std::_List_node"*
  %109 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %108, i32 0, i32 1
  %110 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %109, align 4, !tbaa !278
  %111 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %110, i32 0, i32 0
  store %"struct.std::_List_node"* %102, %"struct.std::_List_node"** %111, align 4, !tbaa !275
  %112 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %102, i32 0, i32 1
  %113 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %112, align 4, !tbaa !278
  %114 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %113, i32 0, i32 0
  store %"struct.std::_List_node"* %38, %"struct.std::_List_node"** %114, align 4, !tbaa !275
  %115 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %38, i32 0, i32 1
  %116 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %115, align 4, !tbaa !278
  %117 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %116, i32 0, i32 0
  store %"struct.std::_List_node"* %108, %"struct.std::_List_node"** %117, align 4, !tbaa !275
  %118 = bitcast %"struct.std::_List_node"** %115 to i32*
  %119 = ptrtoint %"struct.std::_List_node"* %116 to i32
  %120 = bitcast %"struct.std::_List_node"** %112 to i32*
  %121 = ptrtoint %"struct.std::_List_node"* %113 to i32
  store i32 %121, i32* %118, align 4, !tbaa !278
  %122 = bitcast %"struct.std::_List_node"** %109 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !278
  store i32 %123, i32* %120, align 4, !tbaa !278
  store i32 %119, i32* %122, align 4, !tbaa !278
  %124 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %125 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %124, align 4, !tbaa !23, !noalias !290
  br label %126

; <label>:126:                                    ; preds = %107, %104
  %127 = phi %"struct.std::_List_node"* [ %106, %104 ], [ %108, %107 ]
  %128 = phi %"struct.std::_List_node"* [ %105, %104 ], [ %125, %107 ]
  %129 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %129, i32 %31
  %131 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %130, i32 0, i32 0
  %132 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %131, align 4, !tbaa !79
  %133 = icmp eq %"struct.std::_List_node"* %132, %128
  br i1 %133, label %134, label %139

; <label>:134:                                    ; preds = %126
  %135 = bitcast %"class.std::_List_unchecked_const_iterator"* %130 to i32*
  store i32 %100, i32* %135, align 4
  %136 = or i32 %31, 1
  %137 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %138 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %137, i32 %136
  br label %158

; <label>:139:                                    ; preds = %126
  %140 = icmp eq %"struct.std::_List_node"* %132, %38
  br i1 %140, label %158, label %141

; <label>:141:                                    ; preds = %139
  %142 = or i32 %31, 1
  %143 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %129, i32 %142
  %144 = bitcast %"class.std::_List_unchecked_const_iterator"* %143 to i32**
  %145 = load i32*, i32** %144, align 4, !tbaa !79
  %146 = load i32, i32* %145, align 4, !tbaa !275
  %147 = bitcast %"class.std::_List_unchecked_const_iterator"* %143 to i32*
  store i32 %146, i32* %147, align 4, !tbaa !79
  %148 = inttoptr i32 %146 to %"struct.std::_List_node"*
  %149 = icmp eq %"struct.std::_List_node"* %127, %148
  br i1 %149, label %162, label %150

; <label>:150:                                    ; preds = %141
  %151 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %152 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %151, i32 %142
  %153 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %152, i32 0, i32 0
  %154 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %153, align 4, !tbaa !79
  %155 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %154, i32 0, i32 1
  %156 = bitcast %"struct.std::_List_node"** %155 to i32*
  %157 = load i32, i32* %156, align 4, !tbaa !278
  br label %158

; <label>:158:                                    ; preds = %150, %139, %134
  %159 = phi %"class.std::_List_unchecked_const_iterator"* [ %152, %150 ], [ %138, %134 ], [ %130, %139 ]
  %160 = phi i32 [ %157, %150 ], [ %100, %134 ], [ %100, %139 ]
  %161 = bitcast %"class.std::_List_unchecked_const_iterator"* %159 to i32*
  store i32 %160, i32* %161, align 4
  br label %162

; <label>:162:                                    ; preds = %158, %141
  tail call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash"* nonnull %0)
  br label %163

; <label>:163:                                    ; preds = %162, %63
  %164 = phi i32 [ %100, %162 ], [ %57, %63 ]
  %165 = phi i8 [ 1, %162 ], [ 0, %63 ]
  %166 = bitcast %"struct.std::pair"* %1 to i32*
  store i32 %164, i32* %166, align 4
  %167 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %1, i32 0, i32 1
  store i8 %165, i8* %167, align 4, !tbaa !295
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UName@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUName@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 20, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 20, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@V?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@Z"(%"class.std::vector.37"*, %class.Ptr.55* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 12, i32* %9, align 8, !tbaa !135
  %10 = bitcast %class.Ptr.55* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 12, i32* %58, align 8, !tbaa !135
  %59 = bitcast %class.Ptr.55* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xout_of_range@std@@YAXPBD@Z"(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameRead@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameRead@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 21, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 21, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameWrite@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWrite@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 22, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 22, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameMember@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 23, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 23, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameReadMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameReadMember@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 24, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 24, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UNameWriteMember@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUNameWriteMember@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 25, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 25, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43*, %class.variant.43* dereferenceable(16)) local_unnamed_addr #0 comdat align 2 {
  %3 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !135
  switch i32 %4, label %101 [
    i32 0, label %5
    i32 1, label %9
    i32 2, label %13
    i32 3, label %17
    i32 4, label %21
    i32 5, label %25
    i32 6, label %29
    i32 7, label %33
    i32 8, label %37
    i32 9, label %41
    i32 10, label %45
    i32 11, label %49
    i32 12, label %53
    i32 13, label %57
    i32 25, label %97
    i32 15, label %61
    i32 24, label %93
    i32 17, label %65
    i32 18, label %69
    i32 19, label %73
    i32 20, label %77
    i32 21, label %81
    i32 22, label %85
    i32 23, label %89
  ]

; <label>:5:                                      ; preds = %2
  %6 = bitcast %class.variant.43* %0 to i8*
  %7 = bitcast %class.variant.43* %1 to i8*
  %8 = load i8, i8* %7, align 1, !tbaa !12
  store i8 %8, i8* %6, align 8, !tbaa !12
  br label %101

; <label>:9:                                      ; preds = %2
  %10 = bitcast %class.variant.43* %0 to i16*
  %11 = bitcast %class.variant.43* %1 to i16*
  %12 = load i16, i16* %11, align 2, !tbaa !59
  store i16 %12, i16* %10, align 8, !tbaa !59
  br label %101

; <label>:13:                                     ; preds = %2
  %14 = bitcast %class.variant.43* %0 to i32*
  %15 = bitcast %class.variant.43* %1 to i32*
  %16 = load i32, i32* %15, align 4, !tbaa !24
  store i32 %16, i32* %14, align 8, !tbaa !24
  br label %101

; <label>:17:                                     ; preds = %2
  %18 = bitcast %class.variant.43* %0 to i64*
  %19 = bitcast %class.variant.43* %1 to i64*
  %20 = load i64, i64* %19, align 8, !tbaa !61
  store i64 %20, i64* %18, align 8, !tbaa !61
  br label %101

; <label>:21:                                     ; preds = %2
  %22 = bitcast %class.variant.43* %1 to i64*
  %23 = bitcast %class.variant.43* %0 to i64*
  %24 = load i64, i64* %22, align 8, !tbaa !61
  store i64 %24, i64* %23, align 8, !tbaa !61
  br label %101

; <label>:25:                                     ; preds = %2
  %26 = bitcast %class.variant.43* %0 to i8*
  %27 = bitcast %class.variant.43* %1 to i8*
  %28 = load i8, i8* %27, align 1, !tbaa !12
  store i8 %28, i8* %26, align 8, !tbaa !12
  br label %101

; <label>:29:                                     ; preds = %2
  %30 = bitcast %class.variant.43* %0 to i16*
  %31 = bitcast %class.variant.43* %1 to i16*
  %32 = load i16, i16* %31, align 2, !tbaa !59
  store i16 %32, i16* %30, align 8, !tbaa !59
  br label %101

; <label>:33:                                     ; preds = %2
  %34 = bitcast %class.variant.43* %0 to i32*
  %35 = bitcast %class.variant.43* %1 to i32*
  %36 = load i32, i32* %35, align 4, !tbaa !24
  store i32 %36, i32* %34, align 8, !tbaa !24
  br label %101

; <label>:37:                                     ; preds = %2
  %38 = bitcast %class.variant.43* %0 to i64*
  %39 = bitcast %class.variant.43* %1 to i64*
  %40 = load i64, i64* %39, align 8, !tbaa !61
  store i64 %40, i64* %38, align 8, !tbaa !61
  br label %101

; <label>:41:                                     ; preds = %2
  %42 = bitcast %class.variant.43* %1 to i64*
  %43 = bitcast %class.variant.43* %0 to i64*
  %44 = load i64, i64* %42, align 8, !tbaa !61
  store i64 %44, i64* %43, align 8, !tbaa !61
  br label %101

; <label>:45:                                     ; preds = %2
  %46 = bitcast %class.variant.43* %1 to i32*
  %47 = load i32, i32* %46, align 4, !tbaa !70
  %48 = bitcast %class.variant.43* %0 to i32*
  store i32 %47, i32* %48, align 8, !tbaa !70
  br label %101

; <label>:49:                                     ; preds = %2
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 0, i32 0, i32 0
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  store double %52, double* %50, align 8, !tbaa !72
  br label %101

; <label>:53:                                     ; preds = %2
  %54 = bitcast %class.variant.43* %1 to i32*
  %55 = bitcast %class.variant.43* %0 to i32*
  %56 = load i32, i32* %54, align 4, !tbaa !23
  store i32 %56, i32* %55, align 4, !tbaa !23
  br label %101

; <label>:57:                                     ; preds = %2
  %58 = bitcast %class.variant.43* %1 to i32*
  %59 = bitcast %class.variant.43* %0 to i32*
  %60 = load i32, i32* %58, align 4, !tbaa !23
  store i32 %60, i32* %59, align 4, !tbaa !23
  br label %101

; <label>:61:                                     ; preds = %2
  %62 = bitcast %class.variant.43* %1 to i32*
  %63 = bitcast %class.variant.43* %0 to i32*
  %64 = load i32, i32* %62, align 4, !tbaa !23
  store i32 %64, i32* %63, align 4, !tbaa !23
  br label %101

; <label>:65:                                     ; preds = %2
  %66 = bitcast %class.variant.43* %1 to i32*
  %67 = bitcast %class.variant.43* %0 to i32*
  %68 = load i32, i32* %66, align 4, !tbaa !23
  store i32 %68, i32* %67, align 4, !tbaa !23
  br label %101

; <label>:69:                                     ; preds = %2
  %70 = bitcast %class.variant.43* %1 to i32*
  %71 = bitcast %class.variant.43* %0 to i32*
  %72 = load i32, i32* %70, align 4, !tbaa !23
  store i32 %72, i32* %71, align 4, !tbaa !23
  br label %101

; <label>:73:                                     ; preds = %2
  %74 = bitcast %class.variant.43* %1 to i32*
  %75 = bitcast %class.variant.43* %0 to i32*
  %76 = load i32, i32* %74, align 4, !tbaa !23
  store i32 %76, i32* %75, align 4, !tbaa !23
  br label %101

; <label>:77:                                     ; preds = %2
  %78 = bitcast %class.variant.43* %1 to i32*
  %79 = bitcast %class.variant.43* %0 to i32*
  %80 = load i32, i32* %78, align 4, !tbaa !23
  store i32 %80, i32* %79, align 4, !tbaa !23
  br label %101

; <label>:81:                                     ; preds = %2
  %82 = bitcast %class.variant.43* %1 to i32*
  %83 = bitcast %class.variant.43* %0 to i32*
  %84 = load i32, i32* %82, align 4, !tbaa !23
  store i32 %84, i32* %83, align 4, !tbaa !23
  br label %101

; <label>:85:                                     ; preds = %2
  %86 = bitcast %class.variant.43* %1 to i32*
  %87 = bitcast %class.variant.43* %0 to i32*
  %88 = load i32, i32* %86, align 4, !tbaa !23
  store i32 %88, i32* %87, align 4, !tbaa !23
  br label %101

; <label>:89:                                     ; preds = %2
  %90 = bitcast %class.variant.43* %1 to i32*
  %91 = bitcast %class.variant.43* %0 to i32*
  %92 = load i32, i32* %90, align 4, !tbaa !23
  store i32 %92, i32* %91, align 4, !tbaa !23
  br label %101

; <label>:93:                                     ; preds = %2
  %94 = bitcast %class.variant.43* %1 to i32*
  %95 = bitcast %class.variant.43* %0 to i32*
  %96 = load i32, i32* %94, align 4, !tbaa !23
  store i32 %96, i32* %95, align 4, !tbaa !23
  br label %101

; <label>:97:                                     ; preds = %2
  %98 = bitcast %class.variant.43* %1 to i32*
  %99 = bitcast %class.variant.43* %0 to i32*
  %100 = load i32, i32* %98, align 4, !tbaa !23
  store i32 %100, i32* %99, align 4, !tbaa !23
  br label %101

; <label>:101:                                    ; preds = %97, %93, %89, %85, %81, %77, %73, %69, %65, %61, %57, %53, %49, %45, %41, %37, %33, %29, %25, %21, %17, %13, %9, %5, %2
  ret void
}

; Function Attrs: nounwind readonly
declare i32 @memcmp(i8* nocapture, i8* nocapture, i32) local_unnamed_addr #9

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash"*) local_unnamed_addr #2 comdat align 2 {
  %2 = alloca %"struct.std::pair", align 4
  %3 = alloca %"class.std::_List_unchecked_const_iterator", align 4
  %4 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %5 = load float, float* %4, align 4, !tbaa !70
  %6 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !24
  %8 = uitofp i32 %7 to float
  %9 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 4
  %10 = load i32, i32* %9, align 4, !tbaa !298
  %11 = uitofp i32 %10 to float
  %12 = fdiv float %8, %11
  %13 = fcmp olt float %5, %12
  br i1 %13, label %14, label %60

; <label>:14:                                     ; preds = %1
  %15 = icmp ult i32 %10, 512
  %16 = icmp ult i32 %10, 536870911
  %17 = zext i1 %16 to i32
  %18 = select i1 %15, i32 3, i32 %17
  %19 = shl i32 %10, %18
  %20 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 2
  %21 = shl i32 %19, 1
  %22 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %23 = bitcast %"class.std::_List_unchecked_const_iterator"** %22 to i32*
  %24 = load i32, i32* %23, align 4, !tbaa !23
  %25 = bitcast %"class.std::vector"* %20 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !23
  %27 = sub i32 %24, %26
  %28 = ashr exact i32 %27, 2
  %29 = icmp ult i32 %28, %21
  br i1 %29, label %30, label %34

; <label>:30:                                     ; preds = %14
  %31 = icmp ugt i32 %21, 1073741823
  br i1 %31, label %32, label %33

; <label>:32:                                     ; preds = %30
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:33:                                     ; preds = %30
  tail call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector"* nonnull %20, i32 %21) #14
  br label %34

; <label>:34:                                     ; preds = %33, %14
  %35 = bitcast %"class.std::_List_unchecked_const_iterator"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %35) #14
  %36 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1
  %37 = bitcast %"class.std::list"* %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23, !noalias !299
  %39 = bitcast %"class.std::_List_unchecked_const_iterator"* %3 to i32*
  store i32 %38, i32* %39, align 4, !alias.scope !304
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector"* %20, i32 %21, %"class.std::_List_unchecked_const_iterator"* nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %35) #14
  %40 = add i32 %19, -1
  %41 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 3
  store i32 %40, i32* %41, align 4, !tbaa !262
  store i32 %19, i32* %9, align 4, !tbaa !298
  %42 = getelementptr inbounds %"class.std::list", %"class.std::list"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %43 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %42, align 4, !tbaa !23, !noalias !84
  %44 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %43, i32 0, i32 0
  %45 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %44, align 4, !tbaa !275, !noalias !305
  %46 = icmp eq %"struct.std::_List_node"* %45, %43
  br i1 %46, label %60, label %47

; <label>:47:                                     ; preds = %34
  %48 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %43, i32 0, i32 1
  %49 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %48, align 4, !tbaa !278
  %50 = bitcast %"class.std::list"* %36 to %"struct.std::_List_node"***
  %51 = bitcast %"struct.std::pair"* %2 to i8*
  %52 = icmp eq %"struct.std::_List_node"* %45, %49
  %53 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %45, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??$_Insert@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@@Z"(%"class.std::_Hash"* nonnull %0, %"struct.std::pair"* nonnull sret %2, %"class.std::basic_string"* nonnull dereferenceable(24) %53, %"struct.std::_List_node"* %45) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %52, label %60, label %54

; <label>:54:                                     ; preds = %47
  br label %55

; <label>:55:                                     ; preds = %55, %54
  %56 = load %"struct.std::_List_node"**, %"struct.std::_List_node"*** %50, align 4, !tbaa !23, !noalias !310
  %57 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %56, align 4, !tbaa !275, !noalias !310
  %58 = icmp eq %"struct.std::_List_node"* %57, %49
  %59 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %57, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??$_Insert@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@@Z"(%"class.std::_Hash"* nonnull %0, %"struct.std::pair"* nonnull sret %2, %"class.std::basic_string"* nonnull dereferenceable(24) %59, %"struct.std::_List_node"* %57) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %58, label %60, label %55

; <label>:60:                                     ; preds = %55, %47, %34, %1
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = bitcast %"class.std::_List_unchecked_const_iterator"** %3 to i32*
  %5 = load i32, i32* %4, align 4, !tbaa !23
  %6 = bitcast %"class.std::vector"* %0 to i32*
  %7 = load i32, i32* %6, align 4, !tbaa !23
  %8 = sub i32 %5, %7
  %9 = ashr exact i32 %8, 2
  %10 = icmp eq i32 %1, 0
  br i1 %10, label %31, label %11

; <label>:11:                                     ; preds = %2
  %12 = icmp ugt i32 %1, 1073741823
  br i1 %12, label %13, label %14

; <label>:13:                                     ; preds = %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:14:                                     ; preds = %11
  %15 = shl i32 %1, 2
  %16 = icmp ugt i32 %15, 4095
  br i1 %16, label %17, label %29

; <label>:17:                                     ; preds = %14
  %18 = icmp ugt i32 %15, -36
  br i1 %18, label %19, label %20

; <label>:19:                                     ; preds = %17
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:20:                                     ; preds = %17
  %21 = add i32 %15, 35
  %22 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %21) #14
  %23 = ptrtoint i8* %22 to i32
  %24 = add i32 %23, 35
  %25 = and i32 %24, -32
  %26 = inttoptr i32 %25 to i8*
  %27 = inttoptr i32 %25 to i32*
  %28 = getelementptr inbounds i32, i32* %27, i32 -1
  store i32 %23, i32* %28, align 4, !tbaa !24
  br label %31

; <label>:29:                                     ; preds = %14
  %30 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %15) #14
  br label %31

; <label>:31:                                     ; preds = %29, %20, %2
  %32 = phi i8* [ null, %2 ], [ %26, %20 ], [ %30, %29 ]
  %33 = bitcast i8* %32 to %"class.std::_List_unchecked_const_iterator"*
  %34 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %3, align 4, !tbaa !23
  %35 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %36 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %35, align 4, !tbaa !23
  %37 = bitcast %"class.std::_List_unchecked_const_iterator"* %36 to i8*
  %38 = ptrtoint %"class.std::_List_unchecked_const_iterator"* %36 to i32
  %39 = icmp eq %"class.std::_List_unchecked_const_iterator"* %36, %34
  br i1 %39, label %95, label %40

; <label>:40:                                     ; preds = %31
  %41 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %34, i32 -1, i32 0
  %42 = ptrtoint %"struct.std::_List_node"** %41 to i32
  %43 = sub i32 %42, %38
  %44 = lshr i32 %43, 2
  %45 = add nuw nsw i32 %44, 1
  %46 = icmp ult i32 %45, 8
  br i1 %46, label %81, label %47

; <label>:47:                                     ; preds = %40
  %48 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %34, i32 -1, i32 0
  %49 = ptrtoint %"struct.std::_List_node"** %48 to i32
  %50 = sub i32 %49, %38
  %51 = lshr i32 %50, 2
  %52 = add i32 %50, 4
  %53 = and i32 %52, -4
  %54 = getelementptr i8, i8* %32, i32 %53
  %55 = add nuw nsw i32 %51, 1
  %56 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %36, i32 %55
  %57 = bitcast %"class.std::_List_unchecked_const_iterator"* %56 to i8*
  %58 = icmp ult i8* %32, %57
  %59 = icmp ugt i8* %54, %37
  %60 = and i1 %58, %59
  br i1 %60, label %81, label %61

; <label>:61:                                     ; preds = %47
  %62 = and i32 %45, 2147483640
  %63 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %62
  %64 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %36, i32 %62
  br label %65

; <label>:65:                                     ; preds = %65, %61
  %66 = phi i32 [ 0, %61 ], [ %77, %65 ]
  %67 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %66
  %68 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %36, i32 %66
  %69 = bitcast %"class.std::_List_unchecked_const_iterator"* %68 to <4 x i32>*
  %70 = load <4 x i32>, <4 x i32>* %69, align 4, !alias.scope !315
  %71 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %68, i32 4
  %72 = bitcast %"class.std::_List_unchecked_const_iterator"* %71 to <4 x i32>*
  %73 = load <4 x i32>, <4 x i32>* %72, align 4, !alias.scope !315
  %74 = bitcast %"class.std::_List_unchecked_const_iterator"* %67 to <4 x i32>*
  store <4 x i32> %70, <4 x i32>* %74, align 4, !alias.scope !318, !noalias !315
  %75 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %67, i32 4
  %76 = bitcast %"class.std::_List_unchecked_const_iterator"* %75 to <4 x i32>*
  store <4 x i32> %73, <4 x i32>* %76, align 4, !alias.scope !318, !noalias !315
  %77 = add i32 %66, 8
  %78 = icmp eq i32 %77, %62
  br i1 %78, label %79, label %65, !llvm.loop !320

; <label>:79:                                     ; preds = %65
  %80 = icmp eq i32 %45, %62
  br i1 %80, label %93, label %81

; <label>:81:                                     ; preds = %79, %47, %40
  %82 = phi %"class.std::_List_unchecked_const_iterator"* [ %33, %47 ], [ %33, %40 ], [ %63, %79 ]
  %83 = phi %"class.std::_List_unchecked_const_iterator"* [ %36, %47 ], [ %36, %40 ], [ %64, %79 ]
  br label %84

; <label>:84:                                     ; preds = %84, %81
  %85 = phi %"class.std::_List_unchecked_const_iterator"* [ %90, %84 ], [ %82, %81 ]
  %86 = phi %"class.std::_List_unchecked_const_iterator"* [ %91, %84 ], [ %83, %81 ]
  %87 = bitcast %"class.std::_List_unchecked_const_iterator"* %86 to i32*
  %88 = bitcast %"class.std::_List_unchecked_const_iterator"* %85 to i32*
  %89 = load i32, i32* %87, align 4
  store i32 %89, i32* %88, align 4
  %90 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %85, i32 1
  %91 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %86, i32 1
  %92 = icmp eq %"class.std::_List_unchecked_const_iterator"* %91, %34
  br i1 %92, label %93, label %84, !llvm.loop !321

; <label>:93:                                     ; preds = %84, %79
  %94 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %35, align 4, !tbaa !23
  br label %95

; <label>:95:                                     ; preds = %93, %31
  %96 = phi %"class.std::_List_unchecked_const_iterator"* [ %94, %93 ], [ %34, %31 ]
  %97 = icmp eq %"class.std::_List_unchecked_const_iterator"* %96, null
  %98 = ptrtoint %"class.std::_List_unchecked_const_iterator"* %96 to i32
  %99 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  br i1 %97, label %128, label %100

; <label>:100:                                    ; preds = %95
  %101 = bitcast %"class.std::_List_unchecked_const_iterator"** %99 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !23
  %103 = sub i32 %102, %98
  %104 = ashr exact i32 %103, 2
  %105 = icmp ugt i32 %104, 1073741823
  br i1 %105, label %124, label %106

; <label>:106:                                    ; preds = %100
  %107 = bitcast %"class.std::_List_unchecked_const_iterator"* %96 to i8*
  %108 = icmp ugt i32 %103, 4095
  br i1 %108, label %109, label %125

; <label>:109:                                    ; preds = %106
  %110 = add i32 %103, 35
  %111 = icmp ult i32 %103, -35
  %112 = and i32 %98, 31
  %113 = icmp eq i32 %112, 0
  %114 = and i1 %113, %111
  br i1 %114, label %115, label %124

; <label>:115:                                    ; preds = %109
  %116 = add i32 %98, -4
  %117 = inttoptr i32 %116 to i32*
  %118 = load i32, i32* %117, align 4, !tbaa !24
  %119 = icmp ult i32 %118, %98
  br i1 %119, label %120, label %124

; <label>:120:                                    ; preds = %115
  %121 = sub i32 %116, %118
  %122 = icmp ugt i32 %121, 31
  %123 = inttoptr i32 %118 to i8*
  br i1 %122, label %124, label %125

; <label>:124:                                    ; preds = %120, %115, %109, %100
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:125:                                    ; preds = %120, %106
  %126 = phi i8* [ %123, %120 ], [ %107, %106 ]
  %127 = phi i32 [ %110, %120 ], [ %103, %106 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %126, i32 %127) #14
  br label %128

; <label>:128:                                    ; preds = %125, %95
  %129 = bitcast %"class.std::vector"* %0 to i8**
  store i8* %32, i8** %129, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %9
  store %"class.std::_List_unchecked_const_iterator"* %130, %"class.std::_List_unchecked_const_iterator"** %3, align 4, !tbaa !23
  %131 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %1
  store %"class.std::_List_unchecked_const_iterator"* %131, %"class.std::_List_unchecked_const_iterator"** %99, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector"*, i32, %"class.std::_List_unchecked_const_iterator"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_List_unchecked_const_iterator"** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %"class.std::_List_unchecked_const_iterator"** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 2
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %"class.std::_List_unchecked_const_iterator"*
  %18 = inttoptr i32 %8 to i8*
  %19 = inttoptr i32 %6 to %"class.std::_List_unchecked_const_iterator"*
  br i1 %16, label %20, label %130

; <label>:20:                                     ; preds = %3
  %21 = icmp ugt i32 %1, 1073741823
  br i1 %21, label %22, label %23

; <label>:22:                                     ; preds = %20
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #22
  unreachable

; <label>:23:                                     ; preds = %20
  %24 = lshr i32 %15, 1
  %25 = sub nsw i32 1073741823, %24
  %26 = icmp ugt i32 %15, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %23
  %28 = add i32 %24, %15
  %29 = icmp ult i32 %28, %1
  %30 = select i1 %29, i32 %1, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %23
  %32 = phi i32 [ %30, %27 ], [ %1, %23 ]
  %33 = getelementptr inbounds %"class.std::vector", %"class.std::vector"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = icmp eq i32 %8, 0
  br i1 %34, label %58, label %35

; <label>:35:                                     ; preds = %31
  %36 = icmp ugt i32 %15, 1073741823
  br i1 %36, label %53, label %37

; <label>:37:                                     ; preds = %35
  %38 = icmp ugt i32 %14, 4095
  br i1 %38, label %39, label %54

; <label>:39:                                     ; preds = %37
  %40 = icmp ult i32 %14, -35
  %41 = and i32 %8, 31
  %42 = icmp eq i32 %41, 0
  %43 = and i1 %40, %42
  br i1 %43, label %44, label %53

; <label>:44:                                     ; preds = %39
  %45 = add i32 %14, 35
  %46 = add i32 %8, -4
  %47 = inttoptr i32 %46 to i32*
  %48 = load i32, i32* %47, align 4, !tbaa !24
  %49 = icmp uge i32 %48, %8
  %50 = sub i32 %46, %48
  %51 = icmp ugt i32 %50, 31
  %52 = or i1 %49, %51
  br i1 %52, label %53, label %54

; <label>:53:                                     ; preds = %44, %39, %35
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:54:                                     ; preds = %44, %37
  %55 = phi i32 [ %8, %37 ], [ %48, %44 ]
  %56 = phi i32 [ %14, %37 ], [ %45, %44 ]
  %57 = inttoptr i32 %55 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %57, i32 %56) #14
  br label %58

; <label>:58:                                     ; preds = %54, %31
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** %33, align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** %4, align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** %11, align 4, !tbaa !23
  %59 = icmp eq i32 %32, 0
  br i1 %59, label %86, label %60

; <label>:60:                                     ; preds = %58
  %61 = icmp ugt i32 %32, 1073741823
  br i1 %61, label %62, label %63

; <label>:62:                                     ; preds = %60
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:63:                                     ; preds = %60
  %64 = shl i32 %32, 2
  %65 = icmp ugt i32 %64, 4095
  br i1 %65, label %66, label %78

; <label>:66:                                     ; preds = %63
  %67 = icmp ugt i32 %64, -36
  br i1 %67, label %68, label %69

; <label>:68:                                     ; preds = %66
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:69:                                     ; preds = %66
  %70 = add i32 %64, 35
  %71 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %70) #14
  %72 = ptrtoint i8* %71 to i32
  %73 = add i32 %72, 35
  %74 = and i32 %73, -32
  %75 = inttoptr i32 %74 to i8*
  %76 = inttoptr i32 %74 to i32*
  %77 = getelementptr inbounds i32, i32* %76, i32 -1
  store i32 %72, i32* %77, align 4, !tbaa !24
  br label %80

; <label>:78:                                     ; preds = %63
  %79 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %64) #14
  br label %80

; <label>:80:                                     ; preds = %78, %69
  %81 = phi i8* [ %75, %69 ], [ %79, %78 ]
  %82 = bitcast i8* %81 to %"class.std::_List_unchecked_const_iterator"*
  %83 = bitcast %"class.std::vector"* %0 to i8**
  store i8* %81, i8** %83, align 4, !tbaa !23
  %84 = ptrtoint i8* %81 to i32
  store i32 %84, i32* %5, align 4, !tbaa !23
  %85 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %82, i32 %32
  store %"class.std::_List_unchecked_const_iterator"* %85, %"class.std::_List_unchecked_const_iterator"** %11, align 4, !tbaa !23
  br label %86

; <label>:86:                                     ; preds = %80, %58
  %87 = phi i8* [ %81, %80 ], [ null, %58 ]
  %88 = phi %"class.std::_List_unchecked_const_iterator"* [ %82, %80 ], [ null, %58 ]
  %89 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i32*
  %90 = icmp ult i32 %1, 8
  br i1 %90, label %117, label %91

; <label>:91:                                     ; preds = %86
  %92 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %88, i32 %1
  %93 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i8*
  %94 = getelementptr i8, i8* %93, i32 1
  %95 = icmp ult i8* %87, %94
  %96 = icmp ugt %"class.std::_List_unchecked_const_iterator"* %92, %2
  %97 = and i1 %95, %96
  br i1 %97, label %117, label %98

; <label>:98:                                     ; preds = %91
  %99 = and i32 %1, -8
  %100 = sub i32 %1, %99
  %101 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %88, i32 %99
  %102 = load i32, i32* %89, align 4, !alias.scope !322
  %103 = insertelement <4 x i32> undef, i32 %102, i32 0
  %104 = shufflevector <4 x i32> %103, <4 x i32> undef, <4 x i32> zeroinitializer
  %105 = insertelement <4 x i32> undef, i32 %102, i32 0
  %106 = shufflevector <4 x i32> %105, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %107

; <label>:107:                                    ; preds = %107, %98
  %108 = phi i32 [ 0, %98 ], [ %113, %107 ]
  %109 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %88, i32 %108
  %110 = bitcast %"class.std::_List_unchecked_const_iterator"* %109 to <4 x i32>*
  store <4 x i32> %104, <4 x i32>* %110, align 4, !alias.scope !325, !noalias !322
  %111 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %109, i32 4
  %112 = bitcast %"class.std::_List_unchecked_const_iterator"* %111 to <4 x i32>*
  store <4 x i32> %106, <4 x i32>* %112, align 4, !alias.scope !325, !noalias !322
  %113 = add i32 %108, 8
  %114 = icmp eq i32 %113, %99
  br i1 %114, label %115, label %107, !llvm.loop !327

; <label>:115:                                    ; preds = %107
  %116 = icmp eq i32 %99, %1
  br i1 %116, label %128, label %117

; <label>:117:                                    ; preds = %115, %91, %86
  %118 = phi i32 [ %1, %91 ], [ %1, %86 ], [ %100, %115 ]
  %119 = phi %"class.std::_List_unchecked_const_iterator"* [ %88, %91 ], [ %88, %86 ], [ %101, %115 ]
  br label %120

; <label>:120:                                    ; preds = %120, %117
  %121 = phi i32 [ %125, %120 ], [ %118, %117 ]
  %122 = phi %"class.std::_List_unchecked_const_iterator"* [ %126, %120 ], [ %119, %117 ]
  %123 = bitcast %"class.std::_List_unchecked_const_iterator"* %122 to i32*
  %124 = load i32, i32* %89, align 4
  store i32 %124, i32* %123, align 4
  %125 = add i32 %121, -1
  %126 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %122, i32 1
  %127 = icmp eq i32 %125, 0
  br i1 %127, label %128, label %120, !llvm.loop !328

; <label>:128:                                    ; preds = %120, %115
  %129 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %88, i32 %1
  br label %280

; <label>:130:                                    ; preds = %3
  %131 = icmp ult i32 %10, %1
  br i1 %131, label %132, label %233

; <label>:132:                                    ; preds = %130
  %133 = icmp eq %"class.std::_List_unchecked_const_iterator"* %17, %19
  br i1 %133, label %186, label %134

; <label>:134:                                    ; preds = %132
  %135 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i32*
  %136 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %19, i32 -1, i32 0
  %137 = bitcast %"struct.std::_List_node"** %136 to i8*
  %138 = sub i32 0, %8
  %139 = getelementptr i8, i8* %137, i32 %138
  %140 = ptrtoint i8* %139 to i32
  %141 = lshr i32 %140, 2
  %142 = add nuw nsw i32 %141, 1
  %143 = icmp ult i32 %142, 8
  br i1 %143, label %176, label %144

; <label>:144:                                    ; preds = %134
  %145 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %19, i32 -1, i32 0
  %146 = bitcast %"struct.std::_List_node"** %145 to i8*
  %147 = sub i32 0, %8
  %148 = getelementptr i8, i8* %146, i32 %147
  %149 = ptrtoint i8* %148 to i32
  %150 = lshr i32 %149, 2
  %151 = add nuw nsw i32 %150, 1
  %152 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %151
  %153 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i8*
  %154 = getelementptr i8, i8* %153, i32 1
  %155 = icmp ugt i8* %154, %18
  %156 = icmp ugt %"class.std::_List_unchecked_const_iterator"* %152, %2
  %157 = and i1 %155, %156
  br i1 %157, label %176, label %158

; <label>:158:                                    ; preds = %144
  %159 = and i32 %142, 2147483640
  %160 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %159
  %161 = load i32, i32* %135, align 4, !alias.scope !329
  %162 = insertelement <4 x i32> undef, i32 %161, i32 0
  %163 = shufflevector <4 x i32> %162, <4 x i32> undef, <4 x i32> zeroinitializer
  %164 = insertelement <4 x i32> undef, i32 %161, i32 0
  %165 = shufflevector <4 x i32> %164, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %166

; <label>:166:                                    ; preds = %166, %158
  %167 = phi i32 [ 0, %158 ], [ %172, %166 ]
  %168 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %167
  %169 = bitcast %"class.std::_List_unchecked_const_iterator"* %168 to <4 x i32>*
  store <4 x i32> %163, <4 x i32>* %169, align 4, !alias.scope !332, !noalias !329
  %170 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %168, i32 4
  %171 = bitcast %"class.std::_List_unchecked_const_iterator"* %170 to <4 x i32>*
  store <4 x i32> %165, <4 x i32>* %171, align 4, !alias.scope !332, !noalias !329
  %172 = add i32 %167, 8
  %173 = icmp eq i32 %172, %159
  br i1 %173, label %174, label %166, !llvm.loop !334

; <label>:174:                                    ; preds = %166
  %175 = icmp eq i32 %142, %159
  br i1 %175, label %184, label %176

; <label>:176:                                    ; preds = %174, %144, %134
  %177 = phi %"class.std::_List_unchecked_const_iterator"* [ %17, %144 ], [ %17, %134 ], [ %160, %174 ]
  br label %178

; <label>:178:                                    ; preds = %178, %176
  %179 = phi %"class.std::_List_unchecked_const_iterator"* [ %182, %178 ], [ %177, %176 ]
  %180 = bitcast %"class.std::_List_unchecked_const_iterator"* %179 to i32*
  %181 = load i32, i32* %135, align 4
  store i32 %181, i32* %180, align 4
  %182 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %179, i32 1
  %183 = icmp eq %"class.std::_List_unchecked_const_iterator"* %182, %19
  br i1 %183, label %184, label %178, !llvm.loop !335

; <label>:184:                                    ; preds = %178, %174
  %185 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %4, align 4, !tbaa !23
  br label %186

; <label>:186:                                    ; preds = %184, %132
  %187 = phi %"class.std::_List_unchecked_const_iterator"* [ %185, %184 ], [ %17, %132 ]
  %188 = bitcast %"class.std::_List_unchecked_const_iterator"* %187 to i8*
  %189 = sub i32 %1, %10
  %190 = icmp eq i32 %189, 0
  br i1 %190, label %280, label %191

; <label>:191:                                    ; preds = %186
  %192 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i32*
  %193 = icmp ult i32 %189, 8
  br i1 %193, label %220, label %194

; <label>:194:                                    ; preds = %191
  %195 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %187, i32 %189
  %196 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i8*
  %197 = getelementptr i8, i8* %196, i32 1
  %198 = icmp ugt i8* %197, %188
  %199 = icmp ugt %"class.std::_List_unchecked_const_iterator"* %195, %2
  %200 = and i1 %198, %199
  br i1 %200, label %220, label %201

; <label>:201:                                    ; preds = %194
  %202 = and i32 %189, -8
  %203 = sub i32 %189, %202
  %204 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %187, i32 %202
  %205 = load i32, i32* %192, align 4, !alias.scope !336
  %206 = insertelement <4 x i32> undef, i32 %205, i32 0
  %207 = shufflevector <4 x i32> %206, <4 x i32> undef, <4 x i32> zeroinitializer
  %208 = insertelement <4 x i32> undef, i32 %205, i32 0
  %209 = shufflevector <4 x i32> %208, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %210

; <label>:210:                                    ; preds = %210, %201
  %211 = phi i32 [ 0, %201 ], [ %216, %210 ]
  %212 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %187, i32 %211
  %213 = bitcast %"class.std::_List_unchecked_const_iterator"* %212 to <4 x i32>*
  store <4 x i32> %207, <4 x i32>* %213, align 4, !alias.scope !339, !noalias !336
  %214 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %212, i32 4
  %215 = bitcast %"class.std::_List_unchecked_const_iterator"* %214 to <4 x i32>*
  store <4 x i32> %209, <4 x i32>* %215, align 4, !alias.scope !339, !noalias !336
  %216 = add i32 %211, 8
  %217 = icmp eq i32 %216, %202
  br i1 %217, label %218, label %210, !llvm.loop !341

; <label>:218:                                    ; preds = %210
  %219 = icmp eq i32 %189, %202
  br i1 %219, label %231, label %220

; <label>:220:                                    ; preds = %218, %194, %191
  %221 = phi i32 [ %189, %194 ], [ %189, %191 ], [ %203, %218 ]
  %222 = phi %"class.std::_List_unchecked_const_iterator"* [ %187, %194 ], [ %187, %191 ], [ %204, %218 ]
  br label %223

; <label>:223:                                    ; preds = %223, %220
  %224 = phi i32 [ %228, %223 ], [ %221, %220 ]
  %225 = phi %"class.std::_List_unchecked_const_iterator"* [ %229, %223 ], [ %222, %220 ]
  %226 = bitcast %"class.std::_List_unchecked_const_iterator"* %225 to i32*
  %227 = load i32, i32* %192, align 4
  store i32 %227, i32* %226, align 4
  %228 = add i32 %224, -1
  %229 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %225, i32 1
  %230 = icmp eq i32 %228, 0
  br i1 %230, label %231, label %223, !llvm.loop !342

; <label>:231:                                    ; preds = %223, %218
  %232 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %187, i32 %189
  br label %280

; <label>:233:                                    ; preds = %130
  %234 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %1
  %235 = icmp eq i32 %1, 0
  br i1 %235, label %280, label %236

; <label>:236:                                    ; preds = %233
  %237 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i32*
  %238 = shl i32 %1, 2
  %239 = add i32 %238, -4
  %240 = lshr exact i32 %239, 2
  %241 = add nuw nsw i32 %240, 1
  %242 = icmp ult i32 %241, 8
  br i1 %242, label %272, label %243

; <label>:243:                                    ; preds = %236
  %244 = shl i32 %1, 2
  %245 = add i32 %244, -4
  %246 = lshr exact i32 %245, 2
  %247 = add nuw nsw i32 %246, 1
  %248 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %247
  %249 = bitcast %"class.std::_List_unchecked_const_iterator"* %2 to i8*
  %250 = getelementptr i8, i8* %249, i32 1
  %251 = icmp ugt i8* %250, %18
  %252 = icmp ugt %"class.std::_List_unchecked_const_iterator"* %248, %2
  %253 = and i1 %251, %252
  br i1 %253, label %272, label %254

; <label>:254:                                    ; preds = %243
  %255 = and i32 %241, 2147483640
  %256 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %255
  %257 = load i32, i32* %237, align 4, !alias.scope !343
  %258 = insertelement <4 x i32> undef, i32 %257, i32 0
  %259 = shufflevector <4 x i32> %258, <4 x i32> undef, <4 x i32> zeroinitializer
  %260 = insertelement <4 x i32> undef, i32 %257, i32 0
  %261 = shufflevector <4 x i32> %260, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %262

; <label>:262:                                    ; preds = %262, %254
  %263 = phi i32 [ 0, %254 ], [ %268, %262 ]
  %264 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %17, i32 %263
  %265 = bitcast %"class.std::_List_unchecked_const_iterator"* %264 to <4 x i32>*
  store <4 x i32> %259, <4 x i32>* %265, align 4, !alias.scope !346, !noalias !343
  %266 = getelementptr %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %264, i32 4
  %267 = bitcast %"class.std::_List_unchecked_const_iterator"* %266 to <4 x i32>*
  store <4 x i32> %261, <4 x i32>* %267, align 4, !alias.scope !346, !noalias !343
  %268 = add i32 %263, 8
  %269 = icmp eq i32 %268, %255
  br i1 %269, label %270, label %262, !llvm.loop !348

; <label>:270:                                    ; preds = %262
  %271 = icmp eq i32 %241, %255
  br i1 %271, label %280, label %272

; <label>:272:                                    ; preds = %270, %243, %236
  %273 = phi %"class.std::_List_unchecked_const_iterator"* [ %17, %243 ], [ %17, %236 ], [ %256, %270 ]
  br label %274

; <label>:274:                                    ; preds = %274, %272
  %275 = phi %"class.std::_List_unchecked_const_iterator"* [ %278, %274 ], [ %273, %272 ]
  %276 = bitcast %"class.std::_List_unchecked_const_iterator"* %275 to i32*
  %277 = load i32, i32* %237, align 4
  store i32 %277, i32* %276, align 4
  %278 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %275, i32 1
  %279 = icmp eq %"class.std::_List_unchecked_const_iterator"* %278, %234
  br i1 %279, label %280, label %274, !llvm.loop !349

; <label>:280:                                    ; preds = %274, %270, %233, %231, %186, %128
  %281 = phi %"class.std::_List_unchecked_const_iterator"* [ %129, %128 ], [ %187, %186 ], [ %232, %231 ], [ %234, %233 ], [ %234, %270 ], [ %234, %274 ]
  store %"class.std::_List_unchecked_const_iterator"* %281, %"class.std::_List_unchecked_const_iterator"** %4, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@@Z"(%"class.std::_Hash"*, %"struct.std::pair"* noalias sret, %"class.std::basic_string"* dereferenceable(24), %"struct.std::_List_node"*) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32, i32* %5, align 4, !tbaa !83
  %7 = bitcast %"class.std::basic_string"* %2 to i8*
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = icmp ugt i32 %9, 15
  %11 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %12 = load i8*, i8** %11, align 4
  %13 = select i1 %10, i8* %12, i8* %7
  %14 = icmp eq i32 %6, 0
  br i1 %14, label %26, label %15

; <label>:15:                                     ; preds = %4
  br label %16

; <label>:16:                                     ; preds = %16, %15
  %17 = phi i32 [ %24, %16 ], [ 0, %15 ]
  %18 = phi i32 [ %23, %16 ], [ -2128831035, %15 ]
  %19 = getelementptr inbounds i8, i8* %13, i32 %17
  %20 = load i8, i8* %19, align 1, !tbaa !12
  %21 = zext i8 %20 to i32
  %22 = xor i32 %18, %21
  %23 = mul i32 %22, 16777619
  %24 = add nuw i32 %17, 1
  %25 = icmp eq i32 %24, %6
  br i1 %25, label %26, label %16

; <label>:26:                                     ; preds = %16, %4
  %27 = phi i32 [ -2128831035, %4 ], [ %23, %16 ]
  %28 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 3
  %29 = load i32, i32* %28, align 4, !tbaa !262
  %30 = and i32 %29, %27
  %31 = shl i32 %30, 1
  %32 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %33 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23, !noalias !350
  %34 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1
  %35 = bitcast %"class.std::list"* %34 to i32*
  %36 = load i32, i32* %35, align 4, !tbaa !23, !noalias !353
  %37 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %31, i32 0
  %38 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %37, align 4, !tbaa !79, !noalias !350
  %39 = inttoptr i32 %36 to %"struct.std::_List_node"*
  %40 = icmp eq %"struct.std::_List_node"* %38, %39
  br i1 %40, label %47, label %41

; <label>:41:                                     ; preds = %26
  %42 = or i32 %31, 1
  %43 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %33, i32 %42
  %44 = bitcast %"class.std::_List_unchecked_const_iterator"* %43 to i32**
  %45 = load i32*, i32** %44, align 4, !noalias !350
  %46 = load i32, i32* %45, align 4, !tbaa !275, !noalias !350
  br label %47

; <label>:47:                                     ; preds = %41, %26
  %48 = phi i32 [ %46, %41 ], [ %36, %26 ]
  %49 = inttoptr i32 %48 to %"struct.std::_List_node"*
  %50 = icmp eq %"struct.std::_List_node"* %38, %49
  br i1 %50, label %118, label %51

; <label>:51:                                     ; preds = %47
  br label %52

; <label>:52:                                     ; preds = %116, %51
  %53 = phi %"struct.std::_List_node"* [ %57, %116 ], [ %49, %51 ]
  %54 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %53, i32 0, i32 1
  %55 = bitcast %"struct.std::_List_node"** %54 to i32*
  %56 = load i32, i32* %55, align 4, !tbaa !278
  %57 = inttoptr i32 %56 to %"struct.std::_List_node"*
  %58 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %57, i32 0, i32 2
  %59 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %57, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %60 = load i32, i32* %59, align 4, !tbaa !83
  %61 = icmp eq i32 %6, %60
  br i1 %61, label %62, label %116

; <label>:62:                                     ; preds = %52
  %63 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %57, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %64 = load i32, i32* %63, align 4, !tbaa !81
  %65 = icmp ugt i32 %64, 15
  %66 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %67 = load i8*, i8** %66, align 4
  %68 = bitcast %"class.std::basic_string"* %58 to i8*
  %69 = select i1 %65, i8* %67, i8* %68
  %70 = tail call i32 @memcmp(i8* %13, i8* %69, i32 %6) #14
  %71 = icmp eq i32 %70, 0
  br i1 %71, label %72, label %116

; <label>:72:                                     ; preds = %62
  %73 = bitcast %"struct.std::_List_node"* %3 to i32*
  %74 = load i32, i32* %73, align 4, !tbaa !275, !noalias !358
  %75 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 0
  %76 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 1
  %77 = bitcast %"struct.std::_List_node"** %76 to i32**
  %78 = load i32*, i32** %77, align 4, !tbaa !278, !noalias !358
  store i32 %74, i32* %78, align 4, !tbaa !275, !noalias !358
  %79 = ptrtoint i32* %78 to i32
  %80 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %75, align 4, !tbaa !275, !noalias !358
  %81 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %80, i32 0, i32 1
  %82 = bitcast %"struct.std::_List_node"** %81 to i32*
  store i32 %79, i32* %82, align 4, !tbaa !278, !noalias !358
  %83 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %84 = load i32, i32* %83, align 4, !tbaa !24, !noalias !358
  %85 = add i32 %84, -1
  store i32 %85, i32* %83, align 4, !tbaa !24, !noalias !358
  %86 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %87 = load i32, i32* %86, align 4, !tbaa !81, !noalias !358
  %88 = icmp ugt i32 %87, 15
  br i1 %88, label %89, label %114

; <label>:89:                                     ; preds = %72
  %90 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0
  %91 = load i8*, i8** %90, align 4, !tbaa !12, !noalias !358
  %92 = add i32 %87, 1
  %93 = icmp ugt i32 %92, 4095
  br i1 %93, label %94, label %111

; <label>:94:                                     ; preds = %89
  %95 = add i32 %87, 36
  %96 = icmp ugt i32 %92, -36
  br i1 %96, label %110, label %97

; <label>:97:                                     ; preds = %94
  %98 = ptrtoint i8* %91 to i32
  %99 = and i32 %98, 31
  %100 = icmp eq i32 %99, 0
  br i1 %100, label %101, label %110

; <label>:101:                                    ; preds = %97
  %102 = add i32 %98, -4
  %103 = inttoptr i32 %102 to i32*
  %104 = load i32, i32* %103, align 4, !tbaa !24, !noalias !358
  %105 = icmp ult i32 %104, %98
  br i1 %105, label %106, label %110

; <label>:106:                                    ; preds = %101
  %107 = sub i32 %102, %104
  %108 = icmp ugt i32 %107, 31
  %109 = inttoptr i32 %104 to i8*
  br i1 %108, label %110, label %111

; <label>:110:                                    ; preds = %106, %101, %97, %94
  tail call void @_invalid_parameter_noinfo_noreturn() #12, !noalias !358
  unreachable

; <label>:111:                                    ; preds = %106, %89
  %112 = phi i8* [ %109, %106 ], [ %91, %89 ]
  %113 = phi i32 [ %95, %106 ], [ %92, %89 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %112, i32 %113) #14, !noalias !358
  br label %114

; <label>:114:                                    ; preds = %111, %72
  %115 = bitcast %"struct.std::_List_node"* %3 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %115, i32 32) #14, !noalias !358
  br label %178

; <label>:116:                                    ; preds = %62, %52
  %117 = icmp eq %"struct.std::_List_node"* %38, %57
  br i1 %117, label %118, label %52

; <label>:118:                                    ; preds = %116, %47
  %119 = ptrtoint %"struct.std::_List_node"* %3 to i32
  %120 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 0
  %121 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %120, align 4, !tbaa !275
  %122 = icmp eq %"struct.std::_List_node"* %121, %38
  br i1 %122, label %142, label %123

; <label>:123:                                    ; preds = %118
  %124 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 1
  %125 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %124, align 4, !tbaa !278
  %126 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %125, i32 0, i32 0
  store %"struct.std::_List_node"* %121, %"struct.std::_List_node"** %126, align 4, !tbaa !275
  %127 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %121, i32 0, i32 1
  %128 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %127, align 4, !tbaa !278
  %129 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %128, i32 0, i32 0
  store %"struct.std::_List_node"* %38, %"struct.std::_List_node"** %129, align 4, !tbaa !275
  %130 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %38, i32 0, i32 1
  %131 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %130, align 4, !tbaa !278
  %132 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %131, i32 0, i32 0
  store %"struct.std::_List_node"* %3, %"struct.std::_List_node"** %132, align 4, !tbaa !275
  %133 = bitcast %"struct.std::_List_node"** %130 to i32*
  %134 = ptrtoint %"struct.std::_List_node"* %131 to i32
  %135 = bitcast %"struct.std::_List_node"** %127 to i32*
  %136 = ptrtoint %"struct.std::_List_node"* %128 to i32
  store i32 %136, i32* %133, align 4, !tbaa !278
  %137 = bitcast %"struct.std::_List_node"** %124 to i32*
  %138 = load i32, i32* %137, align 4, !tbaa !278
  store i32 %138, i32* %135, align 4, !tbaa !278
  store i32 %134, i32* %137, align 4, !tbaa !278
  %139 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %140 = getelementptr inbounds %"class.std::_Hash", %"class.std::_Hash"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %141 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %140, align 4, !tbaa !23, !noalias !361
  br label %142

; <label>:142:                                    ; preds = %123, %118
  %143 = phi %"struct.std::_List_node"* [ %141, %123 ], [ %39, %118 ]
  %144 = phi %"class.std::_List_unchecked_const_iterator"* [ %139, %123 ], [ %33, %118 ]
  %145 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %144, i32 %31
  %146 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %145, i32 0, i32 0
  %147 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %146, align 4, !tbaa !79
  %148 = icmp eq %"struct.std::_List_node"* %147, %143
  br i1 %148, label %149, label %154

; <label>:149:                                    ; preds = %142
  %150 = bitcast %"class.std::_List_unchecked_const_iterator"* %145 to i32*
  store i32 %119, i32* %150, align 4
  %151 = or i32 %31, 1
  %152 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %153 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %152, i32 %151
  br label %173

; <label>:154:                                    ; preds = %142
  %155 = icmp eq %"struct.std::_List_node"* %147, %38
  br i1 %155, label %173, label %156

; <label>:156:                                    ; preds = %154
  %157 = or i32 %31, 1
  %158 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %144, i32 %157
  %159 = bitcast %"class.std::_List_unchecked_const_iterator"* %158 to i32**
  %160 = load i32*, i32** %159, align 4, !tbaa !79
  %161 = load i32, i32* %160, align 4, !tbaa !275
  %162 = bitcast %"class.std::_List_unchecked_const_iterator"* %158 to i32*
  store i32 %161, i32* %162, align 4, !tbaa !79
  %163 = inttoptr i32 %161 to %"struct.std::_List_node"*
  %164 = icmp eq %"struct.std::_List_node"* %163, %3
  br i1 %164, label %177, label %165

; <label>:165:                                    ; preds = %156
  %166 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** %32, align 4, !tbaa !23
  %167 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %166, i32 %157
  %168 = getelementptr inbounds %"class.std::_List_unchecked_const_iterator", %"class.std::_List_unchecked_const_iterator"* %167, i32 0, i32 0
  %169 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %168, align 4, !tbaa !79
  %170 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %169, i32 0, i32 1
  %171 = bitcast %"struct.std::_List_node"** %170 to i32*
  %172 = load i32, i32* %171, align 4, !tbaa !278
  br label %173

; <label>:173:                                    ; preds = %165, %154, %149
  %174 = phi %"class.std::_List_unchecked_const_iterator"* [ %167, %165 ], [ %153, %149 ], [ %145, %154 ]
  %175 = phi i32 [ %172, %165 ], [ %119, %149 ], [ %119, %154 ]
  %176 = bitcast %"class.std::_List_unchecked_const_iterator"* %174 to i32*
  store i32 %175, i32* %176, align 4
  br label %177

; <label>:177:                                    ; preds = %173, %156
  tail call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash"* nonnull %0)
  br label %178

; <label>:178:                                    ; preds = %177, %114
  %179 = phi i32 [ %119, %177 ], [ %56, %114 ]
  %180 = phi i8 [ 1, %177 ], [ 0, %114 ]
  %181 = bitcast %"struct.std::pair"* %1 to i32*
  store i32 %179, i32* %181, align 4
  %182 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %1, i32 0, i32 1
  store i8 %180, i8* %182, align 4, !tbaa !295
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAV?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@Z"(%"class.std::vector.37"*, %class.variant.43* dereferenceable(16)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  %10 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  %11 = load i32, i32* %10, align 8, !tbaa !135
  store i32 %11, i32* %9, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %6, %class.variant.43* nonnull dereferenceable(16) %1) #14
  %12 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 1
  br label %111

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43* %4 to i32
  %16 = ptrtoint %class.variant.43* %6 to i32
  %17 = bitcast %"class.std::vector.37"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %16, %18
  %20 = ashr exact i32 %19, 4
  %21 = add nsw i32 %20, 1
  %22 = bitcast %class.variant.43** %3 to i32*
  %23 = sub i32 %15, %18
  %24 = ashr exact i32 %23, 4
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 268435455, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %14
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %14
  %33 = phi i32 [ %31, %28 ], [ %21, %14 ]
  %34 = icmp ugt i32 %33, 268435455
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %32
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %32
  %37 = shl i32 %33, 4
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42
  %54 = phi i8* [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to %class.variant.43*
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %20, i32 1
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  %59 = load i32, i32* %58, align 8, !tbaa !135
  store i32 %59, i32* %57, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %56, %class.variant.43* nonnull dereferenceable(16) %1) #14
  %60 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %61 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %62 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  %63 = icmp eq %class.variant.43* %62, %60
  br i1 %63, label %76, label %64

; <label>:64:                                     ; preds = %53
  br label %65

; <label>:65:                                     ; preds = %65, %64
  %66 = phi %class.variant.43* [ %71, %65 ], [ %55, %64 ]
  %67 = phi %class.variant.43* [ %72, %65 ], [ %62, %64 ]
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 0, i32 1
  %69 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 0, i32 1
  %70 = load i32, i32* %69, align 8, !tbaa !135
  store i32 %70, i32* %68, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %66, %class.variant.43* nonnull dereferenceable(16) %67) #14
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %66, i32 1
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %67, i32 1
  %73 = icmp eq %class.variant.43* %72, %60
  br i1 %73, label %74, label %65

; <label>:74:                                     ; preds = %65
  %75 = load %class.variant.43*, %class.variant.43** %61, align 4, !tbaa !23
  br label %76

; <label>:76:                                     ; preds = %74, %53
  %77 = phi %class.variant.43* [ %75, %74 ], [ %60, %53 ]
  %78 = icmp eq %class.variant.43* %77, null
  %79 = ptrtoint %class.variant.43* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %76
  %81 = load i32, i32* %22, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %class.variant.43* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %76
  %108 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %54, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %21
  store %class.variant.43* %109, %class.variant.43** %5, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %33
  br label %111

; <label>:111:                                    ; preds = %107, %8
  %112 = phi %class.variant.43** [ %3, %107 ], [ %5, %8 ]
  %113 = phi %class.variant.43* [ %110, %107 ], [ %13, %8 ]
  store %class.variant.43* %113, %class.variant.43** %112, align 4, !tbaa !23
  %114 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %115 = getelementptr inbounds %class.variant.43, %class.variant.43* %114, i32 -1
  ret %class.variant.43* %115
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UListBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUListBegin@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::ListBegin"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 13, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 13, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UObjectBegin@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUObjectBegin@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::ListBegin"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 15, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 15, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@UCode@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUCode@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::ListBegin"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 17, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 17, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@ULabel@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabel@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 18, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 18, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(16) %class.variant.43* @"\01??$emplace_back@ULabelReset@ast@@@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAULabelReset@ast@@@Z"(%"class.std::vector.37"*, %"struct.ast::Label"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43*, %class.variant.43** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43* %4, %6
  br i1 %7, label %15, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %6, i32 0, i32 1
  store i32 19, i32* %9, align 8, !tbaa !135
  %10 = bitcast %"struct.ast::Label"* %1 to i32*
  %11 = bitcast %class.variant.43* %6 to i32*
  %12 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %12, i32* %11, align 4, !tbaa !23
  %13 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 1
  br label %113

; <label>:15:                                     ; preds = %2
  %16 = ptrtoint %class.variant.43* %4 to i32
  %17 = ptrtoint %class.variant.43* %6 to i32
  %18 = bitcast %"class.std::vector.37"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %17, %19
  %21 = ashr exact i32 %20, 4
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43** %3 to i32*
  %24 = sub i32 %16, %19
  %25 = ashr exact i32 %24, 4
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 268435455, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %15
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %15
  %34 = phi i32 [ %32, %29 ], [ %22, %15 ]
  %35 = icmp ugt i32 %34, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %33
  %38 = shl i32 %34, 4
  %39 = icmp ugt i32 %38, 4095
  br i1 %39, label %40, label %52

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, -36
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = add i32 %38, 35
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  %46 = ptrtoint i8* %45 to i32
  %47 = add i32 %46, 35
  %48 = and i32 %47, -32
  %49 = inttoptr i32 %48 to i8*
  %50 = inttoptr i32 %48 to i32*
  %51 = getelementptr inbounds i32, i32* %50, i32 -1
  store i32 %46, i32* %51, align 4, !tbaa !24
  br label %54

; <label>:52:                                     ; preds = %37
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %38) #14
  br label %54

; <label>:54:                                     ; preds = %52, %43
  %55 = phi i8* [ %49, %43 ], [ %53, %52 ]
  %56 = bitcast i8* %55 to %class.variant.43*
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %21, i32 1
  store i32 19, i32* %58, align 8, !tbaa !135
  %59 = bitcast %"struct.ast::Label"* %1 to i32*
  %60 = bitcast %class.variant.43* %57 to i32*
  %61 = load i32, i32* %59, align 4, !tbaa !23
  store i32 %61, i32* %60, align 4, !tbaa !23
  %62 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %63 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  %65 = icmp eq %class.variant.43* %64, %62
  br i1 %65, label %78, label %66

; <label>:66:                                     ; preds = %54
  br label %67

; <label>:67:                                     ; preds = %67, %66
  %68 = phi %class.variant.43* [ %73, %67 ], [ %56, %66 ]
  %69 = phi %class.variant.43* [ %74, %67 ], [ %64, %66 ]
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 0, i32 1
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 0, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !135
  store i32 %72, i32* %70, align 8, !tbaa !135
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@AAEX$$QAV0@@Z"(%class.variant.43* %68, %class.variant.43* nonnull dereferenceable(16) %69) #14
  %73 = getelementptr inbounds %class.variant.43, %class.variant.43* %68, i32 1
  %74 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 1
  %75 = icmp eq %class.variant.43* %74, %62
  br i1 %75, label %76, label %67

; <label>:76:                                     ; preds = %67
  %77 = load %class.variant.43*, %class.variant.43** %63, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %76, %54
  %79 = phi %class.variant.43* [ %77, %76 ], [ %62, %54 ]
  %80 = icmp eq %class.variant.43* %79, null
  %81 = ptrtoint %class.variant.43* %79 to i32
  br i1 %80, label %109, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* %23, align 4, !tbaa !23
  %84 = sub i32 %83, %81
  %85 = ashr exact i32 %84, 4
  %86 = icmp ugt i32 %85, 268435455
  br i1 %86, label %105, label %87

; <label>:87:                                     ; preds = %82
  %88 = bitcast %class.variant.43* %79 to i8*
  %89 = icmp ugt i32 %84, 4095
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = add i32 %84, 35
  %92 = icmp ult i32 %84, -35
  %93 = and i32 %81, 31
  %94 = icmp eq i32 %93, 0
  %95 = and i1 %94, %92
  br i1 %95, label %96, label %105

; <label>:96:                                     ; preds = %90
  %97 = add i32 %81, -4
  %98 = inttoptr i32 %97 to i32*
  %99 = load i32, i32* %98, align 4, !tbaa !24
  %100 = icmp ult i32 %99, %81
  br i1 %100, label %101, label %105

; <label>:101:                                    ; preds = %96
  %102 = sub i32 %97, %99
  %103 = icmp ugt i32 %102, 31
  %104 = inttoptr i32 %99 to i8*
  br i1 %103, label %105, label %106

; <label>:105:                                    ; preds = %101, %96, %90, %82
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:106:                                    ; preds = %101, %87
  %107 = phi i8* [ %104, %101 ], [ %88, %87 ]
  %108 = phi i32 [ %91, %101 ], [ %84, %87 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %107, i32 %108) #14
  br label %109

; <label>:109:                                    ; preds = %106, %78
  %110 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %55, i8** %110, align 4, !tbaa !23
  %111 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %22
  store %class.variant.43* %111, %class.variant.43** %5, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %34
  br label %113

; <label>:113:                                    ; preds = %109, %8
  %114 = phi %class.variant.43** [ %3, %109 ], [ %5, %8 ]
  %115 = phi %class.variant.43* [ %112, %109 ], [ %14, %8 ]
  store %class.variant.43* %115, %class.variant.43** %114, align 4, !tbaa !23
  %116 = load %class.variant.43*, %class.variant.43** %5, align 4, !tbaa !23
  %117 = getelementptr inbounds %class.variant.43, %class.variant.43* %116, i32 -1
  ret %class.variant.43* %117
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01?checkStartType@ASTBuilder@ast@@AAE_NW4NonterminalType@parser@@@Z"(%"class.ast::ASTBuilder"* nocapture readonly, i32) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  %4 = load i32, i32* %3, align 4, !tbaa !26
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %6 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %7 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !27
  %9 = icmp eq i32 %8, 0
  br i1 %9, label %10, label %14

; <label>:10:                                     ; preds = %2
  %11 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 0, i32 0, i32 0
  %12 = load i32, i32* %11, align 4, !tbaa !40
  %13 = icmp eq i32 %12, %1
  br label %14

; <label>:14:                                     ; preds = %10, %2
  %15 = phi i1 [ false, %2 ], [ %13, %10 ]
  ret i1 %15
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01?checkTerminal@ASTBuilder@ast@@AAE_NW4TokenType@parser@@@Z"(%"class.ast::ASTBuilder"* nocapture readonly, i32) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  %4 = load i32, i32* %3, align 4, !tbaa !26
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %6 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %7 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !27
  %9 = icmp eq i32 %8, 2
  br i1 %9, label %10, label %14

; <label>:10:                                     ; preds = %2
  %11 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 0, i32 0, i32 0
  %12 = load i32, i32* %11, align 4, !tbaa !43
  %13 = icmp eq i32 %12, %1
  br label %14

; <label>:14:                                     ; preds = %10, %2
  %15 = phi i1 [ false, %2 ], [ %13, %10 ]
  ret i1 %15
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01?checkEndType@ASTBuilder@ast@@AAE_NW4NonterminalType@parser@@@Z"(%"class.ast::ASTBuilder"* nocapture readonly, i32) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 5
  %4 = load i32, i32* %3, align 4, !tbaa !26
  %5 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %6 = load %class.variant*, %class.variant** %5, align 4, !tbaa !23
  %7 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !27
  %9 = icmp eq i32 %8, 1
  br i1 %9, label %10, label %14

; <label>:10:                                     ; preds = %2
  %11 = getelementptr inbounds %class.variant, %class.variant* %6, i32 %4, i32 0, i32 0, i32 0
  %12 = load i32, i32* %11, align 4, !tbaa !45
  %13 = icmp eq i32 %12, %1
  br label %14

; <label>:14:                                     ; preds = %10, %2
  %15 = phi i1 [ false, %2 ], [ %13, %10 ]
  ret i1 %15
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8ListBegin@ast@@QBE_NABU01@@Z"(%"struct.ast::ListBegin"* nocapture readonly, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::vector.37"*, %"class.std::vector.37"** %3, align 4, !tbaa !52
  %5 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::vector.37"*, %"class.std::vector.37"** %5, align 4, !tbaa !52
  %7 = icmp eq %"class.std::vector.37"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc zeroext i1 @"\01??8ListEnd@ast@@QBE_NABU01@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.std::_Not_a_node_tag"* nocapture readnone dereferenceable(1)) local_unnamed_addr #11 align 2 {
  ret i1 true
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8ObjectBegin@ast@@QBE_NABU01@@Z"(%"struct.ast::ListBegin"* nocapture readonly, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::vector.37"*, %"class.std::vector.37"** %3, align 4, !tbaa !52
  %5 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::vector.37"*, %"class.std::vector.37"** %5, align 4, !tbaa !52
  %7 = icmp eq %"class.std::vector.37"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8Code@ast@@QBE_NABU01@@Z"(%"struct.ast::ListBegin"* nocapture readonly, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::vector.37"*, %"class.std::vector.37"** %3, align 4, !tbaa !52
  %5 = getelementptr inbounds %"struct.ast::ListBegin", %"struct.ast::ListBegin"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::vector.37"*, %"class.std::vector.37"** %5, align 4, !tbaa !52
  %7 = icmp eq %"class.std::vector.37"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc zeroext i1 @"\01??8ObjectEnd@ast@@QBE_NABU01@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.std::_Not_a_node_tag"* nocapture readnone dereferenceable(1)) local_unnamed_addr #11 align 2 {
  ret i1 true
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8Label@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8LabelReset@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8Name@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NameRead@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NameWrite@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NameMember@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NameReadMember@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NameWriteMember@ast@@QBE_NABU01@@Z"(%"struct.ast::Label"* nocapture readonly, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %0, i32 0, i32 0, i32 0
  %4 = load %"class.std::basic_string"*, %"class.std::basic_string"** %3, align 4, !tbaa !74
  %5 = getelementptr inbounds %"struct.ast::Label", %"struct.ast::Label"* %1, i32 0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4, !tbaa !74
  %7 = icmp eq %"class.std::basic_string"* %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8IntX@ast@@QBE_NABU01@@Z"(%"struct.ast::IntX"* nocapture readonly, %"struct.ast::IntX"* nocapture readonly dereferenceable(8)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %0, i32 0, i32 0
  %4 = load i64, i64* %3, align 8, !tbaa !63
  %5 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %6 = load i64, i64* %5, align 8, !tbaa !63
  %7 = icmp eq i64 %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc zeroext i1 @"\01??8NatX@ast@@QBE_NABU01@@Z"(%"struct.ast::IntX"* nocapture readonly, %"struct.ast::IntX"* nocapture readonly dereferenceable(8)) local_unnamed_addr #10 align 2 {
  %3 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %0, i32 0, i32 0
  %4 = load i64, i64* %3, align 8, !tbaa !65
  %5 = getelementptr inbounds %"struct.ast::IntX", %"struct.ast::IntX"* %1, i32 0, i32 0
  %6 = load i64, i64* %5, align 8, !tbaa !65
  %7 = icmp eq i64 %4, %6
  ret i1 %7
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UListBegin@ast@@@std@@QBEIABUListBegin@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 1
  ret i32 %19
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc i32 @"\01??R?$hash@UListEnd@ast@@@std@@QBEIUListEnd@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.std::_Not_a_node_tag"* byval nocapture readnone align 4) local_unnamed_addr #11 align 2 {
  ret i32 1
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UObjectBegin@ast@@@std@@QBEIABUObjectBegin@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 2
  ret i32 %19
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc i32 @"\01??R?$hash@UObjectEnd@ast@@@std@@QBEIUObjectEnd@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.std::_Not_a_node_tag"* byval nocapture readnone align 4) local_unnamed_addr #11 align 2 {
  ret i32 2
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UCode@ast@@@std@@QBEIABUCode@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::ListBegin"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::ListBegin"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 3
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@ULabel@ast@@@std@@QBEIABULabel@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 1
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@ULabelReset@ast@@@std@@QBEIABULabelReset@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 2
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UName@ast@@@std@@QBEIABUName@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 3
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNameRead@ast@@@std@@QBEIABUNameRead@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 4
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNameWrite@ast@@@std@@QBEIABUNameWrite@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 5
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNameMember@ast@@@std@@QBEIABUNameMember@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 6
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNameReadMember@ast@@@std@@QBEIABUNameReadMember@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 7
  ret i32 %19
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNameWriteMember@ast@@@std@@QBEIABUNameWriteMember@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::Label"* nocapture readonly dereferenceable(4)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::Label"* %1 to i32*
  %4 = load i32, i32* %3, align 4
  %5 = and i32 %4, 255
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = lshr i32 %4, 8
  %9 = and i32 %8, 255
  %10 = xor i32 %7, %9
  %11 = mul i32 %10, 16777619
  %12 = lshr i32 %4, 16
  %13 = and i32 %12, 255
  %14 = xor i32 %11, %13
  %15 = mul i32 %14, 16777619
  %16 = lshr i32 %4, 24
  %17 = xor i32 %15, %16
  %18 = mul i32 %17, 16777619
  %19 = xor i32 %18, 8
  ret i32 %19
}

; Function Attrs: nounwind
define x86_thiscallcc i32 @"\01??R?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@QBEIABV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@1@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"class.std::vector.37"* nocapture readonly dereferenceable(12)) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 1
  %4 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %1, i32 0, i32 0, i32 0, i32 0, i32 0
  %5 = load %class.variant.43*, %class.variant.43** %4, align 4, !tbaa !23, !noalias !366
  %6 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load %class.variant.43*, %class.variant.43** %6, align 4, !tbaa !23, !noalias !369
  %8 = icmp eq %class.variant.43* %7, %5
  br i1 %8, label %11, label %9

; <label>:9:                                      ; preds = %2
  %10 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  br label %13

; <label>:11:                                     ; preds = %13, %2
  %12 = phi i32 [ 0, %2 ], [ %17, %13 ]
  ret i32 %12

; <label>:13:                                     ; preds = %13, %9
  %14 = phi %class.variant.43* [ %5, %9 ], [ %18, %13 ]
  %15 = phi i32 [ 0, %9 ], [ %17, %13 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %10) #14
  %16 = call x86_thiscallcc i32 @"\01??$visitInternal@UHasher@detail@@@?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@ABE?A?<auto>@@$$QAUHasher@detail@@@Z"(%class.variant.43* nonnull %14, %"struct.std::_Not_a_node_tag"* nonnull dereferenceable(1) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %10) #14
  %17 = xor i32 %16, %15
  %18 = getelementptr inbounds %class.variant.43, %class.variant.43* %14, i32 1
  %19 = icmp eq %class.variant.43* %7, %18
  br i1 %19, label %11, label %13
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UIntX@ast@@@std@@QBEIABUIntX@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::IntX"* nocapture readonly dereferenceable(8)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::IntX"* %1 to i8*
  %4 = load i8, i8* %3, align 1, !tbaa !12
  %5 = zext i8 %4 to i32
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = getelementptr inbounds i8, i8* %3, i32 1
  %9 = load i8, i8* %8, align 1, !tbaa !12
  %10 = zext i8 %9 to i32
  %11 = xor i32 %7, %10
  %12 = mul i32 %11, 16777619
  %13 = getelementptr inbounds i8, i8* %3, i32 2
  %14 = load i8, i8* %13, align 1, !tbaa !12
  %15 = zext i8 %14 to i32
  %16 = xor i32 %12, %15
  %17 = mul i32 %16, 16777619
  %18 = getelementptr inbounds i8, i8* %3, i32 3
  %19 = load i8, i8* %18, align 1, !tbaa !12
  %20 = zext i8 %19 to i32
  %21 = xor i32 %17, %20
  %22 = mul i32 %21, 16777619
  %23 = getelementptr inbounds i8, i8* %3, i32 4
  %24 = load i8, i8* %23, align 1, !tbaa !12
  %25 = zext i8 %24 to i32
  %26 = xor i32 %22, %25
  %27 = mul i32 %26, 16777619
  %28 = getelementptr inbounds i8, i8* %3, i32 5
  %29 = load i8, i8* %28, align 1, !tbaa !12
  %30 = zext i8 %29 to i32
  %31 = xor i32 %27, %30
  %32 = mul i32 %31, 16777619
  %33 = getelementptr inbounds i8, i8* %3, i32 6
  %34 = load i8, i8* %33, align 1, !tbaa !12
  %35 = zext i8 %34 to i32
  %36 = xor i32 %32, %35
  %37 = mul i32 %36, 16777619
  %38 = getelementptr inbounds i8, i8* %3, i32 7
  %39 = load i8, i8* %38, align 1, !tbaa !12
  %40 = zext i8 %39 to i32
  %41 = xor i32 %37, %40
  %42 = mul i32 %41, 16777619
  ret i32 %42
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i32 @"\01??R?$hash@UNatX@ast@@@std@@QBEIABUNatX@ast@@@Z"(%"struct.std::_Not_a_node_tag"* nocapture readnone, %"struct.ast::IntX"* nocapture readonly dereferenceable(8)) local_unnamed_addr #10 align 2 {
  %3 = bitcast %"struct.ast::IntX"* %1 to i8*
  %4 = load i8, i8* %3, align 1, !tbaa !12
  %5 = zext i8 %4 to i32
  %6 = xor i32 %5, -2128831035
  %7 = mul i32 %6, 16777619
  %8 = getelementptr inbounds i8, i8* %3, i32 1
  %9 = load i8, i8* %8, align 1, !tbaa !12
  %10 = zext i8 %9 to i32
  %11 = xor i32 %7, %10
  %12 = mul i32 %11, 16777619
  %13 = getelementptr inbounds i8, i8* %3, i32 2
  %14 = load i8, i8* %13, align 1, !tbaa !12
  %15 = zext i8 %14 to i32
  %16 = xor i32 %12, %15
  %17 = mul i32 %16, 16777619
  %18 = getelementptr inbounds i8, i8* %3, i32 3
  %19 = load i8, i8* %18, align 1, !tbaa !12
  %20 = zext i8 %19 to i32
  %21 = xor i32 %17, %20
  %22 = mul i32 %21, 16777619
  %23 = getelementptr inbounds i8, i8* %3, i32 4
  %24 = load i8, i8* %23, align 1, !tbaa !12
  %25 = zext i8 %24 to i32
  %26 = xor i32 %22, %25
  %27 = mul i32 %26, 16777619
  %28 = getelementptr inbounds i8, i8* %3, i32 5
  %29 = load i8, i8* %28, align 1, !tbaa !12
  %30 = zext i8 %29 to i32
  %31 = xor i32 %27, %30
  %32 = mul i32 %31, 16777619
  %33 = getelementptr inbounds i8, i8* %3, i32 6
  %34 = load i8, i8* %33, align 1, !tbaa !12
  %35 = zext i8 %34 to i32
  %36 = xor i32 %32, %35
  %37 = mul i32 %36, 16777619
  %38 = getelementptr inbounds i8, i8* %3, i32 7
  %39 = load i8, i8* %38, align 1, !tbaa !12
  %40 = zext i8 %39 to i32
  %41 = xor i32 %37, %40
  %42 = mul i32 %41, 16777619
  ret i32 %42
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_GEventHandler@parser@@UAEPAXI@Z"(%"class.parser::EventHandler"*, i32) unnamed_addr #2 comdat align 2 {
  tail call void @llvm.trap() #12
  unreachable
}

declare dllimport void @_purecall() unnamed_addr

; Function Attrs: noreturn nounwind
declare void @llvm.trap() #12

define i32 @getInputStackSize(%class.variant.43* nocapture readonly %input, i32 %inputSize) {
entry:
  br label %l0

l0:                                               ; preds = %l3, %entry
  %stackSize0 = phi i32 [ 0, %entry ], [ %stackSize, %l3 ]
  %i0 = phi i32 [ 0, %entry ], [ %i1, %l3 ]
  %typeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %input, i32 %i0, i32 1
  %type = load i32, i32* %typeRef
  switch i32 %type, label %l1 [
    i32 4, label %l2
    i32 9, label %l2
    i32 12, label %l2
  ]

l1:                                               ; preds = %l0
  %stackSize1 = add i32 %stackSize0, 4
  br label %l3

l2:                                               ; preds = %l0, %l0, %l0
  %stackSize2 = add i32 %stackSize0, 8
  br label %l3

l3:                                               ; preds = %l2, %l1
  %stackSize = phi i32 [ %stackSize1, %l1 ], [ %stackSize2, %l2 ]
  %i1 = add i32 %i0, 1
  %isEnded = icmp eq i32 %i1, %inputSize
  br i1 %isEnded, label %end, label %l0

end:                                              ; preds = %l3
  ret i32 %stackSize
}

define void @copyInputValues(%class.variant.43* nocapture readonly %input, i32 %inputSize, i8* %output) {
entry:
  br label %l0

l0:                                               ; preds = %l3, %entry
  %outputPointer0 = phi i8* [ %output, %entry ], [ %outputPointer3, %l3 ]
  %i0 = phi i32 [ 0, %entry ], [ %i1, %l3 ]
  %valueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %input, i32 %i0, i32 0
  %typeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %input, i32 %i0, i32 1
  %type = load i32, i32* %typeRef
  switch i32 %type, label %l1 [
    i32 4, label %l2
    i32 9, label %l2
    i32 12, label %l2
  ]

l1:                                               ; preds = %l0
  %i32InputRef = bitcast [1 x %"union.std::_Align_type.44"]* %valueRef to i32*
  %i32Value = load i32, i32* %i32InputRef
  %i32OutputRef = bitcast i8* %outputPointer0 to i32*
  store i32 %i32Value, i32* %i32OutputRef
  %outputPointer1 = getelementptr i8, i8* %outputPointer0, i32 4
  br label %l3

l2:                                               ; preds = %l0, %l0, %l0
  %i64InputRef = bitcast [1 x %"union.std::_Align_type.44"]* %valueRef to i64*
  %i64Value = load i64, i64* %i64InputRef
  %i64OutputRef = bitcast i8* %outputPointer0 to i64*
  store i64 %i64Value, i64* %i64OutputRef
  %outputPointer2 = getelementptr i8, i8* %outputPointer0, i32 8
  br label %l3

l3:                                               ; preds = %l2, %l1
  %outputPointer3 = phi i8* [ %outputPointer1, %l1 ], [ %outputPointer2, %l2 ]
  %i1 = add i32 %i0, 1
  %isEnded = icmp eq i32 %i1, %inputSize
  br i1 %isEnded, label %end, label %l0

end:                                              ; preds = %l3
  ret void
}

define void @callImportedFunction(%class.variant.43* %input, i32 %inputSize, %class.variant.43* %output, i8* %func) {
  %inputSizeIsZero = icmp eq i32 %inputSize, 0
  br i1 %inputSizeIsZero, label %call.0, label %call.x

call.0:                                           ; preds = %0
  %call.0.outputIsNull = icmp eq %class.variant.43* %output, null
  br i1 %call.0.outputIsNull, label %call.0.void, label %call.0.x

call.0.void:                                      ; preds = %call.0
  %call.0.void.func = bitcast i8* %func to void ()*
  call x86_stdcallcc void %call.0.void.func()
  ret void

call.0.x:                                         ; preds = %call.0
  %call.0.outputValueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 0
  %call.0.outputTypeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 1
  %call.0.outputType = load i32, i32* %call.0.outputTypeRef
  switch i32 %call.0.outputType, label %call.0.i32 [
    i32 4, label %call.0.i64
    i32 9, label %call.0.i64
    i32 11, label %call.0.r32
    i32 12, label %call.0.r64
  ]

call.0.i32:                                       ; preds = %call.0.x
  %call.0.i32.func = bitcast i8* %func to i32 ()*
  %call.0.i32.result = call x86_stdcallcc i32 %call.0.i32.func()
  %call.0.i32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.0.outputValueRef to i32*
  store i32 %call.0.i32.result, i32* %call.0.i32.outputValueRef
  ret void

call.0.i64:                                       ; preds = %call.0.x, %call.0.x
  %call.0.i64.func = bitcast i8* %func to i64 ()*
  %call.0.i64.result = call x86_stdcallcc i64 %call.0.i64.func()
  %call.0.i64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.0.outputValueRef to i64*
  store i64 %call.0.i64.result, i64* %call.0.i64.outputValueRef
  ret void

call.0.r32:                                       ; preds = %call.0.x
  %call.0.r32.func = bitcast i8* %func to float ()*
  %call.0.r32.result = call x86_stdcallcc float %call.0.r32.func()
  %call.0.r32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.0.outputValueRef to float*
  store float %call.0.r32.result, float* %call.0.r32.outputValueRef
  ret void

call.0.r64:                                       ; preds = %call.0.x
  %call.0.r64.func = bitcast i8* %func to double ()*
  %call.0.r64.result = call x86_stdcallcc double %call.0.r64.func()
  %call.0.r64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.0.outputValueRef to double*
  store double %call.0.r64.result, double* %call.0.r64.outputValueRef
  ret void

call.x:                                           ; preds = %0
  %stackSize = call i32 @getInputStackSize(%class.variant.43* %input, i32 %inputSize)
  %stack = alloca inalloca i8, i32 %stackSize, align 4
  call void @copyInputValues(%class.variant.43* %input, i32 %inputSize, i8* %stack)
  switch i32 %stackSize, label %call.4 [
    i32 4, label %call.4
    i32 8, label %call.8
    i32 12, label %call.12
    i32 16, label %call.16
  ]

call.4:                                           ; preds = %call.x, %call.x
  %call.4.arguments = bitcast i8* %stack to [4 x i8]*
  %call.4.outputIsNull = icmp eq %class.variant.43* %output, null
  br i1 %call.4.outputIsNull, label %call.4.void, label %call.4.x

call.4.void:                                      ; preds = %call.4
  %call.4.void.func = bitcast i8* %func to void ([4 x i8]*)*
  call x86_stdcallcc void %call.4.void.func([4 x i8]* inalloca %call.4.arguments)
  ret void

call.4.x:                                         ; preds = %call.4
  %call.4.outputValueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 0
  %call.4.outputTypeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 1
  %call.4.outputType = load i32, i32* %call.4.outputTypeRef
  switch i32 %call.4.outputType, label %call.4.i32 [
    i32 4, label %call.4.i64
    i32 9, label %call.4.i64
    i32 11, label %call.4.r32
    i32 12, label %call.4.r64
  ]

call.4.i32:                                       ; preds = %call.4.x
  %call.4.i32.func = bitcast i8* %func to i32 ([4 x i8]*)*
  %call.4.i32.result = call x86_stdcallcc i32 %call.4.i32.func([4 x i8]* inalloca %call.4.arguments)
  %call.4.i32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.4.outputValueRef to i32*
  store i32 %call.4.i32.result, i32* %call.4.i32.outputValueRef
  ret void

call.4.i64:                                       ; preds = %call.4.x, %call.4.x
  %call.4.i64.func = bitcast i8* %func to i64 ([4 x i8]*)*
  %call.4.i64.result = call x86_stdcallcc i64 %call.4.i64.func([4 x i8]* inalloca %call.4.arguments)
  %call.4.i64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.4.outputValueRef to i64*
  store i64 %call.4.i64.result, i64* %call.4.i64.outputValueRef
  ret void

call.4.r32:                                       ; preds = %call.4.x
  %call.4.r32.func = bitcast i8* %func to float ([4 x i8]*)*
  %call.4.r32.result = call x86_stdcallcc float %call.4.r32.func([4 x i8]* inalloca %call.4.arguments)
  %call.4.r32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.4.outputValueRef to float*
  store float %call.4.r32.result, float* %call.4.r32.outputValueRef
  ret void

call.4.r64:                                       ; preds = %call.4.x
  %call.4.r64.func = bitcast i8* %func to double ([4 x i8]*)*
  %call.4.r64.result = call x86_stdcallcc double %call.4.r64.func([4 x i8]* inalloca %call.4.arguments)
  %call.4.r64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.4.outputValueRef to double*
  store double %call.4.r64.result, double* %call.4.r64.outputValueRef
  ret void

call.8:                                           ; preds = %call.x
  %call.8.arguments = bitcast i8* %stack to [8 x i8]*
  %call.8.outputIsNull = icmp eq %class.variant.43* %output, null
  br i1 %call.8.outputIsNull, label %call.8.void, label %call.8.x

call.8.void:                                      ; preds = %call.8
  %call.8.void.func = bitcast i8* %func to void ([8 x i8]*)*
  call x86_stdcallcc void %call.8.void.func([8 x i8]* inalloca %call.8.arguments)
  ret void

call.8.x:                                         ; preds = %call.8
  %call.8.outputValueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 0
  %call.8.outputTypeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 1
  %call.8.outputType = load i32, i32* %call.8.outputTypeRef
  switch i32 %call.8.outputType, label %call.8.i32 [
    i32 4, label %call.8.i64
    i32 9, label %call.8.i64
    i32 11, label %call.8.r32
    i32 12, label %call.8.r64
  ]

call.8.i32:                                       ; preds = %call.8.x
  %call.8.i32.func = bitcast i8* %func to i32 ([8 x i8]*)*
  %call.8.i32.result = call x86_stdcallcc i32 %call.8.i32.func([8 x i8]* inalloca %call.8.arguments)
  %call.8.i32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.8.outputValueRef to i32*
  store i32 %call.8.i32.result, i32* %call.8.i32.outputValueRef
  ret void

call.8.i64:                                       ; preds = %call.8.x, %call.8.x
  %call.8.i64.func = bitcast i8* %func to i64 ([8 x i8]*)*
  %call.8.i64.result = call x86_stdcallcc i64 %call.8.i64.func([8 x i8]* inalloca %call.8.arguments)
  %call.8.i64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.8.outputValueRef to i64*
  store i64 %call.8.i64.result, i64* %call.8.i64.outputValueRef
  ret void

call.8.r32:                                       ; preds = %call.8.x
  %call.8.r32.func = bitcast i8* %func to float ([8 x i8]*)*
  %call.8.r32.result = call x86_stdcallcc float %call.8.r32.func([8 x i8]* inalloca %call.8.arguments)
  %call.8.r32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.8.outputValueRef to float*
  store float %call.8.r32.result, float* %call.8.r32.outputValueRef
  ret void

call.8.r64:                                       ; preds = %call.8.x
  %call.8.r64.func = bitcast i8* %func to double ([8 x i8]*)*
  %call.8.r64.result = call x86_stdcallcc double %call.8.r64.func([8 x i8]* inalloca %call.8.arguments)
  %call.8.r64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.8.outputValueRef to double*
  store double %call.8.r64.result, double* %call.8.r64.outputValueRef
  ret void

call.12:                                          ; preds = %call.x
  %call.12.arguments = bitcast i8* %stack to [12 x i8]*
  %call.12.outputIsNull = icmp eq %class.variant.43* %output, null
  br i1 %call.12.outputIsNull, label %call.12.void, label %call.12.x

call.12.void:                                     ; preds = %call.12
  %call.12.void.func = bitcast i8* %func to void ([12 x i8]*)*
  call x86_stdcallcc void %call.12.void.func([12 x i8]* inalloca %call.12.arguments)
  ret void

call.12.x:                                        ; preds = %call.12
  %call.12.outputValueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 0
  %call.12.outputTypeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 1
  %call.12.outputType = load i32, i32* %call.12.outputTypeRef
  switch i32 %call.12.outputType, label %call.12.i32 [
    i32 4, label %call.12.i64
    i32 9, label %call.12.i64
    i32 11, label %call.12.r32
    i32 12, label %call.12.r64
  ]

call.12.i32:                                      ; preds = %call.12.x
  %call.12.i32.func = bitcast i8* %func to i32 ([12 x i8]*)*
  %call.12.i32.result = call x86_stdcallcc i32 %call.12.i32.func([12 x i8]* inalloca %call.12.arguments)
  %call.12.i32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.12.outputValueRef to i32*
  store i32 %call.12.i32.result, i32* %call.12.i32.outputValueRef
  ret void

call.12.i64:                                      ; preds = %call.12.x, %call.12.x
  %call.12.i64.func = bitcast i8* %func to i64 ([12 x i8]*)*
  %call.12.i64.result = call x86_stdcallcc i64 %call.12.i64.func([12 x i8]* inalloca %call.12.arguments)
  %call.12.i64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.12.outputValueRef to i64*
  store i64 %call.12.i64.result, i64* %call.12.i64.outputValueRef
  ret void

call.12.r32:                                      ; preds = %call.12.x
  %call.12.r32.func = bitcast i8* %func to float ([12 x i8]*)*
  %call.12.r32.result = call x86_stdcallcc float %call.12.r32.func([12 x i8]* inalloca %call.12.arguments)
  %call.12.r32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.12.outputValueRef to float*
  store float %call.12.r32.result, float* %call.12.r32.outputValueRef
  ret void

call.12.r64:                                      ; preds = %call.12.x
  %call.12.r64.func = bitcast i8* %func to double ([12 x i8]*)*
  %call.12.r64.result = call x86_stdcallcc double %call.12.r64.func([12 x i8]* inalloca %call.12.arguments)
  %call.12.r64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.12.outputValueRef to double*
  store double %call.12.r64.result, double* %call.12.r64.outputValueRef
  ret void

call.16:                                          ; preds = %call.x
  %call.16.arguments = bitcast i8* %stack to [16 x i8]*
  %call.16.outputIsNull = icmp eq %class.variant.43* %output, null
  br i1 %call.16.outputIsNull, label %call.16.void, label %call.16.x

call.16.void:                                     ; preds = %call.16
  %call.16.void.func = bitcast i8* %func to void ([16 x i8]*)*
  call x86_stdcallcc void %call.16.void.func([16 x i8]* inalloca %call.16.arguments)
  ret void

call.16.x:                                        ; preds = %call.16
  %call.16.outputValueRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 0
  %call.16.outputTypeRef = getelementptr inbounds %class.variant.43, %class.variant.43* %output, i32 0, i32 1
  %call.16.outputType = load i32, i32* %call.16.outputTypeRef
  switch i32 %call.16.outputType, label %call.16.i32 [
    i32 4, label %call.16.i64
    i32 9, label %call.16.i64
    i32 11, label %call.16.r32
    i32 12, label %call.16.r64
  ]

call.16.i32:                                      ; preds = %call.16.x
  %call.16.i32.func = bitcast i8* %func to i32 ([16 x i8]*)*
  %call.16.i32.result = call x86_stdcallcc i32 %call.16.i32.func([16 x i8]* inalloca %call.16.arguments)
  %call.16.i32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.16.outputValueRef to i32*
  store i32 %call.16.i32.result, i32* %call.16.i32.outputValueRef
  ret void

call.16.i64:                                      ; preds = %call.16.x, %call.16.x
  %call.16.i64.func = bitcast i8* %func to i64 ([16 x i8]*)*
  %call.16.i64.result = call x86_stdcallcc i64 %call.16.i64.func([16 x i8]* inalloca %call.16.arguments)
  %call.16.i64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.16.outputValueRef to i64*
  store i64 %call.16.i64.result, i64* %call.16.i64.outputValueRef
  ret void

call.16.r32:                                      ; preds = %call.16.x
  %call.16.r32.func = bitcast i8* %func to float ([16 x i8]*)*
  %call.16.r32.result = call x86_stdcallcc float %call.16.r32.func([16 x i8]* inalloca %call.16.arguments)
  %call.16.r32.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.16.outputValueRef to float*
  store float %call.16.r32.result, float* %call.16.r32.outputValueRef
  ret void

call.16.r64:                                      ; preds = %call.16.x
  %call.16.r64.func = bitcast i8* %func to double ([16 x i8]*)*
  %call.16.r64.result = call x86_stdcallcc double %call.16.r64.func([16 x i8]* inalloca %call.16.arguments)
  %call.16.r64.outputValueRef = bitcast [1 x %"union.std::_Align_type.44"]* %call.16.outputValueRef to double*
  store double %call.16.r64.result, double* %call.16.r64.outputValueRef
  ret void
}

; Function Attrs: norecurse nounwind
define x86_thiscallcc %"struct.parser::Expected"* @"\01??0?$Expected@X@parser@@QAE@XZ"(%"struct.parser::Expected"* returned) unnamed_addr #0 align 2 {
  %2 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %0, i32 0, i32 0
  store i8 1, i8* %2, align 4, !tbaa !372
  ret %"struct.parser::Expected"* %0
}

; Function Attrs: nounwind
define x86_thiscallcc %"struct.parser::Expected"* @"\01??0?$Expected@X@parser@@QAE@UParseException@1@@Z"(%"struct.parser::Expected"* returned, %"struct.parser::ParseException"* byval nocapture readonly align 4) unnamed_addr #2 align 2 {
  %3 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %0, i32 0, i32 0
  store i8 0, i8* %3, align 4, !tbaa !372
  %4 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %0, i32 0, i32 1
  %5 = bitcast %"struct.parser::ParseException"* %4 to i8*
  %6 = bitcast %"struct.parser::ParseException"* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* nonnull %6, i32 20, i32 4, i1 false), !tbaa.struct !375
  ret %"struct.parser::Expected"* %0
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc void @"\01??1EventHandler@parser@@UAE@XZ"(%"class.parser::EventHandler"* nocapture) unnamed_addr #11 align 2 {
  ret void
}

; Function Attrs: norecurse nounwind readonly
define x86_thiscallcc i16* @"\01?getMessage@ParseException@parser@@QBEPB_WXZ"(%"struct.parser::ParseException"* nocapture readonly) local_unnamed_addr #10 align 2 {
  %2 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %0, i32 0, i32 3
  %3 = load i32, i32* %2, align 4, !tbaa !376
  %4 = icmp slt i32 %3, 0
  %5 = select i1 %4, i16* getelementptr inbounds ([24 x i16], [24 x i16]* @"\01??_C@_1DA@LGMIGNBH@?$AAl?$AAe?$AAx?$AAi?$AAc?$AAa?$AAl?$AA?5?$AAa?$AAn?$AAa?$AAl?$AAy?$AAs?$AAi?$AAs?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([13 x i16], [13 x i16]* @"\01??_C@_1BK@ECDIFIKG@?$AAs?$AAy?$AAn?$AAt?$AAa?$AAx?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@", i32 0, i32 0)
  ret i16* %5
}

; Function Attrs: nounwind
define x86_thiscallcc %"class.parser::Parser"* @"\01??0Parser@parser@@QAE@PB_WPAVEventHandler@1@@Z"(%"class.parser::Parser"* returned, i16*, %"class.parser::EventHandler"*) unnamed_addr #2 align 2 {
  %4 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7Parser@parser@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  store i16* %1, i16** %5, align 4, !tbaa !377
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  store %"class.parser::EventHandler"* %2, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %7 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  %8 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  store i32 0, i32* %8, align 4, !tbaa !380
  %9 = bitcast i32* %7 to i8*
  tail call void @llvm.memset.p0i8.i64(i8* %9, i8 0, i64 24, i32 4, i1 false) #14
  %10 = bitcast %"class.parser::EventHandler"* %2 to void (%"class.parser::EventHandler"*, i16*)***
  %11 = load void (%"class.parser::EventHandler"*, i16*)**, void (%"class.parser::EventHandler"*, i16*)*** %10, align 4, !tbaa !9
  %12 = getelementptr inbounds void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %11, i32 1
  %13 = load void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %12, align 4
  tail call x86_thiscallcc void %13(%"class.parser::EventHandler"* %2, i16* %1) #14
  ret %"class.parser::Parser"* %0
}

; Function Attrs: argmemonly nounwind
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #3

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_GParser@parser@@UAEPAXI@Z"(%"class.parser::Parser"*, i32) unnamed_addr #2 comdat align 2 {
  %3 = bitcast %"class.parser::Parser"* %0 to i8*
  %4 = icmp eq i32 %1, 0
  br i1 %4, label %6, label %5

; <label>:5:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %6

; <label>:6:                                      ; preds = %5, %2
  ret i8* %3
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?reset@Parser@parser@@AAEXXZ"(%"class.parser::Parser"* nocapture) local_unnamed_addr #2 align 2 {
  %2 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  %3 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  store i32 0, i32* %3, align 4, !tbaa !380
  %4 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %5 = bitcast i32* %2 to i8*
  call void @llvm.memset.p0i8.i64(i8* %5, i8 0, i64 24, i32 4, i1 false)
  %6 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %4, align 4, !tbaa !379
  %7 = bitcast %"class.parser::EventHandler"* %6 to void (%"class.parser::EventHandler"*, i16*)***
  %8 = load void (%"class.parser::EventHandler"*, i16*)**, void (%"class.parser::EventHandler"*, i16*)*** %7, align 4, !tbaa !9
  %9 = getelementptr inbounds void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %8, i32 1
  %10 = load void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %9, align 4
  %11 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  %12 = load i16*, i16** %11, align 4, !tbaa !377
  tail call x86_thiscallcc void %10(%"class.parser::EventHandler"* %6, i16* %12) #14
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_ProgramWithEOF@Parser@parser@@QAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = alloca [23 x i8], align 1
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %7 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %8 = bitcast %"class.parser::EventHandler"* %7 to void (%"class.parser::EventHandler"*, i32, i32)***
  %9 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %8, align 4, !tbaa !9
  %10 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %9, i32 2
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %10, align 4
  %12 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %13 = load i32, i32* %12, align 4, !tbaa !381
  tail call x86_thiscallcc void %11(%"class.parser::EventHandler"* %7, i32 0, i32 %13) #14
  %14 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %14) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* %0, %"struct.parser::Expected"* nonnull sret %4)
  %15 = load i8, i8* %14, align 4, !tbaa !372, !range !382
  %16 = icmp eq i8 %15, 0
  br i1 %16, label %17, label %23

; <label>:17:                                     ; preds = %2
  %18 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %19 = bitcast %"struct.parser::ParseException"* %18 to i8*
  %20 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %20, align 4, !tbaa !372
  %21 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %22 = bitcast %"struct.parser::ParseException"* %21 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %19, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %14) #14
  br label %90

; <label>:23:                                     ; preds = %2
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %14) #14
  %24 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %24)
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %26 = load i32, i32* %25, align 4, !tbaa !383, !noalias !84
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %48

; <label>:28:                                     ; preds = %23
  %29 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %29) #14, !noalias !384
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 0) #14, !noalias !384
  %30 = load i8, i8* %29, align 4, !tbaa !387, !range !382, !noalias !384
  %31 = icmp eq i8 %30, 0
  %32 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %31, label %42, label %33

; <label>:33:                                     ; preds = %28
  %34 = getelementptr inbounds %union.anon, %union.anon* %32, i32 0, i32 0, i32 0
  %35 = load i32, i32* %34, align 4, !tbaa !12, !noalias !84
  store i32 %35, i32* %25, align 4, !tbaa !383, !noalias !384
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %37 = load i32, i32* %36, align 4, !tbaa !389, !noalias !384
  %38 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %37, i32* %38, align 4, !tbaa !390, !noalias !384
  %39 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %40 = load i32, i32* %39, align 4, !tbaa !380, !noalias !384
  %41 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %40, i32* %41, align 4, !tbaa !391, !noalias !384
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %29) #14, !noalias !384
  br label %48

; <label>:42:                                     ; preds = %28
  %43 = bitcast %union.anon* %32 to i8*
  %44 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* %43, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %29) #14, !noalias !384
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %45, align 4, !tbaa !372
  %46 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %47 = bitcast %"struct.parser::ParseException"* %46 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %44, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %24)
  br label %90

; <label>:48:                                     ; preds = %33, %23
  %49 = phi i32 [ %35, %33 ], [ %26, %23 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %24)
  %50 = icmp eq i32 %49, 1
  br i1 %50, label %51, label %72

; <label>:51:                                     ; preds = %48
  %52 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !392
  %53 = bitcast %"class.parser::EventHandler"* %52 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %54 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %53, align 4, !tbaa !9, !noalias !392
  %55 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %54, i32 4
  %56 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %55, align 4, !noalias !392
  %57 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %58 = load i32, i32* %57, align 4, !tbaa !391, !noalias !392
  %59 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %60 = load i32, i32* %59, align 4, !tbaa !390, !noalias !392
  tail call x86_thiscallcc void %56(%"class.parser::EventHandler"* %52, i32 1, i32 %60, i32 %58) #14, !noalias !392
  %61 = load i32, i32* %59, align 4, !tbaa !390, !noalias !392
  %62 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %61, i32* %62, align 4, !tbaa !395, !noalias !392
  %63 = load i32, i32* %57, align 4, !tbaa !391, !noalias !392
  store i32 %63, i32* %12, align 4, !tbaa !381, !noalias !392
  %64 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %65 = load i32, i32* %64, align 4, !tbaa !396, !noalias !392
  store i32 %65, i32* %25, align 4, !tbaa !383, !noalias !392
  %66 = icmp eq i32 %65, 0
  br i1 %66, label %83, label %67

; <label>:67:                                     ; preds = %51
  %68 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %69 = load i32, i32* %68, align 4, !tbaa !397, !noalias !392
  store i32 %69, i32* %59, align 4, !tbaa !390, !noalias !392
  %70 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %71 = load i32, i32* %70, align 4, !tbaa !398, !noalias !392
  store i32 %71, i32* %57, align 4, !tbaa !391, !noalias !392
  store i32 0, i32* %64, align 4, !tbaa !396, !noalias !392
  br label %83

; <label>:72:                                     ; preds = %48
  %73 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %74 = load i32, i32* %73, align 4, !tbaa !390, !noalias !392
  %75 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %76 = load i32, i32* %75, align 4, !tbaa !391, !noalias !392
  %77 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %77, align 4, !tbaa !372
  %78 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %74, i32* %78, align 4
  %79 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %76, i32* %79, align 4
  %80 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %80, align 4
  %81 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %49, i32* %81, align 4
  %82 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 1, i32* %82, align 4
  br label %90

; <label>:83:                                     ; preds = %67, %51
  %84 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %85 = bitcast %"class.parser::EventHandler"* %84 to void (%"class.parser::EventHandler"*, i32, i32)***
  %86 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %85, align 4, !tbaa !9
  %87 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %86, i32 3
  %88 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %87, align 4
  tail call x86_thiscallcc void %88(%"class.parser::EventHandler"* %84, i32 0, i32 %63) #14
  %89 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %89, align 4, !tbaa !372
  br label %90

; <label>:90:                                     ; preds = %83, %72, %42, %17
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = alloca %"struct.parser::Expected.6", align 4
  %6 = alloca %"struct.parser::Expected.6", align 4
  %7 = alloca %"struct.parser::Expected.6", align 4
  %8 = alloca %"struct.parser::Expected.6", align 4
  %9 = alloca [23 x i8], align 1
  %10 = alloca [23 x i8], align 1
  %11 = alloca [23 x i8], align 1
  %12 = alloca [23 x i8], align 1
  %13 = alloca [23 x i8], align 1
  %14 = alloca %"struct.parser::Expected", align 4
  %15 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %16 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379
  %17 = bitcast %"class.parser::EventHandler"* %16 to void (%"class.parser::EventHandler"*, i32, i32)***
  %18 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %17, align 4, !tbaa !9
  %19 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %18, i32 2
  %20 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %19, align 4
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %22 = load i32, i32* %21, align 4, !tbaa !381
  tail call x86_thiscallcc void %20(%"class.parser::EventHandler"* %16, i32 1, i32 %22) #14
  %23 = getelementptr inbounds [23 x i8], [23 x i8]* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %23)
  %24 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %25 = load i32, i32* %24, align 4, !tbaa !383
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %27, label %47

; <label>:27:                                     ; preds = %2
  %28 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %28) #14, !noalias !399
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %5, i32 13) #14, !noalias !399
  %29 = load i8, i8* %28, align 4, !tbaa !387, !range !382, !noalias !399
  %30 = icmp eq i8 %29, 0
  %31 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %5, i32 0, i32 1
  br i1 %30, label %41, label %32

; <label>:32:                                     ; preds = %27
  %33 = getelementptr inbounds %union.anon, %union.anon* %31, i32 0, i32 0, i32 0
  %34 = load i32, i32* %33, align 4, !tbaa !12
  store i32 %34, i32* %24, align 4, !tbaa !383, !noalias !399
  %35 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %36 = load i32, i32* %35, align 4, !tbaa !389, !noalias !399
  %37 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %36, i32* %37, align 4, !tbaa !390, !noalias !399
  %38 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %39 = load i32, i32* %38, align 4, !tbaa !380, !noalias !399
  %40 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %39, i32* %40, align 4, !tbaa !391, !noalias !399
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %28) #14, !noalias !399
  br label %47

; <label>:41:                                     ; preds = %27
  %42 = bitcast %union.anon* %31 to i8*
  %43 = getelementptr inbounds [23 x i8], [23 x i8]* %9, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %43, i8* %42, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %28) #14, !noalias !399
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %44, align 4, !tbaa !372
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %46 = bitcast %"struct.parser::ParseException"* %45 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %46, i8* %43, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %23)
  br label %238

; <label>:47:                                     ; preds = %32, %2
  %48 = phi i32 [ %34, %32 ], [ %25, %2 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %23)
  %49 = icmp eq i32 %48, 12
  br i1 %49, label %50, label %74

; <label>:50:                                     ; preds = %47
  %51 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379, !noalias !402
  %52 = bitcast %"class.parser::EventHandler"* %51 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %53 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %52, align 4, !tbaa !9, !noalias !402
  %54 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %53, i32 4
  %55 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %54, align 4, !noalias !402
  %56 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %57 = load i32, i32* %56, align 4, !tbaa !391, !noalias !402
  %58 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %59 = load i32, i32* %58, align 4, !tbaa !390, !noalias !402
  tail call x86_thiscallcc void %55(%"class.parser::EventHandler"* %51, i32 12, i32 %59, i32 %57) #14, !noalias !402
  %60 = load i32, i32* %58, align 4, !tbaa !390, !noalias !402
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %60, i32* %61, align 4, !tbaa !395, !noalias !402
  %62 = load i32, i32* %56, align 4, !tbaa !391, !noalias !402
  store i32 %62, i32* %21, align 4, !tbaa !381, !noalias !402
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %64 = load i32, i32* %63, align 4, !tbaa !396, !noalias !402
  store i32 %64, i32* %24, align 4, !tbaa !383, !noalias !402
  %65 = icmp eq i32 %64, 0
  br i1 %65, label %66, label %68

; <label>:66:                                     ; preds = %50
  %67 = getelementptr inbounds [23 x i8], [23 x i8]* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %67)
  br label %77

; <label>:68:                                     ; preds = %50
  %69 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %70 = load i32, i32* %69, align 4, !tbaa !397, !noalias !402
  store i32 %70, i32* %58, align 4, !tbaa !390, !noalias !402
  %71 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %72 = load i32, i32* %71, align 4, !tbaa !398, !noalias !402
  store i32 %72, i32* %56, align 4, !tbaa !391, !noalias !402
  store i32 0, i32* %63, align 4, !tbaa !396, !noalias !402
  %73 = getelementptr inbounds [23 x i8], [23 x i8]* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %73)
  br label %98

; <label>:74:                                     ; preds = %47
  %75 = getelementptr inbounds [23 x i8], [23 x i8]* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %75)
  %76 = icmp eq i32 %48, 0
  br i1 %76, label %77, label %98

; <label>:77:                                     ; preds = %74, %66
  %78 = phi i8* [ %67, %66 ], [ %75, %74 ]
  %79 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %79) #14, !noalias !405
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %6, i32 12) #14, !noalias !405
  %80 = load i8, i8* %79, align 4, !tbaa !387, !range !382, !noalias !405
  %81 = icmp eq i8 %80, 0
  %82 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %6, i32 0, i32 1
  br i1 %81, label %92, label %83

; <label>:83:                                     ; preds = %77
  %84 = getelementptr inbounds %union.anon, %union.anon* %82, i32 0, i32 0, i32 0
  %85 = load i32, i32* %84, align 4, !tbaa !12, !noalias !405
  store i32 %85, i32* %24, align 4, !tbaa !383, !noalias !405
  %86 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %87 = load i32, i32* %86, align 4, !tbaa !389, !noalias !405
  %88 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %87, i32* %88, align 4, !tbaa !390, !noalias !405
  %89 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %90 = load i32, i32* %89, align 4, !tbaa !380, !noalias !405
  %91 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %90, i32* %91, align 4, !tbaa !391, !noalias !405
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %79) #14, !noalias !405
  br label %98

; <label>:92:                                     ; preds = %77
  %93 = bitcast %union.anon* %82 to i8*
  %94 = getelementptr inbounds [23 x i8], [23 x i8]* %10, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %94, i8* %93, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %79) #14, !noalias !405
  %95 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %95, align 4, !tbaa !372
  %96 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %97 = bitcast %"struct.parser::ParseException"* %96 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %97, i8* %94, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* %78)
  br label %238

; <label>:98:                                     ; preds = %83, %74, %68
  %99 = phi i8* [ %75, %74 ], [ %78, %83 ], [ %73, %68 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* %99)
  %100 = load i32, i32* %24, align 4, !tbaa !383
  switch i32 %100, label %101 [
    i32 1, label %230
    i32 14, label %230
    i32 18, label %230
    i32 20, label %230
    i32 22, label %230
  ]

; <label>:101:                                    ; preds = %98
  %102 = getelementptr inbounds [23 x i8], [23 x i8]* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %102)
  %103 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379, !noalias !408
  %104 = bitcast %"class.parser::EventHandler"* %103 to void (%"class.parser::EventHandler"*, i32, i32)***
  %105 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %104, align 4, !tbaa !9, !noalias !408
  %106 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %105, i32 2
  %107 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %106, align 4, !noalias !408
  %108 = load i32, i32* %21, align 4, !tbaa !381, !noalias !408
  tail call x86_thiscallcc void %107(%"class.parser::EventHandler"* %103, i32 2, i32 %108) #14, !noalias !408
  %109 = load i32, i32* %24, align 4, !tbaa !383, !noalias !408
  switch i32 %109, label %119 [
    i32 3, label %110
    i32 4, label %110
    i32 5, label %110
    i32 9, label %110
    i32 10, label %110
    i32 11, label %110
  ]

; <label>:110:                                    ; preds = %101, %101, %101, %101, %101, %101
  %111 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %111) #14, !noalias !408
  call x86_thiscallcc void @"\01?parse_WSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %3) #14, !noalias !408
  %112 = load i8, i8* %111, align 4, !tbaa !372, !range !382, !noalias !408
  %113 = icmp eq i8 %112, 0
  br i1 %113, label %114, label %118

; <label>:114:                                    ; preds = %110
  %115 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %3, i32 0, i32 1
  %116 = bitcast %"struct.parser::ParseException"* %115 to i8*
  %117 = getelementptr inbounds [23 x i8], [23 x i8]* %11, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %117, i8* %116, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %111) #14, !noalias !408
  br label %128

; <label>:118:                                    ; preds = %110
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %111) #14, !noalias !408
  br label %133

; <label>:119:                                    ; preds = %101
  %120 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %120) #14, !noalias !408
  call x86_thiscallcc void @"\01?parse_NonWSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %4) #14, !noalias !408
  %121 = load i8, i8* %120, align 4, !tbaa !372, !range !382, !noalias !408
  %122 = icmp eq i8 %121, 0
  br i1 %122, label %123, label %127

; <label>:123:                                    ; preds = %119
  %124 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %125 = bitcast %"struct.parser::ParseException"* %124 to i8*
  %126 = getelementptr inbounds [23 x i8], [23 x i8]* %11, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %126, i8* %125, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %120) #14, !noalias !408
  br label %128

; <label>:127:                                    ; preds = %119
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %120) #14, !noalias !408
  br label %133

; <label>:128:                                    ; preds = %123, %114
  %129 = phi i8* [ %126, %123 ], [ %117, %114 ]
  %130 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %130, align 4, !tbaa !372
  %131 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %132 = bitcast %"struct.parser::ParseException"* %131 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %132, i8* %129, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %102)
  br label %238

; <label>:133:                                    ; preds = %127, %118
  %134 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379, !noalias !408
  %135 = bitcast %"class.parser::EventHandler"* %134 to void (%"class.parser::EventHandler"*, i32, i32)***
  %136 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %135, align 4, !tbaa !9, !noalias !408
  %137 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %136, i32 3
  %138 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %137, align 4, !noalias !408
  %139 = load i32, i32* %21, align 4, !tbaa !381, !noalias !408
  tail call x86_thiscallcc void %138(%"class.parser::EventHandler"* %134, i32 2, i32 %139) #14, !noalias !408
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %102)
  %140 = getelementptr inbounds [23 x i8], [23 x i8]* %12, i32 0, i32 0
  %141 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %7, i32 0, i32 0
  %142 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %7, i32 0, i32 1
  %143 = getelementptr inbounds %union.anon, %union.anon* %142, i32 0, i32 0, i32 0
  %144 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %145 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %146 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %147 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %148 = getelementptr inbounds [23 x i8], [23 x i8]* %13, i32 0, i32 0
  %149 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %150 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %8, i32 0, i32 0
  %151 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %8, i32 0, i32 1
  %152 = getelementptr inbounds %union.anon, %union.anon* %151, i32 0, i32 0, i32 0
  %153 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %154 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %155 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  %156 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %14, i32 0, i32 0
  br label %157

; <label>:157:                                    ; preds = %211, %133
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %140)
  %158 = load i32, i32* %24, align 4, !tbaa !383
  %159 = icmp eq i32 %158, 0
  br i1 %159, label %160, label %173

; <label>:160:                                    ; preds = %157
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %141) #14, !noalias !411
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %7, i32 9) #14, !noalias !411
  %161 = load i8, i8* %141, align 4, !tbaa !387, !range !382, !noalias !411
  %162 = icmp eq i8 %161, 0
  br i1 %162, label %167, label %163

; <label>:163:                                    ; preds = %160
  %164 = load i32, i32* %143, align 4, !tbaa !12, !noalias !411
  store i32 %164, i32* %24, align 4, !tbaa !383, !noalias !411
  %165 = load i32, i32* %144, align 4, !tbaa !389, !noalias !411
  store i32 %165, i32* %145, align 4, !tbaa !390, !noalias !411
  %166 = load i32, i32* %146, align 4, !tbaa !380, !noalias !411
  store i32 %166, i32* %147, align 4, !tbaa !391, !noalias !411
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %141) #14, !noalias !411
  br label %173

; <label>:167:                                    ; preds = %160
  %168 = bitcast %union.anon* %142 to i8*
  %169 = getelementptr inbounds [23 x i8], [23 x i8]* %12, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %169, i8* %168, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %141) #14, !noalias !411
  %170 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %170, align 4, !tbaa !372
  %171 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %172 = bitcast %"struct.parser::ParseException"* %171 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %172, i8* %169, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %140)
  br label %238

; <label>:173:                                    ; preds = %163, %157
  %174 = phi i32 [ %164, %163 ], [ %158, %157 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %140)
  %175 = icmp eq i32 %174, 12
  br i1 %175, label %176, label %198

; <label>:176:                                    ; preds = %173
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %148)
  %177 = load i32, i32* %149, align 4, !tbaa !396, !noalias !414
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %193

; <label>:179:                                    ; preds = %176
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %150) #14, !noalias !414
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %8, i32 12) #14, !noalias !414
  %180 = load i8, i8* %150, align 4, !tbaa !387, !range !382, !noalias !414
  %181 = icmp eq i8 %180, 0
  br i1 %181, label %187, label %182

; <label>:182:                                    ; preds = %179
  %183 = load i32, i32* %152, align 4, !tbaa !12, !noalias !414
  store i32 %183, i32* %149, align 4, !tbaa !396, !noalias !414
  %184 = load i32, i32* %144, align 4, !tbaa !389, !noalias !414
  store i32 %184, i32* %153, align 4, !tbaa !397, !noalias !414
  %185 = load i32, i32* %146, align 4, !tbaa !380, !noalias !414
  store i32 %185, i32* %154, align 4, !tbaa !398, !noalias !414
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %150) #14, !noalias !414
  %186 = load i32, i32* %24, align 4, !tbaa !383, !noalias !414
  br label %193

; <label>:187:                                    ; preds = %179
  %188 = bitcast %union.anon* %151 to i8*
  %189 = getelementptr inbounds [23 x i8], [23 x i8]* %13, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %189, i8* %188, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %150) #14, !noalias !414
  %190 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %190, align 4, !tbaa !372
  %191 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %192 = bitcast %"struct.parser::ParseException"* %191 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %192, i8* %189, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %148)
  br label %238

; <label>:193:                                    ; preds = %182, %176
  %194 = phi i32 [ %186, %182 ], [ 12, %176 ]
  %195 = phi i32 [ %183, %182 ], [ %177, %176 ]
  %196 = shl i32 %195, 5
  %197 = or i32 %196, %194
  store i32 %197, i32* %155, align 4, !tbaa !417, !noalias !414
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %148)
  br label %199

; <label>:198:                                    ; preds = %173
  store i32 %174, i32* %155, align 4, !tbaa !417
  br label %199

; <label>:199:                                    ; preds = %198, %193
  %200 = phi i32 [ %194, %193 ], [ %174, %198 ]
  %201 = phi i32 [ %197, %193 ], [ %174, %198 ]
  switch i32 %201, label %202 [
    i32 1, label %212
    i32 14, label %212
    i32 18, label %212
    i32 20, label %212
    i32 22, label %212
    i32 44, label %212
    i32 460, label %212
    i32 588, label %212
    i32 652, label %212
    i32 716, label %212
  ]

; <label>:202:                                    ; preds = %199
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %156) #14
  call x86_thiscallcc void @"\01?parse_ExpressionWithLeadingWS@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %14)
  %203 = load i8, i8* %156, align 4, !tbaa !372, !range !382
  %204 = icmp eq i8 %203, 0
  br i1 %204, label %205, label %211

; <label>:205:                                    ; preds = %202
  %206 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %14, i32 0, i32 1
  %207 = bitcast %"struct.parser::ParseException"* %206 to i8*
  %208 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %208, align 4, !tbaa !372
  %209 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %210 = bitcast %"struct.parser::ParseException"* %209 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %210, i8* %207, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %156) #14
  br label %238

; <label>:211:                                    ; preds = %202
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %156) #14
  br label %157

; <label>:212:                                    ; preds = %199, %199, %199, %199, %199, %199, %199, %199, %199, %199
  %213 = icmp eq i32 %200, 12
  br i1 %213, label %214, label %230

; <label>:214:                                    ; preds = %212
  %215 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379, !noalias !418
  %216 = bitcast %"class.parser::EventHandler"* %215 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %217 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %216, align 4, !tbaa !9, !noalias !418
  %218 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %217, i32 4
  %219 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %218, align 4, !noalias !418
  %220 = load i32, i32* %147, align 4, !tbaa !391, !noalias !418
  %221 = load i32, i32* %145, align 4, !tbaa !390, !noalias !418
  tail call x86_thiscallcc void %219(%"class.parser::EventHandler"* %215, i32 12, i32 %221, i32 %220) #14, !noalias !418
  %222 = load i32, i32* %145, align 4, !tbaa !390, !noalias !418
  %223 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %222, i32* %223, align 4, !tbaa !395, !noalias !418
  %224 = load i32, i32* %147, align 4, !tbaa !391, !noalias !418
  store i32 %224, i32* %21, align 4, !tbaa !381, !noalias !418
  %225 = load i32, i32* %149, align 4, !tbaa !396, !noalias !418
  store i32 %225, i32* %24, align 4, !tbaa !383, !noalias !418
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %230, label %227

; <label>:227:                                    ; preds = %214
  %228 = load i32, i32* %153, align 4, !tbaa !397, !noalias !418
  store i32 %228, i32* %145, align 4, !tbaa !390, !noalias !418
  %229 = load i32, i32* %154, align 4, !tbaa !398, !noalias !418
  store i32 %229, i32* %147, align 4, !tbaa !391, !noalias !418
  store i32 0, i32* %149, align 4, !tbaa !396, !noalias !418
  br label %230

; <label>:230:                                    ; preds = %227, %214, %212, %98, %98, %98, %98, %98
  %231 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %15, align 4, !tbaa !379
  %232 = bitcast %"class.parser::EventHandler"* %231 to void (%"class.parser::EventHandler"*, i32, i32)***
  %233 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %232, align 4, !tbaa !9
  %234 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %233, i32 3
  %235 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %234, align 4
  %236 = load i32, i32* %21, align 4, !tbaa !381
  tail call x86_thiscallcc void %235(%"class.parser::EventHandler"* %231, i32 1, i32 %236) #14
  %237 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %237, align 4, !tbaa !372
  br label %238

; <label>:238:                                    ; preds = %230, %205, %187, %167, %128, %92, %41
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nocapture, %"struct.parser::Expected.6"* noalias nocapture sret, i32) local_unnamed_addr #2 align 2 {
  %4 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %5 = load i32, i32* %4, align 4, !tbaa !380
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  store i32 %5, i32* %6, align 4, !tbaa !389
  %7 = getelementptr inbounds [14 x i32], [14 x i32]* @"\01?INITIAL@Parser@parser@@0QBHB", i32 0, i32 %2
  %8 = load i32, i32* %7, align 4, !tbaa !24
  %9 = and i32 %8, 63
  %10 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  %11 = load i16*, i16** %10, align 4, !tbaa !377
  br label %15

; <label>:12:                                     ; preds = %104
  %13 = ashr i32 %106, 6
  %14 = icmp eq i32 %13, 0
  br i1 %14, label %108, label %126

; <label>:15:                                     ; preds = %104, %3
  %16 = phi i32 [ %5, %3 ], [ %90, %104 ]
  %17 = phi i32 [ %8, %3 ], [ %106, %104 ]
  %18 = phi i32 [ %9, %3 ], [ %105, %104 ]
  %19 = getelementptr inbounds i16, i16* %11, i32 %16
  %20 = load i16, i16* %19, align 2, !tbaa !56
  %21 = zext i16 %20 to i32
  %22 = add nsw i32 %16, 1
  %23 = icmp ult i16 %20, 128
  br i1 %23, label %24, label %26

; <label>:24:                                     ; preds = %15
  %25 = getelementptr inbounds [128 x i32], [128 x i32]* @"\01?MAP0@Parser@parser@@0QBHB", i32 0, i32 %21
  br label %84

; <label>:26:                                     ; preds = %15
  %27 = icmp ult i16 %20, -10240
  br i1 %27, label %28, label %40

; <label>:28:                                     ; preds = %26
  %29 = lshr i32 %21, 5
  %30 = and i32 %21, 31
  %31 = and i32 %29, 31
  %32 = lshr i32 %21, 10
  %33 = getelementptr inbounds [245 x i32], [245 x i32]* @"\01?MAP1@Parser@parser@@0QBHB", i32 0, i32 %32
  %34 = load i32, i32* %33, align 4, !tbaa !24
  %35 = add nsw i32 %34, %31
  %36 = getelementptr inbounds [245 x i32], [245 x i32]* @"\01?MAP1@Parser@parser@@0QBHB", i32 0, i32 %35
  %37 = load i32, i32* %36, align 4, !tbaa !24
  %38 = add nsw i32 %37, %30
  %39 = getelementptr inbounds [245 x i32], [245 x i32]* @"\01?MAP1@Parser@parser@@0QBHB", i32 0, i32 %38
  br label %84

; <label>:40:                                     ; preds = %26
  %41 = icmp ult i16 %20, -9216
  br i1 %41, label %42, label %55

; <label>:42:                                     ; preds = %40
  %43 = getelementptr inbounds i16, i16* %11, i32 %22
  %44 = load i16, i16* %43, align 2, !tbaa !56
  %45 = and i16 %44, -1024
  %46 = icmp eq i16 %45, -9216
  br i1 %46, label %47, label %55

; <label>:47:                                     ; preds = %42
  %48 = add nsw i32 %16, 2
  %49 = shl nuw nsw i32 %21, 10
  %50 = and i32 %49, 1047552
  %51 = and i16 %44, 1023
  %52 = zext i16 %51 to i32
  %53 = or i32 %50, %52
  %54 = add nuw nsw i32 %53, 65536
  br label %55

; <label>:55:                                     ; preds = %47, %42, %40
  %56 = phi i32 [ %21, %40 ], [ %54, %47 ], [ %21, %42 ]
  %57 = phi i32 [ %22, %40 ], [ %48, %47 ], [ %22, %42 ]
  br label %58

; <label>:58:                                     ; preds = %81, %55
  %59 = phi i32 [ 0, %55 ], [ %78, %81 ]
  %60 = phi i32 [ 1, %55 ], [ %79, %81 ]
  %61 = phi i32 [ 1, %55 ], [ %83, %81 ]
  %62 = getelementptr inbounds [6 x i32], [6 x i32]* @"\01?MAP2@Parser@parser@@0QBHB", i32 0, i32 %61
  %63 = load i32, i32* %62, align 4, !tbaa !24
  %64 = icmp sgt i32 %63, %56
  br i1 %64, label %65, label %67

; <label>:65:                                     ; preds = %58
  %66 = add nsw i32 %61, -1
  br label %77

; <label>:67:                                     ; preds = %58
  %68 = add nsw i32 %61, 2
  %69 = getelementptr inbounds [6 x i32], [6 x i32]* @"\01?MAP2@Parser@parser@@0QBHB", i32 0, i32 %68
  %70 = load i32, i32* %69, align 4, !tbaa !24
  %71 = icmp slt i32 %70, %56
  br i1 %71, label %72, label %74

; <label>:72:                                     ; preds = %67
  %73 = add nsw i32 %61, 1
  br label %77

; <label>:74:                                     ; preds = %67
  %75 = add nsw i32 %61, 4
  %76 = getelementptr inbounds [6 x i32], [6 x i32]* @"\01?MAP2@Parser@parser@@0QBHB", i32 0, i32 %75
  br label %84

; <label>:77:                                     ; preds = %72, %65
  %78 = phi i32 [ %59, %65 ], [ %73, %72 ]
  %79 = phi i32 [ %66, %65 ], [ %60, %72 ]
  %80 = icmp sgt i32 %78, %79
  br i1 %80, label %88, label %81

; <label>:81:                                     ; preds = %77
  %82 = add nsw i32 %79, %78
  %83 = ashr i32 %82, 1
  br label %58

; <label>:84:                                     ; preds = %74, %28, %24
  %85 = phi i32* [ %76, %74 ], [ %39, %28 ], [ %25, %24 ]
  %86 = phi i32 [ %57, %74 ], [ %22, %28 ], [ %22, %24 ]
  %87 = load i32, i32* %85, align 4, !tbaa !24
  br label %88

; <label>:88:                                     ; preds = %84, %77
  %89 = phi i32 [ %87, %84 ], [ 0, %77 ]
  %90 = phi i32 [ %86, %84 ], [ %57, %77 ]
  %91 = shl i32 %89, 6
  %92 = add i32 %18, -1
  %93 = add i32 %92, %91
  %94 = and i32 %93, 7
  %95 = ashr i32 %93, 3
  %96 = getelementptr inbounds [814 x i32], [814 x i32]* @"\01?TRANSITION@Parser@parser@@0QBHB", i32 0, i32 %95
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = add nsw i32 %94, %97
  %99 = getelementptr inbounds [814 x i32], [814 x i32]* @"\01?TRANSITION@Parser@parser@@0QBHB", i32 0, i32 %98
  %100 = load i32, i32* %99, align 4, !tbaa !24
  %101 = icmp sgt i32 %100, 63
  br i1 %101, label %102, label %104

; <label>:102:                                    ; preds = %88
  %103 = and i32 %100, 63
  store i32 %90, i32* %4, align 4, !tbaa !380
  br label %104

; <label>:104:                                    ; preds = %102, %88
  %105 = phi i32 [ %103, %102 ], [ %100, %88 ]
  %106 = phi i32 [ %100, %102 ], [ %17, %88 ]
  %107 = icmp eq i32 %105, 0
  br i1 %107, label %12, label %15

; <label>:108:                                    ; preds = %12
  %109 = add nsw i32 %90, -1
  store i32 %109, i32* %4, align 4, !tbaa !380
  %110 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  %111 = load i16*, i16** %110, align 4, !tbaa !377
  %112 = getelementptr inbounds i16, i16* %111, i32 %109
  %113 = load i16, i16* %112, align 2, !tbaa !56
  %114 = and i16 %113, -1024
  %115 = icmp eq i16 %114, -9216
  br i1 %115, label %116, label %118

; <label>:116:                                    ; preds = %108
  %117 = add nsw i32 %90, -2
  store i32 %117, i32* %4, align 4, !tbaa !380
  br label %118

; <label>:118:                                    ; preds = %116, %108
  %119 = phi i32 [ %117, %116 ], [ %109, %108 ]
  %120 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 0
  store i8 0, i8* %120, align 4, !tbaa !387
  %121 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 0
  store i32 %5, i32* %121, align 4
  %122 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 1
  store i32 %119, i32* %122, align 4
  %123 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 2
  store i32 %18, i32* %123, align 4
  %124 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 3
  store i32 -1, i32* %124, align 4
  %125 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 4
  store i32 -1, i32* %125, align 4
  br label %138

; <label>:126:                                    ; preds = %12
  %127 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  %128 = load i16*, i16** %127, align 4, !tbaa !377
  %129 = getelementptr inbounds i16, i16* %128, i32 %5
  %130 = load i16, i16* %129, align 2, !tbaa !56
  %131 = icmp eq i16 %130, 0
  br i1 %131, label %132, label %133

; <label>:132:                                    ; preds = %126
  store i32 %5, i32* %4, align 4, !tbaa !380
  br label %133

; <label>:133:                                    ; preds = %132, %126
  %134 = and i32 %13, 31
  %135 = add nsw i32 %134, -1
  %136 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 0
  store i8 1, i8* %136, align 4, !tbaa !387
  %137 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %1, i32 0, i32 1, i32 0, i32 0
  store i32 %135, i32* %137, align 4, !tbaa !12
  br label %138

; <label>:138:                                    ; preds = %133, %118
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_WSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected.6", align 4
  %5 = alloca [23 x i8], align 1
  %6 = alloca [23 x i8], align 1
  %7 = alloca %"struct.parser::Expected", align 4
  %8 = alloca %"struct.parser::Expected", align 4
  %9 = alloca %"struct.parser::Expected", align 4
  %10 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %11 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %10, align 4, !tbaa !379
  %12 = bitcast %"class.parser::EventHandler"* %11 to void (%"class.parser::EventHandler"*, i32, i32)***
  %13 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %12, align 4, !tbaa !9
  %14 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %13, i32 2
  %15 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %14, align 4
  %16 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %17 = load i32, i32* %16, align 4, !tbaa !381
  tail call x86_thiscallcc void %15(%"class.parser::EventHandler"* %11, i32 4, i32 %17) #14
  %18 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %18)
  %19 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %20 = load i32, i32* %19, align 4, !tbaa !383
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %22, label %42

; <label>:22:                                     ; preds = %2
  %23 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %23) #14, !noalias !421
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %4, i32 7) #14, !noalias !421
  %24 = load i8, i8* %23, align 4, !tbaa !387, !range !382, !noalias !421
  %25 = icmp eq i8 %24, 0
  %26 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 1
  br i1 %25, label %36, label %27

; <label>:27:                                     ; preds = %22
  %28 = getelementptr inbounds %union.anon, %union.anon* %26, i32 0, i32 0, i32 0
  %29 = load i32, i32* %28, align 4, !tbaa !12
  store i32 %29, i32* %19, align 4, !tbaa !383, !noalias !421
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %31 = load i32, i32* %30, align 4, !tbaa !389, !noalias !421
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %31, i32* %32, align 4, !tbaa !390, !noalias !421
  %33 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %34 = load i32, i32* %33, align 4, !tbaa !380, !noalias !421
  %35 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %34, i32* %35, align 4, !tbaa !391, !noalias !421
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %23) #14, !noalias !421
  br label %42

; <label>:36:                                     ; preds = %22
  %37 = bitcast %union.anon* %26 to i8*
  %38 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %38, i8* %37, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %23) #14, !noalias !421
  %39 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %39, align 4, !tbaa !372
  %40 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %41 = bitcast %"struct.parser::ParseException"* %40 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %41, i8* %38, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %18)
  br label %225

; <label>:42:                                     ; preds = %27, %2
  %43 = phi i32 [ %29, %27 ], [ %20, %2 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %18)
  %44 = icmp eq i32 %43, 3
  br i1 %44, label %45, label %77

; <label>:45:                                     ; preds = %42
  %46 = getelementptr inbounds [23 x i8], [23 x i8]* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %46)
  %47 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %48 = load i32, i32* %47, align 4, !tbaa !396, !noalias !424
  %49 = icmp eq i32 %48, 0
  br i1 %49, label %50, label %71

; <label>:50:                                     ; preds = %45
  %51 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %51) #14, !noalias !424
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 11) #14, !noalias !424
  %52 = load i8, i8* %51, align 4, !tbaa !387, !range !382, !noalias !424
  %53 = icmp eq i8 %52, 0
  %54 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %53, label %65, label %55

; <label>:55:                                     ; preds = %50
  %56 = getelementptr inbounds %union.anon, %union.anon* %54, i32 0, i32 0, i32 0
  %57 = load i32, i32* %56, align 4, !tbaa !12, !noalias !424
  store i32 %57, i32* %47, align 4, !tbaa !396, !noalias !424
  %58 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %59 = load i32, i32* %58, align 4, !tbaa !389, !noalias !424
  %60 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  store i32 %59, i32* %60, align 4, !tbaa !397, !noalias !424
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %62 = load i32, i32* %61, align 4, !tbaa !380, !noalias !424
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  store i32 %62, i32* %63, align 4, !tbaa !398, !noalias !424
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %51) #14, !noalias !424
  %64 = load i32, i32* %19, align 4, !tbaa !383, !noalias !424
  br label %71

; <label>:65:                                     ; preds = %50
  %66 = bitcast %union.anon* %54 to i8*
  %67 = getelementptr inbounds [23 x i8], [23 x i8]* %6, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %67, i8* %66, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %51) #14, !noalias !424
  %68 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %68, align 4, !tbaa !372
  %69 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %70 = bitcast %"struct.parser::ParseException"* %69 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %70, i8* %67, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %46)
  br label %225

; <label>:71:                                     ; preds = %55, %45
  %72 = phi i32 [ %64, %55 ], [ 3, %45 ]
  %73 = phi i32 [ %57, %55 ], [ %48, %45 ]
  %74 = shl i32 %73, 5
  %75 = or i32 %74, %72
  %76 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  store i32 %75, i32* %76, align 4, !tbaa !417, !noalias !424
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %46)
  br label %79

; <label>:77:                                     ; preds = %42
  %78 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  store i32 %43, i32* %78, align 4, !tbaa !417
  br label %79

; <label>:79:                                     ; preds = %77, %71
  %80 = phi i32 [ %72, %71 ], [ %43, %77 ]
  %81 = phi i32 [ %75, %71 ], [ %43, %77 ]
  switch i32 %81, label %206 [
    i32 11, label %82
    i32 10, label %116
    i32 9, label %150
    i32 515, label %184
    i32 547, label %195
  ]

; <label>:82:                                     ; preds = %79
  %83 = icmp eq i32 %80, 11
  br i1 %83, label %84, label %105

; <label>:84:                                     ; preds = %82
  %85 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %10, align 4, !tbaa !379, !noalias !427
  %86 = bitcast %"class.parser::EventHandler"* %85 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %87 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %86, align 4, !tbaa !9, !noalias !427
  %88 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %87, i32 4
  %89 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %88, align 4, !noalias !427
  %90 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %91 = load i32, i32* %90, align 4, !tbaa !391, !noalias !427
  %92 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %93 = load i32, i32* %92, align 4, !tbaa !390, !noalias !427
  tail call x86_thiscallcc void %89(%"class.parser::EventHandler"* %85, i32 11, i32 %93, i32 %91) #14, !noalias !427
  %94 = load i32, i32* %92, align 4, !tbaa !390, !noalias !427
  %95 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %94, i32* %95, align 4, !tbaa !395, !noalias !427
  %96 = load i32, i32* %90, align 4, !tbaa !391, !noalias !427
  store i32 %96, i32* %16, align 4, !tbaa !381, !noalias !427
  %97 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %98 = load i32, i32* %97, align 4, !tbaa !396, !noalias !427
  store i32 %98, i32* %19, align 4, !tbaa !383, !noalias !427
  %99 = icmp eq i32 %98, 0
  br i1 %99, label %217, label %100

; <label>:100:                                    ; preds = %84
  %101 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %102 = load i32, i32* %101, align 4, !tbaa !397, !noalias !427
  store i32 %102, i32* %92, align 4, !tbaa !390, !noalias !427
  %103 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %104 = load i32, i32* %103, align 4, !tbaa !398, !noalias !427
  store i32 %104, i32* %90, align 4, !tbaa !391, !noalias !427
  store i32 0, i32* %97, align 4, !tbaa !396, !noalias !427
  br label %217

; <label>:105:                                    ; preds = %82
  %106 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %107 = load i32, i32* %106, align 4, !tbaa !390, !noalias !427
  %108 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %109 = load i32, i32* %108, align 4, !tbaa !391, !noalias !427
  %110 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %110, align 4, !tbaa !372
  %111 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %107, i32* %111, align 4
  %112 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %109, i32* %112, align 4
  %113 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %113, align 4
  %114 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %80, i32* %114, align 4
  %115 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 11, i32* %115, align 4
  br label %225

; <label>:116:                                    ; preds = %79
  %117 = icmp eq i32 %80, 10
  br i1 %117, label %118, label %139

; <label>:118:                                    ; preds = %116
  %119 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %10, align 4, !tbaa !379, !noalias !430
  %120 = bitcast %"class.parser::EventHandler"* %119 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %121 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %120, align 4, !tbaa !9, !noalias !430
  %122 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %121, i32 4
  %123 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %122, align 4, !noalias !430
  %124 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %125 = load i32, i32* %124, align 4, !tbaa !391, !noalias !430
  %126 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %127 = load i32, i32* %126, align 4, !tbaa !390, !noalias !430
  tail call x86_thiscallcc void %123(%"class.parser::EventHandler"* %119, i32 10, i32 %127, i32 %125) #14, !noalias !430
  %128 = load i32, i32* %126, align 4, !tbaa !390, !noalias !430
  %129 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %128, i32* %129, align 4, !tbaa !395, !noalias !430
  %130 = load i32, i32* %124, align 4, !tbaa !391, !noalias !430
  store i32 %130, i32* %16, align 4, !tbaa !381, !noalias !430
  %131 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %132 = load i32, i32* %131, align 4, !tbaa !396, !noalias !430
  store i32 %132, i32* %19, align 4, !tbaa !383, !noalias !430
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %217, label %134

; <label>:134:                                    ; preds = %118
  %135 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %136 = load i32, i32* %135, align 4, !tbaa !397, !noalias !430
  store i32 %136, i32* %126, align 4, !tbaa !390, !noalias !430
  %137 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %138 = load i32, i32* %137, align 4, !tbaa !398, !noalias !430
  store i32 %138, i32* %124, align 4, !tbaa !391, !noalias !430
  store i32 0, i32* %131, align 4, !tbaa !396, !noalias !430
  br label %217

; <label>:139:                                    ; preds = %116
  %140 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %141 = load i32, i32* %140, align 4, !tbaa !390, !noalias !430
  %142 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %143 = load i32, i32* %142, align 4, !tbaa !391, !noalias !430
  %144 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %144, align 4, !tbaa !372
  %145 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %141, i32* %145, align 4
  %146 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %143, i32* %146, align 4
  %147 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %147, align 4
  %148 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %80, i32* %148, align 4
  %149 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 10, i32* %149, align 4
  br label %225

; <label>:150:                                    ; preds = %79
  %151 = icmp eq i32 %80, 9
  br i1 %151, label %152, label %173

; <label>:152:                                    ; preds = %150
  %153 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %10, align 4, !tbaa !379, !noalias !433
  %154 = bitcast %"class.parser::EventHandler"* %153 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %155 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %154, align 4, !tbaa !9, !noalias !433
  %156 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %155, i32 4
  %157 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %156, align 4, !noalias !433
  %158 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %159 = load i32, i32* %158, align 4, !tbaa !391, !noalias !433
  %160 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %161 = load i32, i32* %160, align 4, !tbaa !390, !noalias !433
  tail call x86_thiscallcc void %157(%"class.parser::EventHandler"* %153, i32 9, i32 %161, i32 %159) #14, !noalias !433
  %162 = load i32, i32* %160, align 4, !tbaa !390, !noalias !433
  %163 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %162, i32* %163, align 4, !tbaa !395, !noalias !433
  %164 = load i32, i32* %158, align 4, !tbaa !391, !noalias !433
  store i32 %164, i32* %16, align 4, !tbaa !381, !noalias !433
  %165 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %166 = load i32, i32* %165, align 4, !tbaa !396, !noalias !433
  store i32 %166, i32* %19, align 4, !tbaa !383, !noalias !433
  %167 = icmp eq i32 %166, 0
  br i1 %167, label %217, label %168

; <label>:168:                                    ; preds = %152
  %169 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %170 = load i32, i32* %169, align 4, !tbaa !397, !noalias !433
  store i32 %170, i32* %160, align 4, !tbaa !390, !noalias !433
  %171 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %172 = load i32, i32* %171, align 4, !tbaa !398, !noalias !433
  store i32 %172, i32* %158, align 4, !tbaa !391, !noalias !433
  store i32 0, i32* %165, align 4, !tbaa !396, !noalias !433
  br label %217

; <label>:173:                                    ; preds = %150
  %174 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %175 = load i32, i32* %174, align 4, !tbaa !390, !noalias !433
  %176 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %177 = load i32, i32* %176, align 4, !tbaa !391, !noalias !433
  %178 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %178, align 4, !tbaa !372
  %179 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %175, i32* %179, align 4
  %180 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %177, i32* %180, align 4
  %181 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %181, align 4
  %182 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %80, i32* %182, align 4
  %183 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 9, i32* %183, align 4
  br label %225

; <label>:184:                                    ; preds = %79
  %185 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %185) #14
  call x86_thiscallcc void @"\01?parse_Label@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %7)
  %186 = load i8, i8* %185, align 4, !tbaa !372, !range !382
  %187 = icmp eq i8 %186, 0
  br i1 %187, label %188, label %194

; <label>:188:                                    ; preds = %184
  %189 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 1
  %190 = bitcast %"struct.parser::ParseException"* %189 to i8*
  %191 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %191, align 4, !tbaa !372
  %192 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %193 = bitcast %"struct.parser::ParseException"* %192 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %193, i8* %190, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %185) #14
  br label %225

; <label>:194:                                    ; preds = %184
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %185) #14
  br label %217

; <label>:195:                                    ; preds = %79
  %196 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %196) #14
  call x86_thiscallcc void @"\01?parse_LabelReset@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %8)
  %197 = load i8, i8* %196, align 4, !tbaa !372, !range !382
  %198 = icmp eq i8 %197, 0
  br i1 %198, label %199, label %205

; <label>:199:                                    ; preds = %195
  %200 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %8, i32 0, i32 1
  %201 = bitcast %"struct.parser::ParseException"* %200 to i8*
  %202 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %202, align 4, !tbaa !372
  %203 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %204 = bitcast %"struct.parser::ParseException"* %203 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %204, i8* %201, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %196) #14
  br label %225

; <label>:205:                                    ; preds = %195
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %196) #14
  br label %217

; <label>:206:                                    ; preds = %79
  %207 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %207) #14
  call x86_thiscallcc void @"\01?parse_NameExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %9)
  %208 = load i8, i8* %207, align 4, !tbaa !372, !range !382
  %209 = icmp eq i8 %208, 0
  br i1 %209, label %210, label %216

; <label>:210:                                    ; preds = %206
  %211 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %9, i32 0, i32 1
  %212 = bitcast %"struct.parser::ParseException"* %211 to i8*
  %213 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %213, align 4, !tbaa !372
  %214 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %215 = bitcast %"struct.parser::ParseException"* %214 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %215, i8* %212, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %207) #14
  br label %225

; <label>:216:                                    ; preds = %206
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %207) #14
  br label %217

; <label>:217:                                    ; preds = %216, %205, %194, %168, %152, %134, %118, %100, %84
  %218 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %10, align 4, !tbaa !379
  %219 = bitcast %"class.parser::EventHandler"* %218 to void (%"class.parser::EventHandler"*, i32, i32)***
  %220 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %219, align 4, !tbaa !9
  %221 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %220, i32 3
  %222 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %221, align 4
  %223 = load i32, i32* %16, align 4, !tbaa !381
  tail call x86_thiscallcc void %222(%"class.parser::EventHandler"* %218, i32 4, i32 %223) #14
  %224 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %224, align 4, !tbaa !372
  br label %225

; <label>:225:                                    ; preds = %217, %210, %199, %188, %173, %139, %105, %65, %36
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_NonWSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca [23 x i8], align 1
  %5 = alloca %"struct.parser::Expected", align 4
  %6 = alloca %"struct.parser::Expected", align 4
  %7 = alloca %"struct.parser::Expected", align 4
  %8 = alloca %"struct.parser::Expected", align 4
  %9 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %10 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %9, align 4, !tbaa !379
  %11 = bitcast %"class.parser::EventHandler"* %10 to void (%"class.parser::EventHandler"*, i32, i32)***
  %12 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %11, align 4, !tbaa !9
  %13 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %12, i32 2
  %14 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %13, align 4
  %15 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %16 = load i32, i32* %15, align 4, !tbaa !381
  tail call x86_thiscallcc void %14(%"class.parser::EventHandler"* %10, i32 5, i32 %16) #14
  %17 = getelementptr inbounds [23 x i8], [23 x i8]* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %17)
  %18 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %19 = load i32, i32* %18, align 4, !tbaa !383
  %20 = icmp eq i32 %19, 0
  br i1 %20, label %21, label %41

; <label>:21:                                     ; preds = %2
  %22 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %22) #14, !noalias !436
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 8) #14, !noalias !436
  %23 = load i8, i8* %22, align 4, !tbaa !387, !range !382, !noalias !436
  %24 = icmp eq i8 %23, 0
  %25 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %24, label %35, label %26

; <label>:26:                                     ; preds = %21
  %27 = getelementptr inbounds %union.anon, %union.anon* %25, i32 0, i32 0, i32 0
  %28 = load i32, i32* %27, align 4, !tbaa !12
  store i32 %28, i32* %18, align 4, !tbaa !383, !noalias !436
  %29 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %30 = load i32, i32* %29, align 4, !tbaa !389, !noalias !436
  %31 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %30, i32* %31, align 4, !tbaa !390, !noalias !436
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %33 = load i32, i32* %32, align 4, !tbaa !380, !noalias !436
  %34 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %33, i32* %34, align 4, !tbaa !391, !noalias !436
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %22) #14, !noalias !436
  br label %41

; <label>:35:                                     ; preds = %21
  %36 = bitcast %union.anon* %25 to i8*
  %37 = getelementptr inbounds [23 x i8], [23 x i8]* %4, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %37, i8* %36, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %22) #14, !noalias !436
  %38 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %38, align 4, !tbaa !372
  %39 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %40 = bitcast %"struct.parser::ParseException"* %39 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %40, i8* %37, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %17)
  br label %137

; <label>:41:                                     ; preds = %26, %2
  %42 = phi i32 [ %28, %26 ], [ %19, %2 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %17)
  switch i32 %42, label %118 [
    i32 21, label %43
    i32 13, label %54
    i32 19, label %65
    i32 2, label %76
    i32 15, label %97
  ]

; <label>:43:                                     ; preds = %41
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %44) #14
  call x86_thiscallcc void @"\01?parse_Object@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %5)
  %45 = load i8, i8* %44, align 4, !tbaa !372, !range !382
  %46 = icmp eq i8 %45, 0
  br i1 %46, label %47, label %53

; <label>:47:                                     ; preds = %43
  %48 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %5, i32 0, i32 1
  %49 = bitcast %"struct.parser::ParseException"* %48 to i8*
  %50 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %50, align 4, !tbaa !372
  %51 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %52 = bitcast %"struct.parser::ParseException"* %51 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* %49, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %44) #14
  br label %137

; <label>:53:                                     ; preds = %43
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %44) #14
  br label %129

; <label>:54:                                     ; preds = %41
  %55 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %55) #14
  call x86_thiscallcc void @"\01?parse_List@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %6)
  %56 = load i8, i8* %55, align 4, !tbaa !372, !range !382
  %57 = icmp eq i8 %56, 0
  br i1 %57, label %58, label %64

; <label>:58:                                     ; preds = %54
  %59 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 1
  %60 = bitcast %"struct.parser::ParseException"* %59 to i8*
  %61 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %61, align 4, !tbaa !372
  %62 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %63 = bitcast %"struct.parser::ParseException"* %62 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %63, i8* %60, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %55) #14
  br label %137

; <label>:64:                                     ; preds = %54
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %55) #14
  br label %129

; <label>:65:                                     ; preds = %41
  %66 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %66) #14
  call x86_thiscallcc void @"\01?parse_Code@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %7)
  %67 = load i8, i8* %66, align 4, !tbaa !372, !range !382
  %68 = icmp eq i8 %67, 0
  br i1 %68, label %69, label %75

; <label>:69:                                     ; preds = %65
  %70 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 1
  %71 = bitcast %"struct.parser::ParseException"* %70 to i8*
  %72 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %72, align 4, !tbaa !372
  %73 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %74 = bitcast %"struct.parser::ParseException"* %73 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %74, i8* %71, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %66) #14
  br label %137

; <label>:75:                                     ; preds = %65
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %66) #14
  br label %129

; <label>:76:                                     ; preds = %41
  %77 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %9, align 4, !tbaa !379, !noalias !439
  %78 = bitcast %"class.parser::EventHandler"* %77 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %79 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %78, align 4, !tbaa !9, !noalias !439
  %80 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %79, i32 4
  %81 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %80, align 4, !noalias !439
  %82 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %83 = load i32, i32* %82, align 4, !tbaa !391, !noalias !439
  %84 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %85 = load i32, i32* %84, align 4, !tbaa !390, !noalias !439
  tail call x86_thiscallcc void %81(%"class.parser::EventHandler"* %77, i32 2, i32 %85, i32 %83) #14, !noalias !439
  %86 = load i32, i32* %84, align 4, !tbaa !390, !noalias !439
  %87 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %86, i32* %87, align 4, !tbaa !395, !noalias !439
  %88 = load i32, i32* %82, align 4, !tbaa !391, !noalias !439
  store i32 %88, i32* %15, align 4, !tbaa !381, !noalias !439
  %89 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %90 = load i32, i32* %89, align 4, !tbaa !396, !noalias !439
  store i32 %90, i32* %18, align 4, !tbaa !383, !noalias !439
  %91 = icmp eq i32 %90, 0
  br i1 %91, label %129, label %92

; <label>:92:                                     ; preds = %76
  %93 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %94 = load i32, i32* %93, align 4, !tbaa !397, !noalias !439
  store i32 %94, i32* %84, align 4, !tbaa !390, !noalias !439
  %95 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %96 = load i32, i32* %95, align 4, !tbaa !398, !noalias !439
  store i32 %96, i32* %82, align 4, !tbaa !391, !noalias !439
  store i32 0, i32* %89, align 4, !tbaa !396, !noalias !439
  br label %129

; <label>:97:                                     ; preds = %41
  %98 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %9, align 4, !tbaa !379, !noalias !442
  %99 = bitcast %"class.parser::EventHandler"* %98 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %100 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %99, align 4, !tbaa !9, !noalias !442
  %101 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %100, i32 4
  %102 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %101, align 4, !noalias !442
  %103 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %104 = load i32, i32* %103, align 4, !tbaa !391, !noalias !442
  %105 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %106 = load i32, i32* %105, align 4, !tbaa !390, !noalias !442
  tail call x86_thiscallcc void %102(%"class.parser::EventHandler"* %98, i32 15, i32 %106, i32 %104) #14, !noalias !442
  %107 = load i32, i32* %105, align 4, !tbaa !390, !noalias !442
  %108 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %107, i32* %108, align 4, !tbaa !395, !noalias !442
  %109 = load i32, i32* %103, align 4, !tbaa !391, !noalias !442
  store i32 %109, i32* %15, align 4, !tbaa !381, !noalias !442
  %110 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %111 = load i32, i32* %110, align 4, !tbaa !396, !noalias !442
  store i32 %111, i32* %18, align 4, !tbaa !383, !noalias !442
  %112 = icmp eq i32 %111, 0
  br i1 %112, label %129, label %113

; <label>:113:                                    ; preds = %97
  %114 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %115 = load i32, i32* %114, align 4, !tbaa !397, !noalias !442
  store i32 %115, i32* %105, align 4, !tbaa !390, !noalias !442
  %116 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %117 = load i32, i32* %116, align 4, !tbaa !398, !noalias !442
  store i32 %117, i32* %103, align 4, !tbaa !391, !noalias !442
  store i32 0, i32* %110, align 4, !tbaa !396, !noalias !442
  br label %129

; <label>:118:                                    ; preds = %41
  %119 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %119) #14
  call x86_thiscallcc void @"\01?parse_MemberNameExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %8)
  %120 = load i8, i8* %119, align 4, !tbaa !372, !range !382
  %121 = icmp eq i8 %120, 0
  br i1 %121, label %122, label %128

; <label>:122:                                    ; preds = %118
  %123 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %8, i32 0, i32 1
  %124 = bitcast %"struct.parser::ParseException"* %123 to i8*
  %125 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %125, align 4, !tbaa !372
  %126 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %127 = bitcast %"struct.parser::ParseException"* %126 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %127, i8* %124, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %119) #14
  br label %137

; <label>:128:                                    ; preds = %118
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %119) #14
  br label %129

; <label>:129:                                    ; preds = %128, %113, %97, %92, %76, %75, %64, %53
  %130 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %9, align 4, !tbaa !379
  %131 = bitcast %"class.parser::EventHandler"* %130 to void (%"class.parser::EventHandler"*, i32, i32)***
  %132 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %131, align 4, !tbaa !9
  %133 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %132, i32 3
  %134 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %133, align 4
  %135 = load i32, i32* %15, align 4, !tbaa !381
  tail call x86_thiscallcc void %134(%"class.parser::EventHandler"* %130, i32 5, i32 %135) #14
  %136 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %136, align 4, !tbaa !372
  br label %137

; <label>:137:                                    ; preds = %129, %122, %69, %58, %47, %35
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_ExpressionWithLeadingWS@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca [23 x i8], align 1
  %5 = alloca %"struct.parser::Expected", align 4
  %6 = alloca %"struct.parser::Expected", align 4
  %7 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %8 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %7, align 4, !tbaa !379
  %9 = bitcast %"class.parser::EventHandler"* %8 to void (%"class.parser::EventHandler"*, i32, i32)***
  %10 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %9, align 4, !tbaa !9
  %11 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %10, i32 2
  %12 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %11, align 4
  %13 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %14 = load i32, i32* %13, align 4, !tbaa !381
  tail call x86_thiscallcc void %12(%"class.parser::EventHandler"* %8, i32 3, i32 %14) #14
  %15 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %16 = load i32, i32* %15, align 4, !tbaa !383
  %17 = icmp eq i32 %16, 12
  br i1 %17, label %18, label %50

; <label>:18:                                     ; preds = %2
  %19 = getelementptr inbounds [23 x i8], [23 x i8]* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %19)
  %20 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %21 = load i32, i32* %20, align 4, !tbaa !396, !noalias !445
  %22 = icmp eq i32 %21, 0
  br i1 %22, label %23, label %44

; <label>:23:                                     ; preds = %18
  %24 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %24) #14, !noalias !445
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 10) #14, !noalias !445
  %25 = load i8, i8* %24, align 4, !tbaa !387, !range !382, !noalias !445
  %26 = icmp eq i8 %25, 0
  %27 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %26, label %38, label %28

; <label>:28:                                     ; preds = %23
  %29 = getelementptr inbounds %union.anon, %union.anon* %27, i32 0, i32 0, i32 0
  %30 = load i32, i32* %29, align 4, !tbaa !12, !noalias !445
  store i32 %30, i32* %20, align 4, !tbaa !396, !noalias !445
  %31 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %32 = load i32, i32* %31, align 4, !tbaa !389, !noalias !445
  %33 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  store i32 %32, i32* %33, align 4, !tbaa !397, !noalias !445
  %34 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %35 = load i32, i32* %34, align 4, !tbaa !380, !noalias !445
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  store i32 %35, i32* %36, align 4, !tbaa !398, !noalias !445
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %24) #14, !noalias !445
  %37 = load i32, i32* %15, align 4, !tbaa !383, !noalias !445
  br label %44

; <label>:38:                                     ; preds = %23
  %39 = bitcast %union.anon* %27 to i8*
  %40 = getelementptr inbounds [23 x i8], [23 x i8]* %4, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %40, i8* %39, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %24) #14, !noalias !445
  %41 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %41, align 4, !tbaa !372
  %42 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %43 = bitcast %"struct.parser::ParseException"* %42 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %43, i8* %40, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %19)
  br label %146

; <label>:44:                                     ; preds = %28, %18
  %45 = phi i32 [ %37, %28 ], [ 12, %18 ]
  %46 = phi i32 [ %30, %28 ], [ %21, %18 ]
  %47 = shl i32 %46, 5
  %48 = or i32 %47, %45
  %49 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  store i32 %48, i32* %49, align 4, !tbaa !417, !noalias !445
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %19)
  br label %52

; <label>:50:                                     ; preds = %2
  %51 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  store i32 %16, i32* %51, align 4, !tbaa !417
  br label %52

; <label>:52:                                     ; preds = %50, %44
  %53 = phi i32 [ %45, %44 ], [ %16, %50 ]
  %54 = phi i32 [ %48, %44 ], [ %16, %50 ]
  %55 = add i32 %54, -108
  %56 = lshr i32 %55, 5
  %57 = shl i32 %55, 27
  %58 = or i32 %56, %57
  switch i32 %58, label %104 [
    i32 0, label %59
    i32 1, label %59
    i32 2, label %59
    i32 6, label %59
    i32 7, label %59
    i32 8, label %59
  ]

; <label>:59:                                     ; preds = %52, %52, %52, %52, %52, %52
  %60 = icmp eq i32 %53, 12
  br i1 %60, label %61, label %82

; <label>:61:                                     ; preds = %59
  %62 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %7, align 4, !tbaa !379, !noalias !448
  %63 = bitcast %"class.parser::EventHandler"* %62 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %64 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %63, align 4, !tbaa !9, !noalias !448
  %65 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %64, i32 4
  %66 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %65, align 4, !noalias !448
  %67 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %68 = load i32, i32* %67, align 4, !tbaa !391, !noalias !448
  %69 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %70 = load i32, i32* %69, align 4, !tbaa !390, !noalias !448
  tail call x86_thiscallcc void %66(%"class.parser::EventHandler"* %62, i32 12, i32 %70, i32 %68) #14, !noalias !448
  %71 = load i32, i32* %69, align 4, !tbaa !390, !noalias !448
  %72 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %71, i32* %72, align 4, !tbaa !395, !noalias !448
  %73 = load i32, i32* %67, align 4, !tbaa !391, !noalias !448
  store i32 %73, i32* %13, align 4, !tbaa !381, !noalias !448
  %74 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %75 = load i32, i32* %74, align 4, !tbaa !396, !noalias !448
  store i32 %75, i32* %15, align 4, !tbaa !383, !noalias !448
  %76 = icmp eq i32 %75, 0
  br i1 %76, label %93, label %77

; <label>:77:                                     ; preds = %61
  %78 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %79 = load i32, i32* %78, align 4, !tbaa !397, !noalias !448
  store i32 %79, i32* %69, align 4, !tbaa !390, !noalias !448
  %80 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %81 = load i32, i32* %80, align 4, !tbaa !398, !noalias !448
  store i32 %81, i32* %67, align 4, !tbaa !391, !noalias !448
  store i32 0, i32* %74, align 4, !tbaa !396, !noalias !448
  br label %93

; <label>:82:                                     ; preds = %59
  %83 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %84 = load i32, i32* %83, align 4, !tbaa !390, !noalias !448
  %85 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %86 = load i32, i32* %85, align 4, !tbaa !391, !noalias !448
  %87 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %87, align 4, !tbaa !372
  %88 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %84, i32* %88, align 4
  %89 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %86, i32* %89, align 4
  %90 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %90, align 4
  %91 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %53, i32* %91, align 4
  %92 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 12, i32* %92, align 4
  br label %146

; <label>:93:                                     ; preds = %77, %61
  %94 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %94) #14
  call x86_thiscallcc void @"\01?parse_WSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %5)
  %95 = load i8, i8* %94, align 4, !tbaa !372, !range !382
  %96 = icmp eq i8 %95, 0
  br i1 %96, label %97, label %103

; <label>:97:                                     ; preds = %93
  %98 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %5, i32 0, i32 1
  %99 = bitcast %"struct.parser::ParseException"* %98 to i8*
  %100 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %100, align 4, !tbaa !372
  %101 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %102 = bitcast %"struct.parser::ParseException"* %101 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %102, i8* %99, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %94) #14
  br label %146

; <label>:103:                                    ; preds = %93
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %94) #14
  br label %138

; <label>:104:                                    ; preds = %52
  %105 = icmp eq i32 %53, 12
  br i1 %105, label %106, label %127

; <label>:106:                                    ; preds = %104
  %107 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %7, align 4, !tbaa !379, !noalias !451
  %108 = bitcast %"class.parser::EventHandler"* %107 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %109 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %108, align 4, !tbaa !9, !noalias !451
  %110 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %109, i32 4
  %111 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %110, align 4, !noalias !451
  %112 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %113 = load i32, i32* %112, align 4, !tbaa !391, !noalias !451
  %114 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %115 = load i32, i32* %114, align 4, !tbaa !390, !noalias !451
  tail call x86_thiscallcc void %111(%"class.parser::EventHandler"* %107, i32 12, i32 %115, i32 %113) #14, !noalias !451
  %116 = load i32, i32* %114, align 4, !tbaa !390, !noalias !451
  %117 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %116, i32* %117, align 4, !tbaa !395, !noalias !451
  %118 = load i32, i32* %112, align 4, !tbaa !391, !noalias !451
  store i32 %118, i32* %13, align 4, !tbaa !381, !noalias !451
  %119 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %120 = load i32, i32* %119, align 4, !tbaa !396, !noalias !451
  store i32 %120, i32* %15, align 4, !tbaa !383, !noalias !451
  %121 = icmp eq i32 %120, 0
  br i1 %121, label %127, label %122

; <label>:122:                                    ; preds = %106
  %123 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %124 = load i32, i32* %123, align 4, !tbaa !397, !noalias !451
  store i32 %124, i32* %114, align 4, !tbaa !390, !noalias !451
  %125 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %126 = load i32, i32* %125, align 4, !tbaa !398, !noalias !451
  store i32 %126, i32* %112, align 4, !tbaa !391, !noalias !451
  store i32 0, i32* %119, align 4, !tbaa !396, !noalias !451
  br label %127

; <label>:127:                                    ; preds = %122, %106, %104
  %128 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %128) #14
  call x86_thiscallcc void @"\01?parse_NonWSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %6)
  %129 = load i8, i8* %128, align 4, !tbaa !372, !range !382
  %130 = icmp eq i8 %129, 0
  br i1 %130, label %131, label %137

; <label>:131:                                    ; preds = %127
  %132 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 1
  %133 = bitcast %"struct.parser::ParseException"* %132 to i8*
  %134 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %134, align 4, !tbaa !372
  %135 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %136 = bitcast %"struct.parser::ParseException"* %135 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %136, i8* %133, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %128) #14
  br label %146

; <label>:137:                                    ; preds = %127
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %128) #14
  br label %138

; <label>:138:                                    ; preds = %137, %103
  %139 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %7, align 4, !tbaa !379
  %140 = bitcast %"class.parser::EventHandler"* %139 to void (%"class.parser::EventHandler"*, i32, i32)***
  %141 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %140, align 4, !tbaa !9
  %142 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %141, i32 3
  %143 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %142, align 4
  %144 = load i32, i32* %13, align 4, !tbaa !381
  tail call x86_thiscallcc void %143(%"class.parser::EventHandler"* %139, i32 3, i32 %144) #14
  %145 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %145, align 4, !tbaa !372
  br label %146

; <label>:146:                                    ; preds = %138, %131, %97, %82, %38
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_Object@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = alloca [23 x i8], align 1
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %7 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %8 = bitcast %"class.parser::EventHandler"* %7 to void (%"class.parser::EventHandler"*, i32, i32)***
  %9 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %8, align 4, !tbaa !9
  %10 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %9, i32 2
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %10, align 4
  %12 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %13 = load i32, i32* %12, align 4, !tbaa !381
  tail call x86_thiscallcc void %11(%"class.parser::EventHandler"* %7, i32 10, i32 %13) #14
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %15 = load i32, i32* %14, align 4, !tbaa !383, !noalias !454
  %16 = icmp eq i32 %15, 21
  br i1 %16, label %17, label %38

; <label>:17:                                     ; preds = %2
  %18 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !454
  %19 = bitcast %"class.parser::EventHandler"* %18 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %20 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %19, align 4, !tbaa !9, !noalias !454
  %21 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %20, i32 4
  %22 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %21, align 4, !noalias !454
  %23 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %24 = load i32, i32* %23, align 4, !tbaa !391, !noalias !454
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %26 = load i32, i32* %25, align 4, !tbaa !390, !noalias !454
  tail call x86_thiscallcc void %22(%"class.parser::EventHandler"* %18, i32 21, i32 %26, i32 %24) #14, !noalias !454
  %27 = load i32, i32* %25, align 4, !tbaa !390, !noalias !454
  %28 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %27, i32* %28, align 4, !tbaa !395, !noalias !454
  %29 = load i32, i32* %23, align 4, !tbaa !391, !noalias !454
  store i32 %29, i32* %12, align 4, !tbaa !381, !noalias !454
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %31 = load i32, i32* %30, align 4, !tbaa !396, !noalias !454
  store i32 %31, i32* %14, align 4, !tbaa !383, !noalias !454
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %49, label %33

; <label>:33:                                     ; preds = %17
  %34 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %35 = load i32, i32* %34, align 4, !tbaa !397, !noalias !454
  store i32 %35, i32* %25, align 4, !tbaa !390, !noalias !454
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %37 = load i32, i32* %36, align 4, !tbaa !398, !noalias !454
  store i32 %37, i32* %23, align 4, !tbaa !391, !noalias !454
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !454
  br label %49

; <label>:38:                                     ; preds = %2
  %39 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %40 = load i32, i32* %39, align 4, !tbaa !390, !noalias !454
  %41 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %42 = load i32, i32* %41, align 4, !tbaa !391, !noalias !454
  %43 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %43, align 4, !tbaa !372
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %40, i32* %44, align 4
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %42, i32* %45, align 4
  %46 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %46, align 4
  %47 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %15, i32* %47, align 4
  %48 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 21, i32* %48, align 4
  br label %117

; <label>:49:                                     ; preds = %33, %17
  %50 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %50) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %4)
  %51 = load i8, i8* %50, align 4, !tbaa !372, !range !382
  %52 = icmp eq i8 %51, 0
  br i1 %52, label %53, label %59

; <label>:53:                                     ; preds = %49
  %54 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %55 = bitcast %"struct.parser::ParseException"* %54 to i8*
  %56 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %56, align 4, !tbaa !372
  %57 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %58 = bitcast %"struct.parser::ParseException"* %57 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %58, i8* %55, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  br label %117

; <label>:59:                                     ; preds = %49
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  %60 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %60)
  %61 = load i32, i32* %14, align 4, !tbaa !383, !noalias !84
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %63, label %81

; <label>:63:                                     ; preds = %59
  %64 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %64) #14, !noalias !457
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 6) #14, !noalias !457
  %65 = load i8, i8* %64, align 4, !tbaa !387, !range !382, !noalias !457
  %66 = icmp eq i8 %65, 0
  %67 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %66, label %75, label %68

; <label>:68:                                     ; preds = %63
  %69 = getelementptr inbounds %union.anon, %union.anon* %67, i32 0, i32 0, i32 0
  %70 = load i32, i32* %69, align 4, !tbaa !12, !noalias !84
  store i32 %70, i32* %14, align 4, !tbaa !383, !noalias !457
  %71 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %72 = load i32, i32* %71, align 4, !tbaa !389, !noalias !457
  store i32 %72, i32* %25, align 4, !tbaa !390, !noalias !457
  %73 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %74 = load i32, i32* %73, align 4, !tbaa !380, !noalias !457
  store i32 %74, i32* %23, align 4, !tbaa !391, !noalias !457
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !457
  br label %81

; <label>:75:                                     ; preds = %63
  %76 = bitcast %union.anon* %67 to i8*
  %77 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %77, i8* %76, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !457
  %78 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %78, align 4, !tbaa !372
  %79 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %80 = bitcast %"struct.parser::ParseException"* %79 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* %77, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  br label %117

; <label>:81:                                     ; preds = %68, %59
  %82 = phi i32 [ %70, %68 ], [ %61, %59 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  %83 = icmp eq i32 %82, 22
  br i1 %83, label %84, label %101

; <label>:84:                                     ; preds = %81
  %85 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !460
  %86 = bitcast %"class.parser::EventHandler"* %85 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %87 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %86, align 4, !tbaa !9, !noalias !460
  %88 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %87, i32 4
  %89 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %88, align 4, !noalias !460
  %90 = load i32, i32* %23, align 4, !tbaa !391, !noalias !460
  %91 = load i32, i32* %25, align 4, !tbaa !390, !noalias !460
  tail call x86_thiscallcc void %89(%"class.parser::EventHandler"* %85, i32 22, i32 %91, i32 %90) #14, !noalias !460
  %92 = load i32, i32* %25, align 4, !tbaa !390, !noalias !460
  store i32 %92, i32* %28, align 4, !tbaa !395, !noalias !460
  %93 = load i32, i32* %23, align 4, !tbaa !391, !noalias !460
  store i32 %93, i32* %12, align 4, !tbaa !381, !noalias !460
  %94 = load i32, i32* %30, align 4, !tbaa !396, !noalias !460
  store i32 %94, i32* %14, align 4, !tbaa !383, !noalias !460
  %95 = icmp eq i32 %94, 0
  br i1 %95, label %110, label %96

; <label>:96:                                     ; preds = %84
  %97 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %98 = load i32, i32* %97, align 4, !tbaa !397, !noalias !460
  store i32 %98, i32* %25, align 4, !tbaa !390, !noalias !460
  %99 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %100 = load i32, i32* %99, align 4, !tbaa !398, !noalias !460
  store i32 %100, i32* %23, align 4, !tbaa !391, !noalias !460
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !460
  br label %110

; <label>:101:                                    ; preds = %81
  %102 = load i32, i32* %25, align 4, !tbaa !390, !noalias !460
  %103 = load i32, i32* %23, align 4, !tbaa !391, !noalias !460
  %104 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %104, align 4, !tbaa !372
  %105 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %102, i32* %105, align 4
  %106 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %103, i32* %106, align 4
  %107 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %107, align 4
  %108 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %82, i32* %108, align 4
  %109 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 22, i32* %109, align 4
  br label %117

; <label>:110:                                    ; preds = %96, %84
  %111 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %112 = bitcast %"class.parser::EventHandler"* %111 to void (%"class.parser::EventHandler"*, i32, i32)***
  %113 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %112, align 4, !tbaa !9
  %114 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %113, i32 3
  %115 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %114, align 4
  tail call x86_thiscallcc void %115(%"class.parser::EventHandler"* %111, i32 10, i32 %93) #14
  %116 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %116, align 4, !tbaa !372
  br label %117

; <label>:117:                                    ; preds = %110, %101, %75, %53, %38
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_List@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = alloca [23 x i8], align 1
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %7 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %8 = bitcast %"class.parser::EventHandler"* %7 to void (%"class.parser::EventHandler"*, i32, i32)***
  %9 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %8, align 4, !tbaa !9
  %10 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %9, i32 2
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %10, align 4
  %12 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %13 = load i32, i32* %12, align 4, !tbaa !381
  tail call x86_thiscallcc void %11(%"class.parser::EventHandler"* %7, i32 11, i32 %13) #14
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %15 = load i32, i32* %14, align 4, !tbaa !383, !noalias !463
  %16 = icmp eq i32 %15, 13
  br i1 %16, label %17, label %38

; <label>:17:                                     ; preds = %2
  %18 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !463
  %19 = bitcast %"class.parser::EventHandler"* %18 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %20 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %19, align 4, !tbaa !9, !noalias !463
  %21 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %20, i32 4
  %22 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %21, align 4, !noalias !463
  %23 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %24 = load i32, i32* %23, align 4, !tbaa !391, !noalias !463
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %26 = load i32, i32* %25, align 4, !tbaa !390, !noalias !463
  tail call x86_thiscallcc void %22(%"class.parser::EventHandler"* %18, i32 13, i32 %26, i32 %24) #14, !noalias !463
  %27 = load i32, i32* %25, align 4, !tbaa !390, !noalias !463
  %28 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %27, i32* %28, align 4, !tbaa !395, !noalias !463
  %29 = load i32, i32* %23, align 4, !tbaa !391, !noalias !463
  store i32 %29, i32* %12, align 4, !tbaa !381, !noalias !463
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %31 = load i32, i32* %30, align 4, !tbaa !396, !noalias !463
  store i32 %31, i32* %14, align 4, !tbaa !383, !noalias !463
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %49, label %33

; <label>:33:                                     ; preds = %17
  %34 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %35 = load i32, i32* %34, align 4, !tbaa !397, !noalias !463
  store i32 %35, i32* %25, align 4, !tbaa !390, !noalias !463
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %37 = load i32, i32* %36, align 4, !tbaa !398, !noalias !463
  store i32 %37, i32* %23, align 4, !tbaa !391, !noalias !463
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !463
  br label %49

; <label>:38:                                     ; preds = %2
  %39 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %40 = load i32, i32* %39, align 4, !tbaa !390, !noalias !463
  %41 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %42 = load i32, i32* %41, align 4, !tbaa !391, !noalias !463
  %43 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %43, align 4, !tbaa !372
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %40, i32* %44, align 4
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %42, i32* %45, align 4
  %46 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %46, align 4
  %47 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %15, i32* %47, align 4
  %48 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 13, i32* %48, align 4
  br label %117

; <label>:49:                                     ; preds = %33, %17
  %50 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %50) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %4)
  %51 = load i8, i8* %50, align 4, !tbaa !372, !range !382
  %52 = icmp eq i8 %51, 0
  br i1 %52, label %53, label %59

; <label>:53:                                     ; preds = %49
  %54 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %55 = bitcast %"struct.parser::ParseException"* %54 to i8*
  %56 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %56, align 4, !tbaa !372
  %57 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %58 = bitcast %"struct.parser::ParseException"* %57 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %58, i8* %55, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  br label %117

; <label>:59:                                     ; preds = %49
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  %60 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %60)
  %61 = load i32, i32* %14, align 4, !tbaa !383, !noalias !84
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %63, label %81

; <label>:63:                                     ; preds = %59
  %64 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %64) #14, !noalias !466
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 1) #14, !noalias !466
  %65 = load i8, i8* %64, align 4, !tbaa !387, !range !382, !noalias !466
  %66 = icmp eq i8 %65, 0
  %67 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %66, label %75, label %68

; <label>:68:                                     ; preds = %63
  %69 = getelementptr inbounds %union.anon, %union.anon* %67, i32 0, i32 0, i32 0
  %70 = load i32, i32* %69, align 4, !tbaa !12, !noalias !84
  store i32 %70, i32* %14, align 4, !tbaa !383, !noalias !466
  %71 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %72 = load i32, i32* %71, align 4, !tbaa !389, !noalias !466
  store i32 %72, i32* %25, align 4, !tbaa !390, !noalias !466
  %73 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %74 = load i32, i32* %73, align 4, !tbaa !380, !noalias !466
  store i32 %74, i32* %23, align 4, !tbaa !391, !noalias !466
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !466
  br label %81

; <label>:75:                                     ; preds = %63
  %76 = bitcast %union.anon* %67 to i8*
  %77 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %77, i8* %76, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !466
  %78 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %78, align 4, !tbaa !372
  %79 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %80 = bitcast %"struct.parser::ParseException"* %79 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* %77, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  br label %117

; <label>:81:                                     ; preds = %68, %59
  %82 = phi i32 [ %70, %68 ], [ %61, %59 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  %83 = icmp eq i32 %82, 14
  br i1 %83, label %84, label %101

; <label>:84:                                     ; preds = %81
  %85 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !469
  %86 = bitcast %"class.parser::EventHandler"* %85 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %87 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %86, align 4, !tbaa !9, !noalias !469
  %88 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %87, i32 4
  %89 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %88, align 4, !noalias !469
  %90 = load i32, i32* %23, align 4, !tbaa !391, !noalias !469
  %91 = load i32, i32* %25, align 4, !tbaa !390, !noalias !469
  tail call x86_thiscallcc void %89(%"class.parser::EventHandler"* %85, i32 14, i32 %91, i32 %90) #14, !noalias !469
  %92 = load i32, i32* %25, align 4, !tbaa !390, !noalias !469
  store i32 %92, i32* %28, align 4, !tbaa !395, !noalias !469
  %93 = load i32, i32* %23, align 4, !tbaa !391, !noalias !469
  store i32 %93, i32* %12, align 4, !tbaa !381, !noalias !469
  %94 = load i32, i32* %30, align 4, !tbaa !396, !noalias !469
  store i32 %94, i32* %14, align 4, !tbaa !383, !noalias !469
  %95 = icmp eq i32 %94, 0
  br i1 %95, label %110, label %96

; <label>:96:                                     ; preds = %84
  %97 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %98 = load i32, i32* %97, align 4, !tbaa !397, !noalias !469
  store i32 %98, i32* %25, align 4, !tbaa !390, !noalias !469
  %99 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %100 = load i32, i32* %99, align 4, !tbaa !398, !noalias !469
  store i32 %100, i32* %23, align 4, !tbaa !391, !noalias !469
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !469
  br label %110

; <label>:101:                                    ; preds = %81
  %102 = load i32, i32* %25, align 4, !tbaa !390, !noalias !469
  %103 = load i32, i32* %23, align 4, !tbaa !391, !noalias !469
  %104 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %104, align 4, !tbaa !372
  %105 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %102, i32* %105, align 4
  %106 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %103, i32* %106, align 4
  %107 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %107, align 4
  %108 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %82, i32* %108, align 4
  %109 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 14, i32* %109, align 4
  br label %117

; <label>:110:                                    ; preds = %96, %84
  %111 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %112 = bitcast %"class.parser::EventHandler"* %111 to void (%"class.parser::EventHandler"*, i32, i32)***
  %113 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %112, align 4, !tbaa !9
  %114 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %113, i32 3
  %115 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %114, align 4
  tail call x86_thiscallcc void %115(%"class.parser::EventHandler"* %111, i32 11, i32 %93) #14
  %116 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %116, align 4, !tbaa !372
  br label %117

; <label>:117:                                    ; preds = %110, %101, %75, %53, %38
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_Code@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = alloca [23 x i8], align 1
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %7 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %8 = bitcast %"class.parser::EventHandler"* %7 to void (%"class.parser::EventHandler"*, i32, i32)***
  %9 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %8, align 4, !tbaa !9
  %10 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %9, i32 2
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %10, align 4
  %12 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %13 = load i32, i32* %12, align 4, !tbaa !381
  tail call x86_thiscallcc void %11(%"class.parser::EventHandler"* %7, i32 12, i32 %13) #14
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %15 = load i32, i32* %14, align 4, !tbaa !383, !noalias !472
  %16 = icmp eq i32 %15, 19
  br i1 %16, label %17, label %38

; <label>:17:                                     ; preds = %2
  %18 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !472
  %19 = bitcast %"class.parser::EventHandler"* %18 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %20 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %19, align 4, !tbaa !9, !noalias !472
  %21 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %20, i32 4
  %22 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %21, align 4, !noalias !472
  %23 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %24 = load i32, i32* %23, align 4, !tbaa !391, !noalias !472
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %26 = load i32, i32* %25, align 4, !tbaa !390, !noalias !472
  tail call x86_thiscallcc void %22(%"class.parser::EventHandler"* %18, i32 19, i32 %26, i32 %24) #14, !noalias !472
  %27 = load i32, i32* %25, align 4, !tbaa !390, !noalias !472
  %28 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %27, i32* %28, align 4, !tbaa !395, !noalias !472
  %29 = load i32, i32* %23, align 4, !tbaa !391, !noalias !472
  store i32 %29, i32* %12, align 4, !tbaa !381, !noalias !472
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %31 = load i32, i32* %30, align 4, !tbaa !396, !noalias !472
  store i32 %31, i32* %14, align 4, !tbaa !383, !noalias !472
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %49, label %33

; <label>:33:                                     ; preds = %17
  %34 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %35 = load i32, i32* %34, align 4, !tbaa !397, !noalias !472
  store i32 %35, i32* %25, align 4, !tbaa !390, !noalias !472
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %37 = load i32, i32* %36, align 4, !tbaa !398, !noalias !472
  store i32 %37, i32* %23, align 4, !tbaa !391, !noalias !472
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !472
  br label %49

; <label>:38:                                     ; preds = %2
  %39 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %40 = load i32, i32* %39, align 4, !tbaa !390, !noalias !472
  %41 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %42 = load i32, i32* %41, align 4, !tbaa !391, !noalias !472
  %43 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %43, align 4, !tbaa !372
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %40, i32* %44, align 4
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %42, i32* %45, align 4
  %46 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %46, align 4
  %47 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %15, i32* %47, align 4
  %48 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 19, i32* %48, align 4
  br label %117

; <label>:49:                                     ; preds = %33, %17
  %50 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %50) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %4)
  %51 = load i8, i8* %50, align 4, !tbaa !372, !range !382
  %52 = icmp eq i8 %51, 0
  br i1 %52, label %53, label %59

; <label>:53:                                     ; preds = %49
  %54 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %55 = bitcast %"struct.parser::ParseException"* %54 to i8*
  %56 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %56, align 4, !tbaa !372
  %57 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %58 = bitcast %"struct.parser::ParseException"* %57 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %58, i8* %55, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  br label %117

; <label>:59:                                     ; preds = %49
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %50) #14
  %60 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %60)
  %61 = load i32, i32* %14, align 4, !tbaa !383, !noalias !84
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %63, label %81

; <label>:63:                                     ; preds = %59
  %64 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %64) #14, !noalias !475
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 5) #14, !noalias !475
  %65 = load i8, i8* %64, align 4, !tbaa !387, !range !382, !noalias !475
  %66 = icmp eq i8 %65, 0
  %67 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %66, label %75, label %68

; <label>:68:                                     ; preds = %63
  %69 = getelementptr inbounds %union.anon, %union.anon* %67, i32 0, i32 0, i32 0
  %70 = load i32, i32* %69, align 4, !tbaa !12, !noalias !84
  store i32 %70, i32* %14, align 4, !tbaa !383, !noalias !475
  %71 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %72 = load i32, i32* %71, align 4, !tbaa !389, !noalias !475
  store i32 %72, i32* %25, align 4, !tbaa !390, !noalias !475
  %73 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %74 = load i32, i32* %73, align 4, !tbaa !380, !noalias !475
  store i32 %74, i32* %23, align 4, !tbaa !391, !noalias !475
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !475
  br label %81

; <label>:75:                                     ; preds = %63
  %76 = bitcast %union.anon* %67 to i8*
  %77 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %77, i8* %76, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14, !noalias !475
  %78 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %78, align 4, !tbaa !372
  %79 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %80 = bitcast %"struct.parser::ParseException"* %79 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* %77, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  br label %117

; <label>:81:                                     ; preds = %68, %59
  %82 = phi i32 [ %70, %68 ], [ %61, %59 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %60)
  %83 = icmp eq i32 %82, 20
  br i1 %83, label %84, label %101

; <label>:84:                                     ; preds = %81
  %85 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379, !noalias !478
  %86 = bitcast %"class.parser::EventHandler"* %85 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %87 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %86, align 4, !tbaa !9, !noalias !478
  %88 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %87, i32 4
  %89 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %88, align 4, !noalias !478
  %90 = load i32, i32* %23, align 4, !tbaa !391, !noalias !478
  %91 = load i32, i32* %25, align 4, !tbaa !390, !noalias !478
  tail call x86_thiscallcc void %89(%"class.parser::EventHandler"* %85, i32 20, i32 %91, i32 %90) #14, !noalias !478
  %92 = load i32, i32* %25, align 4, !tbaa !390, !noalias !478
  store i32 %92, i32* %28, align 4, !tbaa !395, !noalias !478
  %93 = load i32, i32* %23, align 4, !tbaa !391, !noalias !478
  store i32 %93, i32* %12, align 4, !tbaa !381, !noalias !478
  %94 = load i32, i32* %30, align 4, !tbaa !396, !noalias !478
  store i32 %94, i32* %14, align 4, !tbaa !383, !noalias !478
  %95 = icmp eq i32 %94, 0
  br i1 %95, label %110, label %96

; <label>:96:                                     ; preds = %84
  %97 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %98 = load i32, i32* %97, align 4, !tbaa !397, !noalias !478
  store i32 %98, i32* %25, align 4, !tbaa !390, !noalias !478
  %99 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %100 = load i32, i32* %99, align 4, !tbaa !398, !noalias !478
  store i32 %100, i32* %23, align 4, !tbaa !391, !noalias !478
  store i32 0, i32* %30, align 4, !tbaa !396, !noalias !478
  br label %110

; <label>:101:                                    ; preds = %81
  %102 = load i32, i32* %25, align 4, !tbaa !390, !noalias !478
  %103 = load i32, i32* %23, align 4, !tbaa !391, !noalias !478
  %104 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %104, align 4, !tbaa !372
  %105 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %102, i32* %105, align 4
  %106 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %103, i32* %106, align 4
  %107 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %107, align 4
  %108 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %82, i32* %108, align 4
  %109 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 20, i32* %109, align 4
  br label %117

; <label>:110:                                    ; preds = %96, %84
  %111 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %6, align 4, !tbaa !379
  %112 = bitcast %"class.parser::EventHandler"* %111 to void (%"class.parser::EventHandler"*, i32, i32)***
  %113 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %112, align 4, !tbaa !9
  %114 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %113, i32 3
  %115 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %114, align 4
  tail call x86_thiscallcc void %115(%"class.parser::EventHandler"* %111, i32 12, i32 %93) #14
  %116 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %116, align 4, !tbaa !372
  br label %117

; <label>:117:                                    ; preds = %110, %101, %75, %53, %38
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_MemberNameExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %4 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379
  %5 = bitcast %"class.parser::EventHandler"* %4 to void (%"class.parser::EventHandler"*, i32, i32)***
  %6 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %5, align 4, !tbaa !9
  %7 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %6, i32 2
  %8 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %7, align 4
  %9 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %10 = load i32, i32* %9, align 4, !tbaa !381
  tail call x86_thiscallcc void %8(%"class.parser::EventHandler"* %4, i32 6, i32 %10) #14
  %11 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %12 = load i32, i32* %11, align 4, !tbaa !383
  switch i32 %12, label %76 [
    i32 6, label %13
    i32 7, label %34
    i32 8, label %55
  ]

; <label>:13:                                     ; preds = %2
  %14 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !481
  %15 = bitcast %"class.parser::EventHandler"* %14 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %16 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %15, align 4, !tbaa !9, !noalias !481
  %17 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %16, i32 4
  %18 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %17, align 4, !noalias !481
  %19 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %20 = load i32, i32* %19, align 4, !tbaa !391, !noalias !481
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %22 = load i32, i32* %21, align 4, !tbaa !390, !noalias !481
  tail call x86_thiscallcc void %18(%"class.parser::EventHandler"* %14, i32 6, i32 %22, i32 %20) #14, !noalias !481
  %23 = load i32, i32* %21, align 4, !tbaa !390, !noalias !481
  %24 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %23, i32* %24, align 4, !tbaa !395, !noalias !481
  %25 = load i32, i32* %19, align 4, !tbaa !391, !noalias !481
  store i32 %25, i32* %9, align 4, !tbaa !381, !noalias !481
  %26 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %27 = load i32, i32* %26, align 4, !tbaa !396, !noalias !481
  store i32 %27, i32* %11, align 4, !tbaa !383, !noalias !481
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %87, label %29

; <label>:29:                                     ; preds = %13
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %31 = load i32, i32* %30, align 4, !tbaa !397, !noalias !481
  store i32 %31, i32* %21, align 4, !tbaa !390, !noalias !481
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %33 = load i32, i32* %32, align 4, !tbaa !398, !noalias !481
  store i32 %33, i32* %19, align 4, !tbaa !391, !noalias !481
  store i32 0, i32* %26, align 4, !tbaa !396, !noalias !481
  br label %87

; <label>:34:                                     ; preds = %2
  %35 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !484
  %36 = bitcast %"class.parser::EventHandler"* %35 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %37 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %36, align 4, !tbaa !9, !noalias !484
  %38 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %37, i32 4
  %39 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %38, align 4, !noalias !484
  %40 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %41 = load i32, i32* %40, align 4, !tbaa !391, !noalias !484
  %42 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %43 = load i32, i32* %42, align 4, !tbaa !390, !noalias !484
  tail call x86_thiscallcc void %39(%"class.parser::EventHandler"* %35, i32 7, i32 %43, i32 %41) #14, !noalias !484
  %44 = load i32, i32* %42, align 4, !tbaa !390, !noalias !484
  %45 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %44, i32* %45, align 4, !tbaa !395, !noalias !484
  %46 = load i32, i32* %40, align 4, !tbaa !391, !noalias !484
  store i32 %46, i32* %9, align 4, !tbaa !381, !noalias !484
  %47 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %48 = load i32, i32* %47, align 4, !tbaa !396, !noalias !484
  store i32 %48, i32* %11, align 4, !tbaa !383, !noalias !484
  %49 = icmp eq i32 %48, 0
  br i1 %49, label %87, label %50

; <label>:50:                                     ; preds = %34
  %51 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %52 = load i32, i32* %51, align 4, !tbaa !397, !noalias !484
  store i32 %52, i32* %42, align 4, !tbaa !390, !noalias !484
  %53 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %54 = load i32, i32* %53, align 4, !tbaa !398, !noalias !484
  store i32 %54, i32* %40, align 4, !tbaa !391, !noalias !484
  store i32 0, i32* %47, align 4, !tbaa !396, !noalias !484
  br label %87

; <label>:55:                                     ; preds = %2
  %56 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !487
  %57 = bitcast %"class.parser::EventHandler"* %56 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %58 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %57, align 4, !tbaa !9, !noalias !487
  %59 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %58, i32 4
  %60 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %59, align 4, !noalias !487
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %62 = load i32, i32* %61, align 4, !tbaa !391, !noalias !487
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %64 = load i32, i32* %63, align 4, !tbaa !390, !noalias !487
  tail call x86_thiscallcc void %60(%"class.parser::EventHandler"* %56, i32 8, i32 %64, i32 %62) #14, !noalias !487
  %65 = load i32, i32* %63, align 4, !tbaa !390, !noalias !487
  %66 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %65, i32* %66, align 4, !tbaa !395, !noalias !487
  %67 = load i32, i32* %61, align 4, !tbaa !391, !noalias !487
  store i32 %67, i32* %9, align 4, !tbaa !381, !noalias !487
  %68 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %69 = load i32, i32* %68, align 4, !tbaa !396, !noalias !487
  store i32 %69, i32* %11, align 4, !tbaa !383, !noalias !487
  %70 = icmp eq i32 %69, 0
  br i1 %70, label %87, label %71

; <label>:71:                                     ; preds = %55
  %72 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %73 = load i32, i32* %72, align 4, !tbaa !397, !noalias !487
  store i32 %73, i32* %63, align 4, !tbaa !390, !noalias !487
  %74 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %75 = load i32, i32* %74, align 4, !tbaa !398, !noalias !487
  store i32 %75, i32* %61, align 4, !tbaa !391, !noalias !487
  store i32 0, i32* %68, align 4, !tbaa !396, !noalias !487
  br label %87

; <label>:76:                                     ; preds = %2
  %77 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %78 = load i32, i32* %77, align 4, !tbaa !390, !noalias !487
  %79 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %80 = load i32, i32* %79, align 4, !tbaa !391, !noalias !487
  %81 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %81, align 4, !tbaa !372
  %82 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %78, i32* %82, align 4
  %83 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %80, i32* %83, align 4
  %84 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %84, align 4
  %85 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %12, i32* %85, align 4
  %86 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 8, i32* %86, align 4
  br label %95

; <label>:87:                                     ; preds = %71, %55, %50, %34, %29, %13
  %88 = phi i32 [ %67, %55 ], [ %67, %71 ], [ %46, %34 ], [ %46, %50 ], [ %25, %13 ], [ %25, %29 ]
  %89 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379
  %90 = bitcast %"class.parser::EventHandler"* %89 to void (%"class.parser::EventHandler"*, i32, i32)***
  %91 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %90, align 4, !tbaa !9
  %92 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %91, i32 3
  %93 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %92, align 4
  tail call x86_thiscallcc void %93(%"class.parser::EventHandler"* %89, i32 6, i32 %88) #14
  %94 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %94, align 4, !tbaa !372
  br label %95

; <label>:95:                                     ; preds = %87, %76
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_Label@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected.6", align 4
  %5 = alloca [23 x i8], align 1
  %6 = alloca %"struct.parser::Expected", align 4
  %7 = alloca [23 x i8], align 1
  %8 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %9 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379
  %10 = bitcast %"class.parser::EventHandler"* %9 to void (%"class.parser::EventHandler"*, i32, i32)***
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %10, align 4, !tbaa !9
  %12 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %11, i32 2
  %13 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %12, align 4
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %15 = load i32, i32* %14, align 4, !tbaa !381
  tail call x86_thiscallcc void %13(%"class.parser::EventHandler"* %9, i32 9, i32 %15) #14
  %16 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %17 = load i32, i32* %16, align 4, !tbaa !383, !noalias !490
  %18 = icmp eq i32 %17, 3
  br i1 %18, label %19, label %35

; <label>:19:                                     ; preds = %2
  %20 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !490
  %21 = bitcast %"class.parser::EventHandler"* %20 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %22 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %21, align 4, !tbaa !9, !noalias !490
  %23 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %22, i32 4
  %24 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %23, align 4, !noalias !490
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %26 = load i32, i32* %25, align 4, !tbaa !391, !noalias !490
  %27 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %28 = load i32, i32* %27, align 4, !tbaa !390, !noalias !490
  tail call x86_thiscallcc void %24(%"class.parser::EventHandler"* %20, i32 3, i32 %28, i32 %26) #14, !noalias !490
  %29 = load i32, i32* %27, align 4, !tbaa !390, !noalias !490
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %29, i32* %30, align 4, !tbaa !395, !noalias !490
  %31 = load i32, i32* %25, align 4, !tbaa !391, !noalias !490
  store i32 %31, i32* %14, align 4, !tbaa !381, !noalias !490
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %33 = load i32, i32* %32, align 4, !tbaa !396, !noalias !490
  store i32 %33, i32* %16, align 4, !tbaa !383, !noalias !490
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %52, label %46

; <label>:35:                                     ; preds = %2
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %37 = load i32, i32* %36, align 4, !tbaa !390, !noalias !490
  %38 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %39 = load i32, i32* %38, align 4, !tbaa !391, !noalias !490
  %40 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %40, align 4, !tbaa !372
  %41 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %37, i32* %41, align 4
  %42 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %39, i32* %42, align 4
  %43 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %43, align 4
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %17, i32* %44, align 4
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 3, i32* %45, align 4
  br label %169

; <label>:46:                                     ; preds = %19
  %47 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %48 = load i32, i32* %47, align 4, !tbaa !397, !noalias !490
  store i32 %48, i32* %27, align 4, !tbaa !390, !noalias !490
  %49 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %50 = load i32, i32* %49, align 4, !tbaa !398, !noalias !490
  store i32 %50, i32* %25, align 4, !tbaa !391, !noalias !490
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !490
  %51 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %51)
  br label %71

; <label>:52:                                     ; preds = %19
  %53 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %53)
  %54 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %54) #14, !noalias !493
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %4, i32 2) #14, !noalias !493
  %55 = load i8, i8* %54, align 4, !tbaa !387, !range !382, !noalias !493
  %56 = icmp eq i8 %55, 0
  %57 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 1
  br i1 %56, label %65, label %58

; <label>:58:                                     ; preds = %52
  %59 = getelementptr inbounds %union.anon, %union.anon* %57, i32 0, i32 0, i32 0
  %60 = load i32, i32* %59, align 4, !tbaa !12, !noalias !493
  store i32 %60, i32* %16, align 4, !tbaa !383, !noalias !493
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %62 = load i32, i32* %61, align 4, !tbaa !389, !noalias !493
  store i32 %62, i32* %27, align 4, !tbaa !390, !noalias !493
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %64 = load i32, i32* %63, align 4, !tbaa !380, !noalias !493
  store i32 %64, i32* %25, align 4, !tbaa !391, !noalias !493
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %54) #14, !noalias !493
  br label %71

; <label>:65:                                     ; preds = %52
  %66 = bitcast %union.anon* %57 to i8*
  %67 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %67, i8* %66, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %54) #14, !noalias !493
  %68 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %68, align 4, !tbaa !372
  %69 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %70 = bitcast %"struct.parser::ParseException"* %69 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %70, i8* %67, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %53)
  br label %169

; <label>:71:                                     ; preds = %58, %46
  %72 = phi i8* [ %51, %46 ], [ %53, %58 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* %72)
  %73 = load i32, i32* %16, align 4, !tbaa !383, !noalias !496
  %74 = icmp eq i32 %73, 16
  br i1 %74, label %75, label %92

; <label>:75:                                     ; preds = %71
  %76 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !496
  %77 = bitcast %"class.parser::EventHandler"* %76 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %78 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %77, align 4, !tbaa !9, !noalias !496
  %79 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %78, i32 4
  %80 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %79, align 4, !noalias !496
  %81 = load i32, i32* %25, align 4, !tbaa !391, !noalias !496
  %82 = load i32, i32* %27, align 4, !tbaa !390, !noalias !496
  tail call x86_thiscallcc void %80(%"class.parser::EventHandler"* %76, i32 16, i32 %82, i32 %81) #14, !noalias !496
  %83 = load i32, i32* %27, align 4, !tbaa !390, !noalias !496
  store i32 %83, i32* %30, align 4, !tbaa !395, !noalias !496
  %84 = load i32, i32* %25, align 4, !tbaa !391, !noalias !496
  store i32 %84, i32* %14, align 4, !tbaa !381, !noalias !496
  %85 = load i32, i32* %32, align 4, !tbaa !396, !noalias !496
  store i32 %85, i32* %16, align 4, !tbaa !383, !noalias !496
  %86 = icmp eq i32 %85, 0
  br i1 %86, label %101, label %87

; <label>:87:                                     ; preds = %75
  %88 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %89 = load i32, i32* %88, align 4, !tbaa !397, !noalias !496
  store i32 %89, i32* %27, align 4, !tbaa !390, !noalias !496
  %90 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %91 = load i32, i32* %90, align 4, !tbaa !398, !noalias !496
  store i32 %91, i32* %25, align 4, !tbaa !391, !noalias !496
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !496
  br label %101

; <label>:92:                                     ; preds = %71
  %93 = load i32, i32* %27, align 4, !tbaa !390, !noalias !496
  %94 = load i32, i32* %25, align 4, !tbaa !391, !noalias !496
  %95 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %95, align 4, !tbaa !372
  %96 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %93, i32* %96, align 4
  %97 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %94, i32* %97, align 4
  %98 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %98, align 4
  %99 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %73, i32* %99, align 4
  %100 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 16, i32* %100, align 4
  br label %169

; <label>:101:                                    ; preds = %87, %75
  %102 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %102) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %6)
  %103 = load i8, i8* %102, align 4, !tbaa !372, !range !382
  %104 = icmp eq i8 %103, 0
  br i1 %104, label %105, label %111

; <label>:105:                                    ; preds = %101
  %106 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 1
  %107 = bitcast %"struct.parser::ParseException"* %106 to i8*
  %108 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %108, align 4, !tbaa !372
  %109 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %110 = bitcast %"struct.parser::ParseException"* %109 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %110, i8* %107, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  br label %169

; <label>:111:                                    ; preds = %101
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  %112 = getelementptr inbounds [23 x i8], [23 x i8]* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %112)
  %113 = load i32, i32* %16, align 4, !tbaa !383, !noalias !84
  %114 = icmp eq i32 %113, 0
  br i1 %114, label %115, label %133

; <label>:115:                                    ; preds = %111
  %116 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %116) #14, !noalias !499
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 4) #14, !noalias !499
  %117 = load i8, i8* %116, align 4, !tbaa !387, !range !382, !noalias !499
  %118 = icmp eq i8 %117, 0
  %119 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %118, label %127, label %120

; <label>:120:                                    ; preds = %115
  %121 = getelementptr inbounds %union.anon, %union.anon* %119, i32 0, i32 0, i32 0
  %122 = load i32, i32* %121, align 4, !tbaa !12, !noalias !84
  store i32 %122, i32* %16, align 4, !tbaa !383, !noalias !499
  %123 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %124 = load i32, i32* %123, align 4, !tbaa !389, !noalias !499
  store i32 %124, i32* %27, align 4, !tbaa !390, !noalias !499
  %125 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %126 = load i32, i32* %125, align 4, !tbaa !380, !noalias !499
  store i32 %126, i32* %25, align 4, !tbaa !391, !noalias !499
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %116) #14, !noalias !499
  br label %133

; <label>:127:                                    ; preds = %115
  %128 = bitcast %union.anon* %119 to i8*
  %129 = getelementptr inbounds [23 x i8], [23 x i8]* %7, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %129, i8* %128, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %116) #14, !noalias !499
  %130 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %130, align 4, !tbaa !372
  %131 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %132 = bitcast %"struct.parser::ParseException"* %131 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %132, i8* %129, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %112)
  br label %169

; <label>:133:                                    ; preds = %120, %111
  %134 = phi i32 [ %122, %120 ], [ %113, %111 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %112)
  %135 = icmp eq i32 %134, 18
  br i1 %135, label %136, label %153

; <label>:136:                                    ; preds = %133
  %137 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !502
  %138 = bitcast %"class.parser::EventHandler"* %137 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %139 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %138, align 4, !tbaa !9, !noalias !502
  %140 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %139, i32 4
  %141 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %140, align 4, !noalias !502
  %142 = load i32, i32* %25, align 4, !tbaa !391, !noalias !502
  %143 = load i32, i32* %27, align 4, !tbaa !390, !noalias !502
  tail call x86_thiscallcc void %141(%"class.parser::EventHandler"* %137, i32 18, i32 %143, i32 %142) #14, !noalias !502
  %144 = load i32, i32* %27, align 4, !tbaa !390, !noalias !502
  store i32 %144, i32* %30, align 4, !tbaa !395, !noalias !502
  %145 = load i32, i32* %25, align 4, !tbaa !391, !noalias !502
  store i32 %145, i32* %14, align 4, !tbaa !381, !noalias !502
  %146 = load i32, i32* %32, align 4, !tbaa !396, !noalias !502
  store i32 %146, i32* %16, align 4, !tbaa !383, !noalias !502
  %147 = icmp eq i32 %146, 0
  br i1 %147, label %162, label %148

; <label>:148:                                    ; preds = %136
  %149 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %150 = load i32, i32* %149, align 4, !tbaa !397, !noalias !502
  store i32 %150, i32* %27, align 4, !tbaa !390, !noalias !502
  %151 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %152 = load i32, i32* %151, align 4, !tbaa !398, !noalias !502
  store i32 %152, i32* %25, align 4, !tbaa !391, !noalias !502
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !502
  br label %162

; <label>:153:                                    ; preds = %133
  %154 = load i32, i32* %27, align 4, !tbaa !390, !noalias !502
  %155 = load i32, i32* %25, align 4, !tbaa !391, !noalias !502
  %156 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %156, align 4, !tbaa !372
  %157 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %154, i32* %157, align 4
  %158 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %155, i32* %158, align 4
  %159 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %159, align 4
  %160 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %134, i32* %160, align 4
  %161 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 18, i32* %161, align 4
  br label %169

; <label>:162:                                    ; preds = %148, %136
  %163 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379
  %164 = bitcast %"class.parser::EventHandler"* %163 to void (%"class.parser::EventHandler"*, i32, i32)***
  %165 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %164, align 4, !tbaa !9
  %166 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %165, i32 3
  %167 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %166, align 4
  tail call x86_thiscallcc void %167(%"class.parser::EventHandler"* %163, i32 9, i32 %145) #14
  %168 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %168, align 4, !tbaa !372
  br label %169

; <label>:169:                                    ; preds = %162, %153, %127, %105, %92, %65, %35
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_LabelReset@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected.6", align 4
  %4 = alloca %"struct.parser::Expected.6", align 4
  %5 = alloca [23 x i8], align 1
  %6 = alloca %"struct.parser::Expected", align 4
  %7 = alloca [23 x i8], align 1
  %8 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %9 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379
  %10 = bitcast %"class.parser::EventHandler"* %9 to void (%"class.parser::EventHandler"*, i32, i32)***
  %11 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %10, align 4, !tbaa !9
  %12 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %11, i32 2
  %13 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %12, align 4
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %15 = load i32, i32* %14, align 4, !tbaa !381
  tail call x86_thiscallcc void %13(%"class.parser::EventHandler"* %9, i32 8, i32 %15) #14
  %16 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %17 = load i32, i32* %16, align 4, !tbaa !383, !noalias !505
  %18 = icmp eq i32 %17, 3
  br i1 %18, label %19, label %35

; <label>:19:                                     ; preds = %2
  %20 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !505
  %21 = bitcast %"class.parser::EventHandler"* %20 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %22 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %21, align 4, !tbaa !9, !noalias !505
  %23 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %22, i32 4
  %24 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %23, align 4, !noalias !505
  %25 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %26 = load i32, i32* %25, align 4, !tbaa !391, !noalias !505
  %27 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %28 = load i32, i32* %27, align 4, !tbaa !390, !noalias !505
  tail call x86_thiscallcc void %24(%"class.parser::EventHandler"* %20, i32 3, i32 %28, i32 %26) #14, !noalias !505
  %29 = load i32, i32* %27, align 4, !tbaa !390, !noalias !505
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %29, i32* %30, align 4, !tbaa !395, !noalias !505
  %31 = load i32, i32* %25, align 4, !tbaa !391, !noalias !505
  store i32 %31, i32* %14, align 4, !tbaa !381, !noalias !505
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %33 = load i32, i32* %32, align 4, !tbaa !396, !noalias !505
  store i32 %33, i32* %16, align 4, !tbaa !383, !noalias !505
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %52, label %46

; <label>:35:                                     ; preds = %2
  %36 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %37 = load i32, i32* %36, align 4, !tbaa !390, !noalias !505
  %38 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %39 = load i32, i32* %38, align 4, !tbaa !391, !noalias !505
  %40 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %40, align 4, !tbaa !372
  %41 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %37, i32* %41, align 4
  %42 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %39, i32* %42, align 4
  %43 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %43, align 4
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %17, i32* %44, align 4
  %45 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 3, i32* %45, align 4
  br label %169

; <label>:46:                                     ; preds = %19
  %47 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %48 = load i32, i32* %47, align 4, !tbaa !397, !noalias !505
  store i32 %48, i32* %27, align 4, !tbaa !390, !noalias !505
  %49 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %50 = load i32, i32* %49, align 4, !tbaa !398, !noalias !505
  store i32 %50, i32* %25, align 4, !tbaa !391, !noalias !505
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !505
  %51 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %51)
  br label %71

; <label>:52:                                     ; preds = %19
  %53 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %53)
  %54 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %54) #14, !noalias !508
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %4, i32 3) #14, !noalias !508
  %55 = load i8, i8* %54, align 4, !tbaa !387, !range !382, !noalias !508
  %56 = icmp eq i8 %55, 0
  %57 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 1
  br i1 %56, label %65, label %58

; <label>:58:                                     ; preds = %52
  %59 = getelementptr inbounds %union.anon, %union.anon* %57, i32 0, i32 0, i32 0
  %60 = load i32, i32* %59, align 4, !tbaa !12, !noalias !508
  store i32 %60, i32* %16, align 4, !tbaa !383, !noalias !508
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %62 = load i32, i32* %61, align 4, !tbaa !389, !noalias !508
  store i32 %62, i32* %27, align 4, !tbaa !390, !noalias !508
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %64 = load i32, i32* %63, align 4, !tbaa !380, !noalias !508
  store i32 %64, i32* %25, align 4, !tbaa !391, !noalias !508
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %54) #14, !noalias !508
  br label %71

; <label>:65:                                     ; preds = %52
  %66 = bitcast %union.anon* %57 to i8*
  %67 = getelementptr inbounds [23 x i8], [23 x i8]* %5, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %67, i8* %66, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %54) #14, !noalias !508
  %68 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %68, align 4, !tbaa !372
  %69 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %70 = bitcast %"struct.parser::ParseException"* %69 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %70, i8* %67, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %53)
  br label %169

; <label>:71:                                     ; preds = %58, %46
  %72 = phi i8* [ %51, %46 ], [ %53, %58 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* %72)
  %73 = load i32, i32* %16, align 4, !tbaa !383, !noalias !511
  %74 = icmp eq i32 %73, 17
  br i1 %74, label %75, label %92

; <label>:75:                                     ; preds = %71
  %76 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !511
  %77 = bitcast %"class.parser::EventHandler"* %76 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %78 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %77, align 4, !tbaa !9, !noalias !511
  %79 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %78, i32 4
  %80 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %79, align 4, !noalias !511
  %81 = load i32, i32* %25, align 4, !tbaa !391, !noalias !511
  %82 = load i32, i32* %27, align 4, !tbaa !390, !noalias !511
  tail call x86_thiscallcc void %80(%"class.parser::EventHandler"* %76, i32 17, i32 %82, i32 %81) #14, !noalias !511
  %83 = load i32, i32* %27, align 4, !tbaa !390, !noalias !511
  store i32 %83, i32* %30, align 4, !tbaa !395, !noalias !511
  %84 = load i32, i32* %25, align 4, !tbaa !391, !noalias !511
  store i32 %84, i32* %14, align 4, !tbaa !381, !noalias !511
  %85 = load i32, i32* %32, align 4, !tbaa !396, !noalias !511
  store i32 %85, i32* %16, align 4, !tbaa !383, !noalias !511
  %86 = icmp eq i32 %85, 0
  br i1 %86, label %101, label %87

; <label>:87:                                     ; preds = %75
  %88 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %89 = load i32, i32* %88, align 4, !tbaa !397, !noalias !511
  store i32 %89, i32* %27, align 4, !tbaa !390, !noalias !511
  %90 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %91 = load i32, i32* %90, align 4, !tbaa !398, !noalias !511
  store i32 %91, i32* %25, align 4, !tbaa !391, !noalias !511
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !511
  br label %101

; <label>:92:                                     ; preds = %71
  %93 = load i32, i32* %27, align 4, !tbaa !390, !noalias !511
  %94 = load i32, i32* %25, align 4, !tbaa !391, !noalias !511
  %95 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %95, align 4, !tbaa !372
  %96 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %93, i32* %96, align 4
  %97 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %94, i32* %97, align 4
  %98 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %98, align 4
  %99 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %73, i32* %99, align 4
  %100 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 17, i32* %100, align 4
  br label %169

; <label>:101:                                    ; preds = %87, %75
  %102 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %102) #14
  call x86_thiscallcc void @"\01?parse_Program@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %6)
  %103 = load i8, i8* %102, align 4, !tbaa !372, !range !382
  %104 = icmp eq i8 %103, 0
  br i1 %104, label %105, label %111

; <label>:105:                                    ; preds = %101
  %106 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %6, i32 0, i32 1
  %107 = bitcast %"struct.parser::ParseException"* %106 to i8*
  %108 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %108, align 4, !tbaa !372
  %109 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %110 = bitcast %"struct.parser::ParseException"* %109 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %110, i8* %107, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  br label %169

; <label>:111:                                    ; preds = %101
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  %112 = getelementptr inbounds [23 x i8], [23 x i8]* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 23, i8* nonnull %112)
  %113 = load i32, i32* %16, align 4, !tbaa !383, !noalias !84
  %114 = icmp eq i32 %113, 0
  br i1 %114, label %115, label %133

; <label>:115:                                    ; preds = %111
  %116 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %116) #14, !noalias !514
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %3, i32 4) #14, !noalias !514
  %117 = load i8, i8* %116, align 4, !tbaa !387, !range !382, !noalias !514
  %118 = icmp eq i8 %117, 0
  %119 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %3, i32 0, i32 1
  br i1 %118, label %127, label %120

; <label>:120:                                    ; preds = %115
  %121 = getelementptr inbounds %union.anon, %union.anon* %119, i32 0, i32 0, i32 0
  %122 = load i32, i32* %121, align 4, !tbaa !12, !noalias !84
  store i32 %122, i32* %16, align 4, !tbaa !383, !noalias !514
  %123 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %124 = load i32, i32* %123, align 4, !tbaa !389, !noalias !514
  store i32 %124, i32* %27, align 4, !tbaa !390, !noalias !514
  %125 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %126 = load i32, i32* %125, align 4, !tbaa !380, !noalias !514
  store i32 %126, i32* %25, align 4, !tbaa !391, !noalias !514
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %116) #14, !noalias !514
  br label %133

; <label>:127:                                    ; preds = %115
  %128 = bitcast %union.anon* %119 to i8*
  %129 = getelementptr inbounds [23 x i8], [23 x i8]* %7, i32 0, i32 3
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %129, i8* %128, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %116) #14, !noalias !514
  %130 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %130, align 4, !tbaa !372
  %131 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %132 = bitcast %"struct.parser::ParseException"* %131 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %132, i8* %129, i32 20, i32 1, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %112)
  br label %169

; <label>:133:                                    ; preds = %120, %111
  %134 = phi i32 [ %122, %120 ], [ %113, %111 ]
  call void @llvm.lifetime.end.p0i8(i64 23, i8* nonnull %112)
  %135 = icmp eq i32 %134, 18
  br i1 %135, label %136, label %153

; <label>:136:                                    ; preds = %133
  %137 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379, !noalias !517
  %138 = bitcast %"class.parser::EventHandler"* %137 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %139 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %138, align 4, !tbaa !9, !noalias !517
  %140 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %139, i32 4
  %141 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %140, align 4, !noalias !517
  %142 = load i32, i32* %25, align 4, !tbaa !391, !noalias !517
  %143 = load i32, i32* %27, align 4, !tbaa !390, !noalias !517
  tail call x86_thiscallcc void %141(%"class.parser::EventHandler"* %137, i32 18, i32 %143, i32 %142) #14, !noalias !517
  %144 = load i32, i32* %27, align 4, !tbaa !390, !noalias !517
  store i32 %144, i32* %30, align 4, !tbaa !395, !noalias !517
  %145 = load i32, i32* %25, align 4, !tbaa !391, !noalias !517
  store i32 %145, i32* %14, align 4, !tbaa !381, !noalias !517
  %146 = load i32, i32* %32, align 4, !tbaa !396, !noalias !517
  store i32 %146, i32* %16, align 4, !tbaa !383, !noalias !517
  %147 = icmp eq i32 %146, 0
  br i1 %147, label %162, label %148

; <label>:148:                                    ; preds = %136
  %149 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %150 = load i32, i32* %149, align 4, !tbaa !397, !noalias !517
  store i32 %150, i32* %27, align 4, !tbaa !390, !noalias !517
  %151 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %152 = load i32, i32* %151, align 4, !tbaa !398, !noalias !517
  store i32 %152, i32* %25, align 4, !tbaa !391, !noalias !517
  store i32 0, i32* %32, align 4, !tbaa !396, !noalias !517
  br label %162

; <label>:153:                                    ; preds = %133
  %154 = load i32, i32* %27, align 4, !tbaa !390, !noalias !517
  %155 = load i32, i32* %25, align 4, !tbaa !391, !noalias !517
  %156 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %156, align 4, !tbaa !372
  %157 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %154, i32* %157, align 4
  %158 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %155, i32* %158, align 4
  %159 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %159, align 4
  %160 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %134, i32* %160, align 4
  %161 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 18, i32* %161, align 4
  br label %169

; <label>:162:                                    ; preds = %148, %136
  %163 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379
  %164 = bitcast %"class.parser::EventHandler"* %163 to void (%"class.parser::EventHandler"*, i32, i32)***
  %165 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %164, align 4, !tbaa !9
  %166 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %165, i32 3
  %167 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %166, align 4
  tail call x86_thiscallcc void %167(%"class.parser::EventHandler"* %163, i32 8, i32 %145) #14
  %168 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %168, align 4, !tbaa !372
  br label %169

; <label>:169:                                    ; preds = %162, %153, %127, %105, %92, %65, %35
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_NameExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %4 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379
  %5 = bitcast %"class.parser::EventHandler"* %4 to void (%"class.parser::EventHandler"*, i32, i32)***
  %6 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %5, align 4, !tbaa !9
  %7 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %6, i32 2
  %8 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %7, align 4
  %9 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %10 = load i32, i32* %9, align 4, !tbaa !381
  tail call x86_thiscallcc void %8(%"class.parser::EventHandler"* %4, i32 7, i32 %10) #14
  %11 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %12 = load i32, i32* %11, align 4, !tbaa !383
  switch i32 %12, label %76 [
    i32 3, label %13
    i32 4, label %34
    i32 5, label %55
  ]

; <label>:13:                                     ; preds = %2
  %14 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !520
  %15 = bitcast %"class.parser::EventHandler"* %14 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %16 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %15, align 4, !tbaa !9, !noalias !520
  %17 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %16, i32 4
  %18 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %17, align 4, !noalias !520
  %19 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %20 = load i32, i32* %19, align 4, !tbaa !391, !noalias !520
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %22 = load i32, i32* %21, align 4, !tbaa !390, !noalias !520
  tail call x86_thiscallcc void %18(%"class.parser::EventHandler"* %14, i32 3, i32 %22, i32 %20) #14, !noalias !520
  %23 = load i32, i32* %21, align 4, !tbaa !390, !noalias !520
  %24 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %23, i32* %24, align 4, !tbaa !395, !noalias !520
  %25 = load i32, i32* %19, align 4, !tbaa !391, !noalias !520
  store i32 %25, i32* %9, align 4, !tbaa !381, !noalias !520
  %26 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %27 = load i32, i32* %26, align 4, !tbaa !396, !noalias !520
  store i32 %27, i32* %11, align 4, !tbaa !383, !noalias !520
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %87, label %29

; <label>:29:                                     ; preds = %13
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %31 = load i32, i32* %30, align 4, !tbaa !397, !noalias !520
  store i32 %31, i32* %21, align 4, !tbaa !390, !noalias !520
  %32 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %33 = load i32, i32* %32, align 4, !tbaa !398, !noalias !520
  store i32 %33, i32* %19, align 4, !tbaa !391, !noalias !520
  store i32 0, i32* %26, align 4, !tbaa !396, !noalias !520
  br label %87

; <label>:34:                                     ; preds = %2
  %35 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !523
  %36 = bitcast %"class.parser::EventHandler"* %35 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %37 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %36, align 4, !tbaa !9, !noalias !523
  %38 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %37, i32 4
  %39 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %38, align 4, !noalias !523
  %40 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %41 = load i32, i32* %40, align 4, !tbaa !391, !noalias !523
  %42 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %43 = load i32, i32* %42, align 4, !tbaa !390, !noalias !523
  tail call x86_thiscallcc void %39(%"class.parser::EventHandler"* %35, i32 4, i32 %43, i32 %41) #14, !noalias !523
  %44 = load i32, i32* %42, align 4, !tbaa !390, !noalias !523
  %45 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %44, i32* %45, align 4, !tbaa !395, !noalias !523
  %46 = load i32, i32* %40, align 4, !tbaa !391, !noalias !523
  store i32 %46, i32* %9, align 4, !tbaa !381, !noalias !523
  %47 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %48 = load i32, i32* %47, align 4, !tbaa !396, !noalias !523
  store i32 %48, i32* %11, align 4, !tbaa !383, !noalias !523
  %49 = icmp eq i32 %48, 0
  br i1 %49, label %87, label %50

; <label>:50:                                     ; preds = %34
  %51 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %52 = load i32, i32* %51, align 4, !tbaa !397, !noalias !523
  store i32 %52, i32* %42, align 4, !tbaa !390, !noalias !523
  %53 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %54 = load i32, i32* %53, align 4, !tbaa !398, !noalias !523
  store i32 %54, i32* %40, align 4, !tbaa !391, !noalias !523
  store i32 0, i32* %47, align 4, !tbaa !396, !noalias !523
  br label %87

; <label>:55:                                     ; preds = %2
  %56 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379, !noalias !526
  %57 = bitcast %"class.parser::EventHandler"* %56 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %58 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %57, align 4, !tbaa !9, !noalias !526
  %59 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %58, i32 4
  %60 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %59, align 4, !noalias !526
  %61 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %62 = load i32, i32* %61, align 4, !tbaa !391, !noalias !526
  %63 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %64 = load i32, i32* %63, align 4, !tbaa !390, !noalias !526
  tail call x86_thiscallcc void %60(%"class.parser::EventHandler"* %56, i32 5, i32 %64, i32 %62) #14, !noalias !526
  %65 = load i32, i32* %63, align 4, !tbaa !390, !noalias !526
  %66 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %65, i32* %66, align 4, !tbaa !395, !noalias !526
  %67 = load i32, i32* %61, align 4, !tbaa !391, !noalias !526
  store i32 %67, i32* %9, align 4, !tbaa !381, !noalias !526
  %68 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %69 = load i32, i32* %68, align 4, !tbaa !396, !noalias !526
  store i32 %69, i32* %11, align 4, !tbaa !383, !noalias !526
  %70 = icmp eq i32 %69, 0
  br i1 %70, label %87, label %71

; <label>:71:                                     ; preds = %55
  %72 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %73 = load i32, i32* %72, align 4, !tbaa !397, !noalias !526
  store i32 %73, i32* %63, align 4, !tbaa !390, !noalias !526
  %74 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %75 = load i32, i32* %74, align 4, !tbaa !398, !noalias !526
  store i32 %75, i32* %61, align 4, !tbaa !391, !noalias !526
  store i32 0, i32* %68, align 4, !tbaa !396, !noalias !526
  br label %87

; <label>:76:                                     ; preds = %2
  %77 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %78 = load i32, i32* %77, align 4, !tbaa !390, !noalias !526
  %79 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %80 = load i32, i32* %79, align 4, !tbaa !391, !noalias !526
  %81 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %81, align 4, !tbaa !372
  %82 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %78, i32* %82, align 4
  %83 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %80, i32* %83, align 4
  %84 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %84, align 4
  %85 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %12, i32* %85, align 4
  %86 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 5, i32* %86, align 4
  br label %95

; <label>:87:                                     ; preds = %71, %55, %50, %34, %29, %13
  %88 = phi i32 [ %67, %55 ], [ %67, %71 ], [ %46, %34 ], [ %46, %50 ], [ %25, %13 ], [ %25, %29 ]
  %89 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %3, align 4, !tbaa !379
  %90 = bitcast %"class.parser::EventHandler"* %89 to void (%"class.parser::EventHandler"*, i32, i32)***
  %91 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %90, align 4, !tbaa !9
  %92 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %91, i32 3
  %93 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %92, align 4
  tail call x86_thiscallcc void %93(%"class.parser::EventHandler"* %89, i32 7, i32 %88) #14
  %94 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %94, align 4, !tbaa !372
  br label %95

; <label>:95:                                     ; preds = %87, %76
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"(%"class.parser::Parser"* nocapture, %"struct.parser::Expected"* noalias nocapture sret, i32) local_unnamed_addr #2 align 2 {
  %4 = alloca %"struct.parser::Expected.6", align 4
  %5 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %6 = load i32, i32* %5, align 4, !tbaa !383
  %7 = icmp eq i32 %6, 0
  br i1 %7, label %8, label %27

; <label>:8:                                      ; preds = %3
  %9 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %9) #14
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %4, i32 %2)
  %10 = load i8, i8* %9, align 4, !tbaa !387, !range !382
  %11 = icmp eq i8 %10, 0
  %12 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 1
  br i1 %11, label %13, label %18

; <label>:13:                                     ; preds = %8
  %14 = bitcast %union.anon* %12 to i8*
  %15 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %15, align 4, !tbaa !372
  %16 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %17 = bitcast %"struct.parser::ParseException"* %16 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %17, i8* %14, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %9) #14
  br label %29

; <label>:18:                                     ; preds = %8
  %19 = getelementptr inbounds %union.anon, %union.anon* %12, i32 0, i32 0, i32 0
  %20 = load i32, i32* %19, align 4, !tbaa !12
  store i32 %20, i32* %5, align 4, !tbaa !383
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %22 = load i32, i32* %21, align 4, !tbaa !389
  %23 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %22, i32* %23, align 4, !tbaa !390
  %24 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %25 = load i32, i32* %24, align 4, !tbaa !380
  %26 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %25, i32* %26, align 4, !tbaa !391
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %9) #14
  br label %27

; <label>:27:                                     ; preds = %18, %3
  %28 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %28, align 4, !tbaa !372
  br label %29

; <label>:29:                                     ; preds = %27, %13
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"(%"class.parser::Parser"* nocapture, %"struct.parser::Expected"* noalias nocapture sret, i32) local_unnamed_addr #2 align 2 {
  %4 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %5 = load i32, i32* %4, align 4, !tbaa !383
  %6 = icmp eq i32 %5, %2
  br i1 %6, label %7, label %30

; <label>:7:                                      ; preds = %3
  %8 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %9 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %8, align 4, !tbaa !379
  %10 = bitcast %"class.parser::EventHandler"* %9 to void (%"class.parser::EventHandler"*, i32, i32, i32)***
  %11 = load void (%"class.parser::EventHandler"*, i32, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32, i32)*** %10, align 4, !tbaa !9
  %12 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %11, i32 4
  %13 = load void (%"class.parser::EventHandler"*, i32, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32, i32)** %12, align 4
  %14 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %15 = load i32, i32* %14, align 4, !tbaa !391
  %16 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %17 = load i32, i32* %16, align 4, !tbaa !390
  tail call x86_thiscallcc void %13(%"class.parser::EventHandler"* %9, i32 %2, i32 %17, i32 %15) #14
  %18 = load i32, i32* %16, align 4, !tbaa !390
  %19 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %18, i32* %19, align 4, !tbaa !395
  %20 = load i32, i32* %14, align 4, !tbaa !391
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  store i32 %20, i32* %21, align 4, !tbaa !381
  %22 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %23 = load i32, i32* %22, align 4, !tbaa !396
  store i32 %23, i32* %4, align 4, !tbaa !383
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %41, label %25

; <label>:25:                                     ; preds = %7
  %26 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  %27 = load i32, i32* %26, align 4, !tbaa !397
  store i32 %27, i32* %16, align 4, !tbaa !390
  %28 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  %29 = load i32, i32* %28, align 4, !tbaa !398
  store i32 %29, i32* %14, align 4, !tbaa !391
  store i32 0, i32* %22, align 4, !tbaa !396
  br label %41

; <label>:30:                                     ; preds = %3
  %31 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  %32 = load i32, i32* %31, align 4, !tbaa !390
  %33 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  %34 = load i32, i32* %33, align 4, !tbaa !391
  %35 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %35, align 4, !tbaa !372
  %36 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 0
  store i32 %32, i32* %36, align 4
  %37 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 1
  store i32 %34, i32* %37, align 4
  %38 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 2
  store i32 0, i32* %38, align 4
  %39 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 3
  store i32 %5, i32* %39, align 4
  %40 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1, i32 4
  store i32 %2, i32* %40, align 4
  br label %43

; <label>:41:                                     ; preds = %25, %7
  %42 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %42, align 4, !tbaa !372
  br label %43

; <label>:43:                                     ; preds = %41, %30
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?getErrorMessage@Parser@parser@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUParseException@2@@Z"(%"class.parser::Parser"* nocapture readnone, %"class.std::basic_string"* noalias sret, %"struct.parser::ParseException"* nocapture readonly dereferenceable(20)) local_unnamed_addr #2 align 2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"class.std::basic_string.101", align 4
  %15 = alloca [64 x i16*], align 4
  %16 = alloca [11 x i16], align 2
  %17 = bitcast %"class.std::basic_string.101"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %17) #14
  %18 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %2, i32 0, i32 3
  %19 = load i32, i32* %18, align 4, !tbaa !376
  %20 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %21 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  %22 = bitcast i32* %20 to i64*
  store i64 0, i64* %22, align 4
  store i32 7, i32* %21, align 4, !tbaa !54
  %23 = bitcast %"class.std::basic_string.101"* %14 to i16*
  store i16 0, i16* %23, align 4, !tbaa !56
  %24 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %24) #14
  %25 = ashr i32 %19, 31
  %26 = and i32 %25, 11
  %27 = add nuw nsw i32 %26, 12
  %28 = icmp slt i32 %19, 0
  %29 = select i1 %28, i16* getelementptr inbounds ([24 x i16], [24 x i16]* @"\01??_C@_1DA@LGMIGNBH@?$AAl?$AAe?$AAx?$AAi?$AAc?$AAa?$AAl?$AA?5?$AAa?$AAn?$AAa?$AAl?$AAy?$AAs?$AAi?$AAs?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([13 x i16], [13 x i16]* @"\01??_C@_1BK@ECDIFIKG@?$AAs?$AAy?$AAn?$AAt?$AAa?$AAx?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@", i32 0, i32 0)
  %30 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %27, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i16* %29) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %24) #14
  %31 = load i32, i32* %18, align 4
  %32 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %2, i32 0, i32 4
  %33 = icmp slt i32 %31, 0
  br i1 %33, label %76, label %34

; <label>:34:                                     ; preds = %3
  %35 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %31
  %36 = load i16*, i16** %35, align 4, !tbaa !23
  %37 = icmp eq i16* %36, null
  br i1 %37, label %76, label %38

; <label>:38:                                     ; preds = %34
  %39 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %39) #14
  %40 = load i32, i32* %20, align 4, !tbaa !58
  %41 = load i32, i32* %21, align 4, !tbaa !54
  %42 = sub i32 %41, %40
  %43 = icmp ult i32 %42, 8
  br i1 %43, label %53, label %44

; <label>:44:                                     ; preds = %38
  %45 = add i32 %40, 8
  store i32 %45, i32* %20, align 4, !tbaa !58
  %46 = icmp ugt i32 %41, 7
  %47 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %48 = load i16*, i16** %47, align 4
  %49 = select i1 %46, i16* %48, i16* %23
  %50 = getelementptr inbounds i16, i16* %49, i32 %40
  %51 = bitcast i16* %50 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* bitcast ([9 x i16]* @"\01??_C@_1BC@GOLKDDE@?$AA?0?$AA?5?$AAf?$AAo?$AAu?$AAn?$AAd?$AA?5?$AA?$AA@" to i8*), i32 16, i32 2, i1 false) #14
  %52 = getelementptr inbounds i16, i16* %49, i32 %45
  store i16 0, i16* %52, align 2, !tbaa !56
  br label %55

; <label>:53:                                     ; preds = %38
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 8, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i16* getelementptr inbounds ([9 x i16], [9 x i16]* @"\01??_C@_1BC@GOLKDDE@?$AA?0?$AA?5?$AAf?$AAo?$AAu?$AAn?$AAd?$AA?5?$AA?$AA@", i32 0, i32 0), i32 8) #14
  br label %55

; <label>:55:                                     ; preds = %53, %44
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %39) #14
  %56 = call i32 @wcslen(i16* nonnull %36) #14
  %57 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %57) #14
  %58 = load i32, i32* %20, align 4, !tbaa !58
  %59 = load i32, i32* %21, align 4, !tbaa !54
  %60 = sub i32 %59, %58
  %61 = icmp ult i32 %60, %56
  br i1 %61, label %73, label %62

; <label>:62:                                     ; preds = %55
  %63 = add i32 %58, %56
  store i32 %63, i32* %20, align 4, !tbaa !58
  %64 = icmp ugt i32 %59, 7
  %65 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %66 = load i16*, i16** %65, align 4
  %67 = select i1 %64, i16* %66, i16* %23
  %68 = getelementptr inbounds i16, i16* %67, i32 %58
  %69 = bitcast i16* %68 to i8*
  %70 = bitcast i16* %36 to i8*
  %71 = shl i32 %56, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %69, i8* %70, i32 %71, i32 2, i1 false) #14
  %72 = getelementptr inbounds i16, i16* %67, i32 %63
  store i16 0, i16* %72, align 2, !tbaa !56
  br label %75

; <label>:73:                                     ; preds = %55
  %74 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %56, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i16* nonnull %36, i32 %56) #14
  br label %75

; <label>:75:                                     ; preds = %73, %62
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %57) #14
  br label %76

; <label>:76:                                     ; preds = %75, %34, %3
  %77 = phi i1 [ true, %34 ], [ false, %75 ], [ true, %3 ]
  %78 = bitcast [64 x i16*]* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 256, i8* nonnull %78) #14
  %79 = getelementptr inbounds [64 x i16*], [64 x i16*]* %15, i32 0, i32 0
  %80 = load i32, i32* %32, align 4, !tbaa !529
  %81 = icmp slt i32 %80, 0
  br i1 %81, label %82, label %120

; <label>:82:                                     ; preds = %76
  %83 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %2, i32 0, i32 2
  %84 = load i32, i32* %83, align 4, !tbaa !530
  %85 = icmp sgt i32 %84, 0
  br i1 %85, label %91, label %86

; <label>:86:                                     ; preds = %82
  %87 = sub nsw i32 0, %84
  %88 = getelementptr inbounds [14 x i32], [14 x i32]* @"\01?INITIAL@Parser@parser@@0QBHB", i32 0, i32 %87
  %89 = load i32, i32* %88, align 4, !tbaa !24
  %90 = and i32 %89, 63
  br label %91

; <label>:91:                                     ; preds = %86, %82
  %92 = phi i32 [ %90, %86 ], [ %84, %82 ]
  %93 = add i32 %92, -1
  %94 = getelementptr inbounds [58 x i32], [58 x i32]* @"\01?EXPECTED@Parser@parser@@0QBHB", i32 0, i32 %93
  %95 = load i32, i32* %94, align 4, !tbaa !24
  br label %98

; <label>:96:                                     ; preds = %114
  %97 = icmp sgt i32 %116, 0
  br i1 %97, label %126, label %128

; <label>:98:                                     ; preds = %114, %91
  %99 = phi i32 [ %95, %91 ], [ %117, %114 ]
  %100 = phi i32 [ 0, %91 ], [ %118, %114 ]
  %101 = phi i32 [ 64, %91 ], [ %116, %114 ]
  %102 = phi i16** [ %79, %91 ], [ %115, %114 ]
  %103 = and i32 %99, 1
  %104 = icmp ne i32 %103, 0
  %105 = icmp sgt i32 %101, 1
  %106 = and i1 %104, %105
  br i1 %106, label %107, label %114

; <label>:107:                                    ; preds = %98
  %108 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %100
  %109 = bitcast i16** %108 to i32*
  %110 = load i32, i32* %109, align 4, !tbaa !23
  %111 = bitcast i16** %102 to i32*
  store i32 %110, i32* %111, align 4, !tbaa !23
  %112 = getelementptr inbounds i16*, i16** %102, i32 1
  %113 = add nsw i32 %101, -1
  br label %114

; <label>:114:                                    ; preds = %107, %98
  %115 = phi i16** [ %112, %107 ], [ %102, %98 ]
  %116 = phi i32 [ %113, %107 ], [ %101, %98 ]
  %117 = lshr i32 %99, 1
  %118 = add nuw nsw i32 %100, 1
  %119 = icmp eq i32 %117, 0
  br i1 %119, label %96, label %98

; <label>:120:                                    ; preds = %76
  %121 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %80
  %122 = bitcast i16** %121 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !23
  %124 = bitcast [64 x i16*]* %15 to i32*
  store i32 %123, i32* %124, align 4, !tbaa !23
  %125 = getelementptr inbounds [64 x i16*], [64 x i16*]* %15, i32 0, i32 1
  br label %126

; <label>:126:                                    ; preds = %120, %96
  %127 = phi i16** [ %125, %120 ], [ %115, %96 ]
  store i16* null, i16** %127, align 4, !tbaa !23
  br label %128

; <label>:128:                                    ; preds = %126, %96
  %129 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %129) #14
  %130 = load i32, i32* %20, align 4, !tbaa !58
  %131 = load i32, i32* %21, align 4, !tbaa !54
  %132 = sub i32 %131, %130
  %133 = icmp ult i32 %132, 17
  br i1 %133, label %143, label %134

; <label>:134:                                    ; preds = %128
  %135 = add i32 %130, 17
  store i32 %135, i32* %20, align 4, !tbaa !58
  %136 = icmp ugt i32 %131, 7
  %137 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %138 = load i16*, i16** %137, align 4
  %139 = select i1 %136, i16* %138, i16* %23
  %140 = getelementptr inbounds i16, i16* %139, i32 %130
  %141 = bitcast i16* %140 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %141, i8* bitcast ([18 x i16]* @"\01??_C@_1CE@DBEBHKDO@?$AA?6?$AAw?$AAh?$AAi?$AAl?$AAe?$AA?5?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" to i8*), i32 34, i32 2, i1 false) #14
  %142 = getelementptr inbounds i16, i16* %139, i32 %135
  store i16 0, i16* %142, align 2, !tbaa !56
  br label %145

; <label>:143:                                    ; preds = %128
  %144 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i16* getelementptr inbounds ([18 x i16], [18 x i16]* @"\01??_C@_1CE@DBEBHKDO@?$AA?6?$AAw?$AAh?$AAi?$AAl?$AAe?$AA?5?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@", i32 0, i32 0), i32 17) #14
  br label %145

; <label>:145:                                    ; preds = %143, %134
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %129) #14
  %146 = getelementptr inbounds [64 x i16*], [64 x i16*]* %15, i32 0, i32 1
  %147 = load i16*, i16** %146, align 4, !tbaa !23
  %148 = icmp eq i16* %147, null
  %149 = load i16*, i16** %79, align 4, !tbaa !23
  %150 = icmp eq i16* %149, null
  br i1 %150, label %195, label %151

; <label>:151:                                    ; preds = %145
  %152 = select i1 %148, i16* getelementptr inbounds ([1 x i16], [1 x i16]* @"\01??_C@_11LOCGONAA@?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([2 x i16], [2 x i16]* @"\01??_C@_13MCLHKIEA@?$AA?$FL?$AA?$AA@", i32 0, i32 0)
  %153 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  %154 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  %155 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %156 = xor i1 %148, true
  %157 = zext i1 %156 to i32
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %153) #14
  %158 = load i32, i32* %20, align 4, !tbaa !58
  %159 = load i32, i32* %21, align 4, !tbaa !54
  %160 = sub i32 %159, %158
  %161 = icmp ult i32 %160, %157
  br i1 %161, label %172, label %162

; <label>:162:                                    ; preds = %151
  %163 = add i32 %158, %157
  store i32 %163, i32* %20, align 4, !tbaa !58
  %164 = icmp ugt i32 %159, 7
  %165 = load i16*, i16** %155, align 4
  %166 = select i1 %164, i16* %165, i16* %23
  %167 = getelementptr inbounds i16, i16* %166, i32 %158
  %168 = bitcast i16* %167 to i8*
  %169 = bitcast i16* %152 to i8*
  %170 = shl nuw nsw i32 %157, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %168, i8* %169, i32 %170, i32 2, i1 false) #14
  %171 = getelementptr inbounds i16, i16* %166, i32 %163
  store i16 0, i16* %171, align 2, !tbaa !56
  br label %174

; <label>:172:                                    ; preds = %151
  %173 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %157, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i16* %152, i32 %157) #14
  br label %174

; <label>:174:                                    ; preds = %172, %162
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %153) #14
  %175 = call i32 @wcslen(i16* nonnull %149) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %154) #14
  %176 = load i32, i32* %20, align 4, !tbaa !58
  %177 = load i32, i32* %21, align 4, !tbaa !54
  %178 = sub i32 %177, %176
  %179 = icmp ult i32 %178, %175
  br i1 %179, label %190, label %180

; <label>:180:                                    ; preds = %174
  %181 = add i32 %176, %175
  store i32 %181, i32* %20, align 4, !tbaa !58
  %182 = icmp ugt i32 %177, 7
  %183 = load i16*, i16** %155, align 4
  %184 = select i1 %182, i16* %183, i16* %23
  %185 = getelementptr inbounds i16, i16* %184, i32 %176
  %186 = bitcast i16* %185 to i8*
  %187 = bitcast i16* %149 to i8*
  %188 = shl i32 %175, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %186, i8* %187, i32 %188, i32 2, i1 false) #14
  %189 = getelementptr inbounds i16, i16* %184, i32 %181
  store i16 0, i16* %189, align 2, !tbaa !56
  br label %192

; <label>:190:                                    ; preds = %174
  %191 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %175, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i16* nonnull %149, i32 %175) #14
  br label %192

; <label>:192:                                    ; preds = %190, %180
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %154) #14
  br i1 %148, label %195, label %193

; <label>:193:                                    ; preds = %192
  %194 = getelementptr inbounds [64 x i16*], [64 x i16*]* %15, i32 0, i32 1
  br label %225

; <label>:195:                                    ; preds = %260, %192, %145
  %196 = select i1 %148, i16* getelementptr inbounds ([2 x i16], [2 x i16]* @"\01??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([3 x i16], [3 x i16]* @"\01??_C@_15JBJAKFBB@?$AA?$FN?$AA?6?$AA?$AA@", i32 0, i32 0)
  %197 = select i1 %148, i32 1, i32 2
  %198 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %198) #14
  %199 = load i32, i32* %20, align 4, !tbaa !58
  %200 = load i32, i32* %21, align 4, !tbaa !54
  %201 = sub i32 %200, %199
  %202 = icmp ult i32 %201, %197
  br i1 %202, label %214, label %203

; <label>:203:                                    ; preds = %195
  %204 = add i32 %199, %197
  store i32 %204, i32* %20, align 4, !tbaa !58
  %205 = icmp ugt i32 %200, 7
  %206 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %207 = load i16*, i16** %206, align 4
  %208 = select i1 %205, i16* %207, i16* %23
  %209 = getelementptr inbounds i16, i16* %208, i32 %199
  %210 = bitcast i16* %209 to i8*
  %211 = bitcast i16* %196 to i8*
  %212 = shl nuw nsw i32 %197, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %210, i8* %211, i32 %212, i32 2, i1 false) #14
  %213 = getelementptr inbounds i16, i16* %208, i32 %204
  store i16 0, i16* %213, align 2, !tbaa !56
  br label %216

; <label>:214:                                    ; preds = %195
  %215 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %197, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i16* %196, i32 %197) #14
  br label %216

; <label>:216:                                    ; preds = %214, %203
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %198) #14
  %217 = bitcast [11 x i16]* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 22, i8* nonnull %217) #14
  %218 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %2, i32 0, i32 1
  %219 = load i32, i32* %218, align 4, !tbaa !531
  %220 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %2, i32 0, i32 0
  %221 = load i32, i32* %220, align 4, !tbaa !532
  %222 = sub nsw i32 %219, %221
  %223 = icmp ne i32 %222, 0
  %224 = and i1 %77, %223
  br i1 %224, label %264, label %320

; <label>:225:                                    ; preds = %260, %193
  %226 = phi i16** [ %194, %193 ], [ %261, %260 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %153) #14
  %227 = load i32, i32* %20, align 4, !tbaa !58
  %228 = load i32, i32* %21, align 4, !tbaa !54
  %229 = sub i32 %228, %227
  %230 = icmp ult i32 %229, 2
  br i1 %230, label %239, label %231

; <label>:231:                                    ; preds = %225
  %232 = add i32 %227, 2
  store i32 %232, i32* %20, align 4, !tbaa !58
  %233 = icmp ugt i32 %228, 7
  %234 = load i16*, i16** %155, align 4
  %235 = select i1 %233, i16* %234, i16* %23
  %236 = getelementptr inbounds i16, i16* %235, i32 %227
  %237 = bitcast i16* %236 to i32*
  store i32 2097196, i32* %237, align 2
  %238 = getelementptr inbounds i16, i16* %235, i32 %232
  store i16 0, i16* %238, align 2, !tbaa !56
  br label %241

; <label>:239:                                    ; preds = %225
  %240 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i16* getelementptr inbounds ([3 x i16], [3 x i16]* @"\01??_C@_15JOGBDECP@?$AA?0?$AA?5?$AA?$AA@", i32 0, i32 0), i32 2) #14
  br label %241

; <label>:241:                                    ; preds = %239, %231
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %153) #14
  %242 = load i16*, i16** %226, align 4, !tbaa !23
  %243 = call i32 @wcslen(i16* %242) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %154) #14
  %244 = load i32, i32* %20, align 4, !tbaa !58
  %245 = load i32, i32* %21, align 4, !tbaa !54
  %246 = sub i32 %245, %244
  %247 = icmp ult i32 %246, %243
  br i1 %247, label %258, label %248

; <label>:248:                                    ; preds = %241
  %249 = add i32 %244, %243
  store i32 %249, i32* %20, align 4, !tbaa !58
  %250 = icmp ugt i32 %245, 7
  %251 = load i16*, i16** %155, align 4
  %252 = select i1 %250, i16* %251, i16* %23
  %253 = getelementptr inbounds i16, i16* %252, i32 %244
  %254 = bitcast i16* %253 to i8*
  %255 = bitcast i16* %242 to i8*
  %256 = shl i32 %243, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %254, i8* %255, i32 %256, i32 2, i1 false) #14
  %257 = getelementptr inbounds i16, i16* %252, i32 %249
  store i16 0, i16* %257, align 2, !tbaa !56
  br label %260

; <label>:258:                                    ; preds = %241
  %259 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %243, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i16* %242, i32 %243) #14
  br label %260

; <label>:260:                                    ; preds = %258, %248
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %154) #14
  %261 = getelementptr inbounds i16*, i16** %226, i32 1
  %262 = load i16*, i16** %261, align 4, !tbaa !23
  %263 = icmp eq i16* %262, null
  br i1 %263, label %195, label %225, !llvm.loop !533

; <label>:264:                                    ; preds = %216
  %265 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %265) #14
  %266 = load i32, i32* %20, align 4, !tbaa !58
  %267 = load i32, i32* %21, align 4, !tbaa !54
  %268 = sub i32 %267, %266
  %269 = icmp ult i32 %268, 28
  br i1 %269, label %279, label %270

; <label>:270:                                    ; preds = %264
  %271 = add i32 %266, 28
  store i32 %271, i32* %20, align 4, !tbaa !58
  %272 = icmp ugt i32 %267, 7
  %273 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %274 = load i16*, i16** %273, align 4
  %275 = select i1 %272, i16* %274, i16* %23
  %276 = getelementptr inbounds i16, i16* %275, i32 %266
  %277 = bitcast i16* %276 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %277, i8* bitcast ([29 x i16]* @"\01??_C@_1DK@EAKPMKKL@?$AAa?$AAf?$AAt?$AAe?$AAr?$AA?5?$AAs?$AAu?$AAc?$AAc?$AAe?$AAs?$AAs?$AAf?$AAu?$AAl?$AAl?$AAy?$AA?5?$AAs?$AAc?$AAa?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@" to i8*), i32 56, i32 2, i1 false) #14
  %278 = getelementptr inbounds i16, i16* %275, i32 %271
  store i16 0, i16* %278, align 2, !tbaa !56
  br label %281

; <label>:279:                                    ; preds = %264
  %280 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 28, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i16* getelementptr inbounds ([29 x i16], [29 x i16]* @"\01??_C@_1DK@EAKPMKKL@?$AAa?$AAf?$AAt?$AAe?$AAr?$AA?5?$AAs?$AAu?$AAc?$AAc?$AAe?$AAs?$AAs?$AAf?$AAu?$AAl?$AAl?$AAy?$AA?5?$AAs?$AAc?$AAa?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?5?$AA?$AA@", i32 0, i32 0), i32 28) #14
  br label %281

; <label>:281:                                    ; preds = %279, %270
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %265) #14
  %282 = getelementptr inbounds [11 x i16], [11 x i16]* %16, i32 0, i32 0
  %283 = call i32 (i16*, i32, i16*, ...) @swprintf(i16* nonnull %282, i32 11, i16* getelementptr inbounds ([3 x i16], [3 x i16]* @"\01??_C@_15KNBIKKIN@?$AA?$CF?$AAd?$AA?$AA@", i32 0, i32 0), i32 %222)
  %284 = call i32 @wcslen(i16* nonnull %282) #14
  %285 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %285) #14
  %286 = load i32, i32* %20, align 4, !tbaa !58
  %287 = load i32, i32* %21, align 4, !tbaa !54
  %288 = sub i32 %287, %286
  %289 = icmp ult i32 %288, %284
  br i1 %289, label %300, label %290

; <label>:290:                                    ; preds = %281
  %291 = add i32 %286, %284
  store i32 %291, i32* %20, align 4, !tbaa !58
  %292 = icmp ugt i32 %287, 7
  %293 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %294 = load i16*, i16** %293, align 4
  %295 = select i1 %292, i16* %294, i16* %23
  %296 = getelementptr inbounds i16, i16* %295, i32 %286
  %297 = bitcast i16* %296 to i8*
  %298 = shl i32 %284, 1
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %297, i8* nonnull %217, i32 %298, i32 2, i1 false) #14
  %299 = getelementptr inbounds i16, i16* %295, i32 %291
  store i16 0, i16* %299, align 2, !tbaa !56
  br label %302

; <label>:300:                                    ; preds = %281
  %301 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 %284, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i16* nonnull %282, i32 %284) #14
  br label %302

; <label>:302:                                    ; preds = %300, %290
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %285) #14
  %303 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %303) #14
  %304 = load i32, i32* %20, align 4, !tbaa !58
  %305 = load i32, i32* %21, align 4, !tbaa !54
  %306 = sub i32 %305, %304
  %307 = icmp ult i32 %306, 22
  br i1 %307, label %317, label %308

; <label>:308:                                    ; preds = %302
  %309 = add i32 %304, 22
  store i32 %309, i32* %20, align 4, !tbaa !58
  %310 = icmp ugt i32 %305, 7
  %311 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %312 = load i16*, i16** %311, align 4
  %313 = select i1 %310, i16* %312, i16* %23
  %314 = getelementptr inbounds i16, i16* %313, i32 %304
  %315 = bitcast i16* %314 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %315, i8* bitcast ([23 x i16]* @"\01??_C@_1CO@HJFNILBI@?$AA?5?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAb?$AAe?$AAg?$AAi?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?6?$AA?$AA@" to i8*), i32 44, i32 2, i1 false) #14
  %316 = getelementptr inbounds i16, i16* %313, i32 %309
  store i16 0, i16* %316, align 2, !tbaa !56
  br label %319

; <label>:317:                                    ; preds = %302
  %318 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"* nonnull %14, i32 22, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i16* getelementptr inbounds ([23 x i16], [23 x i16]* @"\01??_C@_1CO@HJFNILBI@?$AA?5?$AAc?$AAh?$AAa?$AAr?$AAa?$AAc?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAb?$AAe?$AAg?$AAi?$AAn?$AAn?$AAi?$AAn?$AAg?$AA?6?$AA?$AA@", i32 0, i32 0), i32 22) #14
  br label %319

; <label>:319:                                    ; preds = %317, %308
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %303) #14
  br label %320

; <label>:320:                                    ; preds = %319, %216
  call void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* sret %1, %"class.std::basic_string.101"* nonnull dereferenceable(24) %14) #14
  call void @llvm.lifetime.end.p0i8(i64 22, i8* nonnull %217) #14
  call void @llvm.lifetime.end.p0i8(i64 256, i8* nonnull %78) #14
  %321 = load i32, i32* %21, align 4, !tbaa !54
  %322 = icmp ugt i32 %321, 7
  br i1 %322, label %323, label %352

; <label>:323:                                    ; preds = %320
  %324 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %325 = load i16*, i16** %324, align 4, !tbaa !12
  %326 = add i32 %321, 1
  %327 = icmp slt i32 %326, 0
  br i1 %327, label %348, label %328

; <label>:328:                                    ; preds = %323
  %329 = bitcast i16* %325 to i8*
  %330 = shl i32 %326, 1
  %331 = icmp ugt i32 %330, 4095
  br i1 %331, label %332, label %349

; <label>:332:                                    ; preds = %328
  %333 = add i32 %330, 35
  %334 = icmp ugt i32 %330, -36
  br i1 %334, label %348, label %335

; <label>:335:                                    ; preds = %332
  %336 = ptrtoint i16* %325 to i32
  %337 = and i32 %336, 31
  %338 = icmp eq i32 %337, 0
  br i1 %338, label %339, label %348

; <label>:339:                                    ; preds = %335
  %340 = add i32 %336, -4
  %341 = inttoptr i32 %340 to i32*
  %342 = load i32, i32* %341, align 4, !tbaa !24
  %343 = icmp ult i32 %342, %336
  br i1 %343, label %344, label %348

; <label>:344:                                    ; preds = %339
  %345 = sub i32 %340, %342
  %346 = icmp ugt i32 %345, 31
  %347 = inttoptr i32 %342 to i8*
  br i1 %346, label %348, label %349

; <label>:348:                                    ; preds = %344, %339, %335, %332, %323
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:349:                                    ; preds = %344, %328
  %350 = phi i8* [ %347, %344 ], [ %329, %328 ]
  %351 = phi i32 [ %333, %344 ], [ %330, %328 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %350, i32 %351) #14
  br label %352

; <label>:352:                                    ; preds = %349, %320
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %17) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_WI@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QB_WI@Z@PB_WI@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i16*, i32) local_unnamed_addr #2 comdat align 2 {
  %6 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !58
  %8 = sub i32 2147483646, %7
  %9 = icmp ult i32 %8, %1
  br i1 %9, label %10, label %11

; <label>:10:                                     ; preds = %5
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:11:                                     ; preds = %5
  %12 = add i32 %7, %1
  %13 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = load i32, i32* %13, align 4, !tbaa !54
  %15 = or i32 %12, 7
  %16 = icmp ugt i32 %15, 2147483646
  br i1 %16, label %35, label %17

; <label>:17:                                     ; preds = %11
  %18 = lshr i32 %14, 1
  %19 = sub nsw i32 2147483646, %18
  %20 = icmp ugt i32 %14, %19
  br i1 %20, label %35, label %21

; <label>:21:                                     ; preds = %17
  %22 = add i32 %18, %14
  %23 = icmp ult i32 %15, %22
  %24 = select i1 %23, i32 %22, i32 %15
  %25 = add i32 %24, 1
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %47, label %27

; <label>:27:                                     ; preds = %21
  %28 = icmp slt i32 %25, 0
  br i1 %28, label %29, label %30

; <label>:29:                                     ; preds = %27
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:30:                                     ; preds = %27
  %31 = shl i32 %25, 1
  %32 = icmp ugt i32 %31, 4095
  br i1 %32, label %33, label %45

; <label>:33:                                     ; preds = %30
  %34 = icmp ugt i32 %31, -36
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %33, %17, %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %33
  %37 = add i32 %31, 35
  %38 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  %39 = ptrtoint i8* %38 to i32
  %40 = add i32 %39, 35
  %41 = and i32 %40, -32
  %42 = inttoptr i32 %41 to i8*
  %43 = inttoptr i32 %41 to i32*
  %44 = getelementptr inbounds i32, i32* %43, i32 -1
  store i32 %39, i32* %44, align 4, !tbaa !24
  br label %47

; <label>:45:                                     ; preds = %30
  %46 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %31) #14
  br label %47

; <label>:47:                                     ; preds = %45, %36, %21
  %48 = phi i32 [ -1, %21 ], [ %24, %36 ], [ %24, %45 ]
  %49 = phi i8* [ null, %21 ], [ %42, %36 ], [ %46, %45 ]
  %50 = bitcast i8* %49 to i16*
  %51 = ptrtoint i8* %49 to i32
  store i32 %12, i32* %6, align 4, !tbaa !58
  store i32 %48, i32* %13, align 4, !tbaa !54
  %52 = icmp ugt i32 %14, 7
  br i1 %52, label %53, label %89

; <label>:53:                                     ; preds = %47
  %54 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %55 = load i16*, i16** %54, align 4, !tbaa !12
  %56 = bitcast i16* %55 to i8*
  %57 = shl i32 %7, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %56, i32 %57, i32 2, i1 false) #14
  %58 = getelementptr inbounds i16, i16* %50, i32 %7
  %59 = bitcast i16* %58 to i8*
  %60 = bitcast i16* %3 to i8*
  %61 = shl i32 %4, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* %60, i32 %61, i32 2, i1 false) #14
  %62 = add i32 %7, %4
  %63 = getelementptr inbounds i16, i16* %50, i32 %62
  store i16 0, i16* %63, align 2, !tbaa !56
  %64 = add i32 %14, 1
  %65 = icmp slt i32 %64, 0
  br i1 %65, label %85, label %66

; <label>:66:                                     ; preds = %53
  %67 = shl i32 %64, 1
  %68 = icmp ugt i32 %67, 4095
  br i1 %68, label %69, label %86

; <label>:69:                                     ; preds = %66
  %70 = add i32 %67, 35
  %71 = icmp ugt i32 %67, -36
  br i1 %71, label %85, label %72

; <label>:72:                                     ; preds = %69
  %73 = ptrtoint i16* %55 to i32
  %74 = and i32 %73, 31
  %75 = icmp eq i32 %74, 0
  br i1 %75, label %76, label %85

; <label>:76:                                     ; preds = %72
  %77 = add i32 %73, -4
  %78 = inttoptr i32 %77 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = icmp ult i32 %79, %73
  br i1 %80, label %81, label %85

; <label>:81:                                     ; preds = %76
  %82 = sub i32 %77, %79
  %83 = icmp ugt i32 %82, 31
  %84 = inttoptr i32 %79 to i8*
  br i1 %83, label %85, label %86

; <label>:85:                                     ; preds = %81, %76, %72, %69, %53
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:86:                                     ; preds = %81, %66
  %87 = phi i8* [ %84, %81 ], [ %56, %66 ]
  %88 = phi i32 [ %70, %81 ], [ %67, %66 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %87, i32 %88) #14
  br label %98

; <label>:89:                                     ; preds = %47
  %90 = bitcast %"class.std::basic_string.101"* %0 to i8*
  %91 = shl i32 %7, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* %90, i32 %91, i32 2, i1 false) #14
  %92 = getelementptr inbounds i16, i16* %50, i32 %7
  %93 = bitcast i16* %92 to i8*
  %94 = bitcast i16* %3 to i8*
  %95 = shl i32 %4, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %93, i8* %94, i32 %95, i32 2, i1 false) #14
  %96 = add i32 %7, %4
  %97 = getelementptr inbounds i16, i16* %50, i32 %96
  store i16 0, i16* %97, align 2, !tbaa !56
  br label %98

; <label>:98:                                     ; preds = %89, %86
  %99 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %51, i32* %99, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

; Function Attrs: argmemonly nounwind readonly
declare i32 @wcslen(i16* nocapture) local_unnamed_addr #13

; Function Attrs: inlinehint nounwind
define linkonce_odr i32 @swprintf(i16*, i32, i16*, ...) local_unnamed_addr #1 comdat {
  %4 = alloca i8*, align 4
  %5 = bitcast i8** %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #14
  call void @llvm.va_start(i8* nonnull %5)
  %6 = load i8*, i8** %4, align 4, !tbaa !23
  %7 = call i64* @__local_stdio_printf_options() #14
  %8 = load i64, i64* %7, align 8, !tbaa !61
  %9 = call i32 @__stdio_common_vswprintf(i64 %8, i16* %0, i32 %1, i16* %2, %struct.__crt_locale_pointers* null, i8* %6) #14
  %10 = icmp sgt i32 %9, -1
  %11 = select i1 %10, i32 %9, i32 -1
  call void @llvm.va_end(i8* nonnull %5)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #14
  ret i32 %11
}

; Function Attrs: nounwind
declare void @llvm.va_start(i8*) #14

; Function Attrs: noinline norecurse nounwind
define linkonce_odr i64* @__local_stdio_printf_options() local_unnamed_addr #15 comdat {
  ret i64* @"\01?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA"
}

declare i32 @__stdio_common_vswprintf(i64, i16*, i32, i16*, %struct.__crt_locale_pointers*, i8*) local_unnamed_addr #6

; Function Attrs: nounwind
declare void @llvm.va_end(i8*) #14

; Function Attrs: norecurse nounwind readonly
define i16* @"\01?getOffendingToken@Parser@parser@@CAPB_WUParseException@2@@Z"(%"struct.parser::ParseException"* byval nocapture readonly align 4) local_unnamed_addr #10 align 2 {
  %2 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %0, i32 0, i32 3
  %3 = load i32, i32* %2, align 4, !tbaa !376
  %4 = icmp slt i32 %3, 0
  br i1 %4, label %8, label %5

; <label>:5:                                      ; preds = %1
  %6 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %3
  %7 = load i16*, i16** %6, align 4, !tbaa !23
  br label %8

; <label>:8:                                      ; preds = %5, %1
  %9 = phi i16* [ %7, %5 ], [ null, %1 ]
  ret i16* %9
}

; Function Attrs: norecurse nounwind
define void @"\01?getExpectedTokenSet@Parser@parser@@CAXABUParseException@2@PAPB_WH@Z"(%"struct.parser::ParseException"* nocapture readonly dereferenceable(20), i16** nocapture, i32) local_unnamed_addr #0 align 2 {
  %4 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %0, i32 0, i32 4
  %5 = load i32, i32* %4, align 4, !tbaa !529
  %6 = icmp slt i32 %5, 0
  br i1 %6, label %7, label %46

; <label>:7:                                      ; preds = %3
  %8 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !530
  %10 = icmp sgt i32 %9, 0
  br i1 %10, label %16, label %11

; <label>:11:                                     ; preds = %7
  %12 = sub nsw i32 0, %9
  %13 = getelementptr inbounds [14 x i32], [14 x i32]* @"\01?INITIAL@Parser@parser@@0QBHB", i32 0, i32 %12
  %14 = load i32, i32* %13, align 4, !tbaa !24
  %15 = and i32 %14, 63
  br label %16

; <label>:16:                                     ; preds = %11, %7
  %17 = phi i32 [ %15, %11 ], [ %9, %7 ]
  %18 = add i32 %17, -1
  %19 = getelementptr inbounds [58 x i32], [58 x i32]* @"\01?EXPECTED@Parser@parser@@0QBHB", i32 0, i32 %18
  %20 = load i32, i32* %19, align 4, !tbaa !24
  br label %23

; <label>:21:                                     ; preds = %39
  %22 = icmp sgt i32 %41, 0
  br i1 %22, label %45, label %57

; <label>:23:                                     ; preds = %39, %16
  %24 = phi i32 [ %20, %16 ], [ %42, %39 ]
  %25 = phi i32 [ 0, %16 ], [ %43, %39 ]
  %26 = phi i32 [ %2, %16 ], [ %41, %39 ]
  %27 = phi i16** [ %1, %16 ], [ %40, %39 ]
  %28 = and i32 %24, 1
  %29 = icmp ne i32 %28, 0
  %30 = icmp sgt i32 %26, 1
  %31 = and i1 %29, %30
  br i1 %31, label %32, label %39

; <label>:32:                                     ; preds = %23
  %33 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %25
  %34 = bitcast i16** %33 to i32*
  %35 = load i32, i32* %34, align 4, !tbaa !23
  %36 = bitcast i16** %27 to i32*
  store i32 %35, i32* %36, align 4, !tbaa !23
  %37 = getelementptr inbounds i16*, i16** %27, i32 1
  %38 = add nsw i32 %26, -1
  br label %39

; <label>:39:                                     ; preds = %32, %23
  %40 = phi i16** [ %37, %32 ], [ %27, %23 ]
  %41 = phi i32 [ %38, %32 ], [ %26, %23 ]
  %42 = lshr i32 %24, 1
  %43 = add nuw nsw i32 %25, 1
  %44 = icmp eq i32 %42, 0
  br i1 %44, label %21, label %23

; <label>:45:                                     ; preds = %21
  store i16* null, i16** %40, align 4, !tbaa !23
  br label %57

; <label>:46:                                     ; preds = %3
  %47 = icmp eq i32 %2, 1
  br i1 %47, label %48, label %49

; <label>:48:                                     ; preds = %46
  store i16* null, i16** %1, align 4, !tbaa !23
  br label %57

; <label>:49:                                     ; preds = %46
  %50 = icmp sgt i32 %2, 1
  br i1 %50, label %51, label %57

; <label>:51:                                     ; preds = %49
  %52 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %5
  %53 = bitcast i16** %52 to i32*
  %54 = load i32, i32* %53, align 4, !tbaa !23
  %55 = bitcast i16** %1 to i32*
  store i32 %54, i32* %55, align 4, !tbaa !23
  %56 = getelementptr inbounds i16*, i16** %1, i32 1
  store i16* null, i16** %56, align 4, !tbaa !23
  br label %57

; <label>:57:                                     ; preds = %51, %49, %48, %45, %21
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?reset@Parser@parser@@AAEXHHH@Z"(%"class.parser::Parser"* nocapture, i32, i32, i32) local_unnamed_addr #2 align 2 {
  %5 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 6
  store i32 %2, i32* %5, align 4, !tbaa !395
  %6 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  store i32 %2, i32* %6, align 4, !tbaa !381
  %7 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  store i32 %1, i32* %7, align 4, !tbaa !383
  %8 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 9
  store i32 %2, i32* %8, align 4, !tbaa !390
  %9 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 10
  store i32 %3, i32* %9, align 4, !tbaa !391
  %10 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  store i32 0, i32* %10, align 4, !tbaa !396
  %11 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  store i32 %3, i32* %11, align 4, !tbaa !380
  %12 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %13 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %12, align 4, !tbaa !379
  %14 = bitcast %"class.parser::EventHandler"* %13 to void (%"class.parser::EventHandler"*, i16*)***
  %15 = load void (%"class.parser::EventHandler"*, i16*)**, void (%"class.parser::EventHandler"*, i16*)*** %14, align 4, !tbaa !9
  %16 = getelementptr inbounds void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %15, i32 1
  %17 = load void (%"class.parser::EventHandler"*, i16*)*, void (%"class.parser::EventHandler"*, i16*)** %16, align 4
  %18 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 1
  %19 = load i16*, i16** %18, align 4, !tbaa !377
  tail call x86_thiscallcc void %17(%"class.parser::EventHandler"* %13, i16* %19) #14
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?parse_Expression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"*, %"struct.parser::Expected"* noalias nocapture sret) local_unnamed_addr #2 align 2 {
  %3 = alloca %"struct.parser::Expected", align 4
  %4 = alloca %"struct.parser::Expected", align 4
  %5 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 2
  %6 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %5, align 4, !tbaa !379
  %7 = bitcast %"class.parser::EventHandler"* %6 to void (%"class.parser::EventHandler"*, i32, i32)***
  %8 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %7, align 4, !tbaa !9
  %9 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %8, i32 2
  %10 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %9, align 4
  %11 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 7
  %12 = load i32, i32* %11, align 4, !tbaa !381
  tail call x86_thiscallcc void %10(%"class.parser::EventHandler"* %6, i32 2, i32 %12) #14
  %13 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %14 = load i32, i32* %13, align 4, !tbaa !383
  switch i32 %14, label %26 [
    i32 3, label %15
    i32 4, label %15
    i32 5, label %15
    i32 9, label %15
    i32 10, label %15
    i32 11, label %15
  ]

; <label>:15:                                     ; preds = %2, %2, %2, %2, %2, %2
  %16 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %16) #14
  call x86_thiscallcc void @"\01?parse_WSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %3)
  %17 = load i8, i8* %16, align 4, !tbaa !372, !range !382
  %18 = icmp eq i8 %17, 0
  br i1 %18, label %19, label %25

; <label>:19:                                     ; preds = %15
  %20 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %3, i32 0, i32 1
  %21 = bitcast %"struct.parser::ParseException"* %20 to i8*
  %22 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %22, align 4, !tbaa !372
  %23 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %24 = bitcast %"struct.parser::ParseException"* %23 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %21, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %16) #14
  br label %45

; <label>:25:                                     ; preds = %15
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %16) #14
  br label %37

; <label>:26:                                     ; preds = %2
  %27 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %27) #14
  call x86_thiscallcc void @"\01?parse_NonWSSeparableExpression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected"* nonnull sret %4)
  %28 = load i8, i8* %27, align 4, !tbaa !372, !range !382
  %29 = icmp eq i8 %28, 0
  br i1 %29, label %30, label %36

; <label>:30:                                     ; preds = %26
  %31 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %4, i32 0, i32 1
  %32 = bitcast %"struct.parser::ParseException"* %31 to i8*
  %33 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %33, align 4, !tbaa !372
  %34 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %35 = bitcast %"struct.parser::ParseException"* %34 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %35, i8* %32, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27) #14
  br label %45

; <label>:36:                                     ; preds = %26
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27) #14
  br label %37

; <label>:37:                                     ; preds = %36, %25
  %38 = load %"class.parser::EventHandler"*, %"class.parser::EventHandler"** %5, align 4, !tbaa !379
  %39 = bitcast %"class.parser::EventHandler"* %38 to void (%"class.parser::EventHandler"*, i32, i32)***
  %40 = load void (%"class.parser::EventHandler"*, i32, i32)**, void (%"class.parser::EventHandler"*, i32, i32)*** %39, align 4, !tbaa !9
  %41 = getelementptr inbounds void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %40, i32 3
  %42 = load void (%"class.parser::EventHandler"*, i32, i32)*, void (%"class.parser::EventHandler"*, i32, i32)** %41, align 4
  %43 = load i32, i32* %11, align 4, !tbaa !381
  tail call x86_thiscallcc void %42(%"class.parser::EventHandler"* %38, i32 2, i32 %43) #14
  %44 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %44, align 4, !tbaa !372
  br label %45

; <label>:45:                                     ; preds = %37, %30, %19
  ret void
}

; Function Attrs: nounwind
define x86_thiscallcc void @"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"(%"class.parser::Parser"* nocapture, %"struct.parser::Expected"* noalias nocapture sret, i32) local_unnamed_addr #2 align 2 {
  %4 = alloca %"struct.parser::Expected.6", align 4
  %5 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 11
  %6 = load i32, i32* %5, align 4, !tbaa !396
  %7 = icmp eq i32 %6, 0
  br i1 %7, label %8, label %27

; <label>:8:                                      ; preds = %3
  %9 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %9) #14
  call x86_thiscallcc void @"\01?match@Parser@parser@@AAE?AU?$Expected@H@2@H@Z"(%"class.parser::Parser"* nonnull %0, %"struct.parser::Expected.6"* nonnull sret %4, i32 %2)
  %10 = load i8, i8* %9, align 4, !tbaa !387, !range !382
  %11 = icmp eq i8 %10, 0
  %12 = getelementptr inbounds %"struct.parser::Expected.6", %"struct.parser::Expected.6"* %4, i32 0, i32 1
  br i1 %11, label %13, label %18

; <label>:13:                                     ; preds = %8
  %14 = bitcast %union.anon* %12 to i8*
  %15 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 0, i8* %15, align 4, !tbaa !372
  %16 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 1
  %17 = bitcast %"struct.parser::ParseException"* %16 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %17, i8* %14, i32 20, i32 4, i1 false)
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %9) #14
  br label %35

; <label>:18:                                     ; preds = %8
  %19 = getelementptr inbounds %union.anon, %union.anon* %12, i32 0, i32 0, i32 0
  %20 = load i32, i32* %19, align 4, !tbaa !12
  store i32 %20, i32* %5, align 4, !tbaa !396
  %21 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 3
  %22 = load i32, i32* %21, align 4, !tbaa !389
  %23 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 12
  store i32 %22, i32* %23, align 4, !tbaa !397
  %24 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 4
  %25 = load i32, i32* %24, align 4, !tbaa !380
  %26 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 13
  store i32 %25, i32* %26, align 4, !tbaa !398
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %9) #14
  br label %27

; <label>:27:                                     ; preds = %18, %3
  %28 = phi i32 [ %20, %18 ], [ %6, %3 ]
  %29 = shl i32 %28, 5
  %30 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 8
  %31 = load i32, i32* %30, align 4, !tbaa !383
  %32 = or i32 %29, %31
  %33 = getelementptr inbounds %"class.parser::Parser", %"class.parser::Parser"* %0, i32 0, i32 5
  store i32 %32, i32* %33, align 4, !tbaa !417
  %34 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %1, i32 0, i32 0
  store i8 1, i8* %34, align 4, !tbaa !372
  br label %35

; <label>:35:                                     ; preds = %27, %13
  ret void
}

; Function Attrs: norecurse nounwind
define void @"\01?getTokenSet@Parser@parser@@CAXHPAPB_WH@Z"(i32, i16** nocapture, i32) local_unnamed_addr #0 align 2 {
  %4 = icmp slt i32 %0, 0
  br i1 %4, label %5, label %7

; <label>:5:                                      ; preds = %3
  %6 = sub nsw i32 0, %0
  br label %11

; <label>:7:                                      ; preds = %3
  %8 = getelementptr inbounds [14 x i32], [14 x i32]* @"\01?INITIAL@Parser@parser@@0QBHB", i32 0, i32 %0
  %9 = load i32, i32* %8, align 4, !tbaa !24
  %10 = and i32 %9, 63
  br label %11

; <label>:11:                                     ; preds = %7, %5
  %12 = phi i32 [ %6, %5 ], [ %10, %7 ]
  %13 = add i32 %12, -1
  %14 = getelementptr inbounds [58 x i32], [58 x i32]* @"\01?EXPECTED@Parser@parser@@0QBHB", i32 0, i32 %13
  %15 = load i32, i32* %14, align 4, !tbaa !24
  br label %18

; <label>:16:                                     ; preds = %34
  %17 = icmp sgt i32 %36, 0
  br i1 %17, label %40, label %41

; <label>:18:                                     ; preds = %34, %11
  %19 = phi i32 [ %15, %11 ], [ %37, %34 ]
  %20 = phi i32 [ 0, %11 ], [ %38, %34 ]
  %21 = phi i32 [ %2, %11 ], [ %36, %34 ]
  %22 = phi i16** [ %1, %11 ], [ %35, %34 ]
  %23 = and i32 %19, 1
  %24 = icmp ne i32 %23, 0
  %25 = icmp sgt i32 %21, 1
  %26 = and i1 %25, %24
  br i1 %26, label %27, label %34

; <label>:27:                                     ; preds = %18
  %28 = getelementptr inbounds [23 x i16*], [23 x i16*]* @"\01?TOKEN@Parser@parser@@0PAPB_WA", i32 0, i32 %20
  %29 = bitcast i16** %28 to i32*
  %30 = load i32, i32* %29, align 4, !tbaa !23
  %31 = bitcast i16** %22 to i32*
  store i32 %30, i32* %31, align 4, !tbaa !23
  %32 = getelementptr inbounds i16*, i16** %22, i32 1
  %33 = add nsw i32 %21, -1
  br label %34

; <label>:34:                                     ; preds = %27, %18
  %35 = phi i16** [ %32, %27 ], [ %22, %18 ]
  %36 = phi i32 [ %33, %27 ], [ %21, %18 ]
  %37 = lshr i32 %19, 1
  %38 = add nuw nsw i32 %20, 1
  %39 = icmp eq i32 %37, 0
  br i1 %39, label %16, label %18

; <label>:40:                                     ; preds = %16
  store i16* null, i16** %35, align 4, !tbaa !23
  br label %41

; <label>:41:                                     ; preds = %40, %16
  ret void
}

; Function Attrs: norecurse nounwind readnone
define i32 @"\01?ec@Parser@parser@@CAHHH@Z"(i32, i32) local_unnamed_addr #11 align 2 {
  %3 = mul nsw i32 %0, 58
  %4 = add i32 %1, -1
  %5 = add i32 %4, %3
  %6 = getelementptr inbounds [58 x i32], [58 x i32]* @"\01?EXPECTED@Parser@parser@@0QBHB", i32 0, i32 %5
  %7 = load i32, i32* %6, align 4, !tbaa !24
  ret i32 %7
}

; Function Attrs: norecurse nounwind readnone
define x86_thiscallcc void @"\01??1Parser@parser@@UAE@XZ"(%"class.parser::Parser"* nocapture) unnamed_addr #11 align 2 {
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @builtinAbs() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %79

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %79

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %66 [
    i32 1, label %36
    i32 2, label %42
    i32 3, label %48
    i32 4, label %54
    i32 11, label %58
    i32 12, label %62
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to i8*
  %38 = load i8, i8* %37, align 1, !tbaa !12
  %39 = icmp sgt i8 %38, -1
  %40 = sub i8 0, %38
  %41 = select i1 %39, i8 %38, i8 %40
  store i8 %41, i8* %37, align 1, !tbaa !12
  br label %79

; <label>:42:                                     ; preds = %31
  %43 = bitcast %class.variant.43* %33 to i16*
  %44 = load i16, i16* %43, align 2, !tbaa !59
  %45 = icmp sgt i16 %44, -1
  %46 = sub i16 0, %44
  %47 = select i1 %45, i16 %44, i16 %46
  store i16 %47, i16* %43, align 2, !tbaa !59
  br label %79

; <label>:48:                                     ; preds = %31
  %49 = bitcast %class.variant.43* %33 to i32*
  %50 = load i32, i32* %49, align 4, !tbaa !24
  %51 = icmp sgt i32 %50, -1
  %52 = sub i32 0, %50
  %53 = select i1 %51, i32 %50, i32 %52
  store i32 %53, i32* %49, align 4, !tbaa !24
  br label %79

; <label>:54:                                     ; preds = %31
  %55 = bitcast %class.variant.43* %33 to i64*
  %56 = load i64, i64* %55, align 8, !tbaa !61
  %57 = tail call i64 @llabs(i64 %56) #23
  store i64 %57, i64* %55, align 8, !tbaa !61
  br label %79

; <label>:58:                                     ; preds = %31
  %59 = bitcast %class.variant.43* %33 to float*
  %60 = load float, float* %59, align 4, !tbaa !70
  %61 = tail call float @llvm.fabs.f32(float %60) #14
  store float %61, float* %59, align 4, !tbaa !70
  br label %79

; <label>:62:                                     ; preds = %31
  %63 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %64 = load double, double* %63, align 8, !tbaa !72
  %65 = tail call double @llvm.fabs.f64(double %64) #14
  store double %65, double* %63, align 8, !tbaa !72
  br label %79

; <label>:66:                                     ; preds = %31
  %67 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %68 = icmp eq i32 %67, 0
  br i1 %68, label %69, label %79

; <label>:69:                                     ; preds = %66
  %70 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %70) #14
  %71 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %72 = icmp ult i32 %71, 16
  br i1 %72, label %76, label %73

; <label>:73:                                     ; preds = %69
  %74 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %74, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %75 = getelementptr inbounds i8, i8* %74, i32 16
  store i8 0, i8* %75, align 1, !tbaa !12
  br label %78

; <label>:76:                                     ; preds = %69
  %77 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %78

; <label>:78:                                     ; preds = %76, %73
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %70) #14
  br label %79

; <label>:79:                                     ; preds = %78, %66, %62, %58, %54, %48, %42, %36, %28, %14
  %80 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %78 ], [ false, %66 ], [ true, %62 ], [ true, %58 ], [ true, %54 ], [ true, %48 ], [ true, %42 ], [ true, %36 ]
  ret i1 %80
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i8*) local_unnamed_addr #2 comdat align 2 {
  %5 = icmp slt i32 %1, 0
  br i1 %5, label %6, label %7

; <label>:6:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:7:                                      ; preds = %4
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = or i32 %1, 15
  %11 = icmp slt i32 %10, 0
  br i1 %11, label %27, label %12

; <label>:12:                                     ; preds = %7
  %13 = lshr i32 %9, 1
  %14 = xor i32 %13, 2147483647
  %15 = icmp ugt i32 %9, %14
  br i1 %15, label %27, label %16

; <label>:16:                                     ; preds = %12
  %17 = add i32 %13, %9
  %18 = icmp ult i32 %10, %17
  %19 = select i1 %18, i32 %17, i32 %10
  %20 = add i32 %19, 1
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %40, label %22

; <label>:22:                                     ; preds = %16
  %23 = icmp ugt i32 %20, 4095
  br i1 %23, label %24, label %38

; <label>:24:                                     ; preds = %22
  %25 = icmp ugt i32 %20, -36
  br i1 %25, label %26, label %27

; <label>:26:                                     ; preds = %24
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:27:                                     ; preds = %24, %12, %7
  %28 = phi i32 [ %20, %24 ], [ -2147483648, %7 ], [ -2147483648, %12 ]
  %29 = phi i32 [ %19, %24 ], [ 2147483647, %7 ], [ 2147483647, %12 ]
  %30 = add i32 %28, 35
  %31 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %30) #14
  %32 = ptrtoint i8* %31 to i32
  %33 = add i32 %32, 35
  %34 = and i32 %33, -32
  %35 = inttoptr i32 %34 to i8*
  %36 = inttoptr i32 %34 to i32*
  %37 = getelementptr inbounds i32, i32* %36, i32 -1
  store i32 %32, i32* %37, align 4, !tbaa !24
  br label %40

; <label>:38:                                     ; preds = %22
  %39 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %20) #14
  br label %40

; <label>:40:                                     ; preds = %38, %27, %16
  %41 = phi i32 [ -1, %16 ], [ %29, %27 ], [ %19, %38 ]
  %42 = phi i8* [ null, %16 ], [ %35, %27 ], [ %39, %38 ]
  %43 = ptrtoint i8* %42 to i32
  %44 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 %1, i32* %44, align 4, !tbaa !83
  store i32 %41, i32* %8, align 4, !tbaa !81
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %42, i8* %3, i32 %1, i32 1, i1 false) #14
  %45 = getelementptr inbounds i8, i8* %42, i32 %1
  store i8 0, i8* %45, align 1, !tbaa !12
  %46 = icmp ugt i32 %9, 15
  br i1 %46, label %47, label %72

; <label>:47:                                     ; preds = %40
  %48 = add i32 %9, 1
  %49 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %50 = load i8*, i8** %49, align 4, !tbaa !12
  %51 = icmp ugt i32 %48, 4095
  br i1 %51, label %52, label %69

; <label>:52:                                     ; preds = %47
  %53 = add i32 %9, 36
  %54 = icmp ugt i32 %48, -36
  br i1 %54, label %68, label %55

; <label>:55:                                     ; preds = %52
  %56 = ptrtoint i8* %50 to i32
  %57 = and i32 %56, 31
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %59, label %68

; <label>:59:                                     ; preds = %55
  %60 = add i32 %56, -4
  %61 = inttoptr i32 %60 to i32*
  %62 = load i32, i32* %61, align 4, !tbaa !24
  %63 = icmp ult i32 %62, %56
  br i1 %63, label %64, label %68

; <label>:64:                                     ; preds = %59
  %65 = sub i32 %60, %62
  %66 = icmp ugt i32 %65, 31
  %67 = inttoptr i32 %62 to i8*
  br i1 %66, label %68, label %69

; <label>:68:                                     ; preds = %64, %59, %55, %52
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:69:                                     ; preds = %64, %47
  %70 = phi i8* [ %67, %64 ], [ %50, %47 ]
  %71 = phi i32 [ %53, %64 ], [ %48, %47 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %70, i32 %71) #14
  br label %72

; <label>:72:                                     ; preds = %69, %40
  %73 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %43, i32* %73, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: nounwind readnone
declare i64 @llabs(i64) local_unnamed_addr #16

; Function Attrs: nounwind readnone speculatable
declare float @llvm.fabs.f32(float) #17

; Function Attrs: nounwind readnone speculatable
declare double @llvm.fabs.f64(double) #17

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define zeroext i1 @builtinAcos() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @acos(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @acos(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @acos(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinAllocateMemory() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %11 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %12 = sub i32 %10, %11
  %13 = ashr exact i32 %12, 4
  %14 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %15 = icmp eq i32 %13, %14
  %16 = inttoptr i32 %11 to %class.variant.43*
  br i1 %15, label %19, label %17

; <label>:17:                                     ; preds = %0
  %18 = add nsw i32 %13, -1
  br label %38

; <label>:19:                                     ; preds = %0
  %20 = icmp eq i32 %13, 0
  br i1 %20, label %21, label %36

; <label>:21:                                     ; preds = %19
  %22 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %23 = icmp eq i32 %22, 0
  br i1 %23, label %24, label %212

; <label>:24:                                     ; preds = %21
  %25 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %25) #14
  %26 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %27 = icmp ult i32 %26, 15
  br i1 %27, label %33, label %28

; <label>:28:                                     ; preds = %24
  %29 = icmp eq i32 %26, 15
  %30 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %31 = select i1 %29, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %30
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %31, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %32 = getelementptr inbounds i8, i8* %31, i32 15
  store i8 0, i8* %32, align 1, !tbaa !12
  br label %35

; <label>:33:                                     ; preds = %24
  %34 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %35

; <label>:35:                                     ; preds = %33, %28
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %25) #14
  br label %212

; <label>:36:                                     ; preds = %19
  %37 = add nsw i32 %13, -1
  store i32 %37, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %38

; <label>:38:                                     ; preds = %36, %17
  %39 = phi i32 [ %18, %17 ], [ %37, %36 ]
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %39
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %39, i32 1
  %42 = load i32, i32* %41, align 8, !tbaa !535
  switch i32 %42, label %162 [
    i32 1, label %43
    i32 2, label %64
    i32 3, label %85
    i32 4, label %104
    i32 5, label %125
    i32 6, label %144
    i32 7, label %148
    i32 8, label %152
    i32 9, label %155
    i32 10, label %159
  ]

; <label>:43:                                     ; preds = %38
  %44 = bitcast %class.variant.43* %40 to i8*
  %45 = load i8, i8* %44, align 1, !tbaa !12
  %46 = icmp slt i8 %45, 0
  br i1 %46, label %47, label %62

; <label>:47:                                     ; preds = %43
  %48 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %49 = icmp eq i32 %48, 0
  br i1 %49, label %50, label %212

; <label>:50:                                     ; preds = %47
  %51 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %51) #14
  %52 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %53 = icmp ult i32 %52, 12
  br i1 %53, label %59, label %54

; <label>:54:                                     ; preds = %50
  %55 = icmp ugt i32 %52, 15
  %56 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %57 = select i1 %55, i8* %56, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %57, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %58 = getelementptr inbounds i8, i8* %57, i32 12
  store i8 0, i8* %58, align 1, !tbaa !12
  br label %61

; <label>:59:                                     ; preds = %50
  %60 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %61

; <label>:61:                                     ; preds = %59, %54
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %51) #14
  br label %212

; <label>:62:                                     ; preds = %43
  %63 = zext i8 %45 to i32
  br label %175

; <label>:64:                                     ; preds = %38
  %65 = bitcast %class.variant.43* %40 to i16*
  %66 = load i16, i16* %65, align 2, !tbaa !59
  %67 = icmp slt i16 %66, 0
  br i1 %67, label %68, label %83

; <label>:68:                                     ; preds = %64
  %69 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %70 = icmp eq i32 %69, 0
  br i1 %70, label %71, label %212

; <label>:71:                                     ; preds = %68
  %72 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %72) #14
  %73 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %74 = icmp ult i32 %73, 12
  br i1 %74, label %80, label %75

; <label>:75:                                     ; preds = %71
  %76 = icmp ugt i32 %73, 15
  %77 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %78 = select i1 %76, i8* %77, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %78, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %79 = getelementptr inbounds i8, i8* %78, i32 12
  store i8 0, i8* %79, align 1, !tbaa !12
  br label %82

; <label>:80:                                     ; preds = %71
  %81 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %82

; <label>:82:                                     ; preds = %80, %75
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %72) #14
  br label %212

; <label>:83:                                     ; preds = %64
  %84 = zext i16 %66 to i32
  br label %175

; <label>:85:                                     ; preds = %38
  %86 = bitcast %class.variant.43* %40 to i32*
  %87 = load i32, i32* %86, align 4, !tbaa !24
  %88 = icmp slt i32 %87, 0
  br i1 %88, label %89, label %175

; <label>:89:                                     ; preds = %85
  %90 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %91 = icmp eq i32 %90, 0
  br i1 %91, label %92, label %212

; <label>:92:                                     ; preds = %89
  %93 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %93) #14
  %94 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %95 = icmp ult i32 %94, 12
  br i1 %95, label %101, label %96

; <label>:96:                                     ; preds = %92
  %97 = icmp ugt i32 %94, 15
  %98 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %99 = select i1 %97, i8* %98, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %99, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %100 = getelementptr inbounds i8, i8* %99, i32 12
  store i8 0, i8* %100, align 1, !tbaa !12
  br label %103

; <label>:101:                                    ; preds = %92
  %102 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %103

; <label>:103:                                    ; preds = %101, %96
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %93) #14
  br label %212

; <label>:104:                                    ; preds = %38
  %105 = bitcast %class.variant.43* %40 to i64*
  %106 = load i64, i64* %105, align 8, !tbaa !61
  %107 = icmp ugt i64 %106, 4294967295
  br i1 %107, label %108, label %123

; <label>:108:                                    ; preds = %104
  %109 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %110 = icmp eq i32 %109, 0
  br i1 %110, label %111, label %212

; <label>:111:                                    ; preds = %108
  %112 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %112) #14
  %113 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %114 = icmp ult i32 %113, 12
  br i1 %114, label %120, label %115

; <label>:115:                                    ; preds = %111
  %116 = icmp ugt i32 %113, 15
  %117 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %118 = select i1 %116, i8* %117, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %118, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %119 = getelementptr inbounds i8, i8* %118, i32 12
  store i8 0, i8* %119, align 1, !tbaa !12
  br label %122

; <label>:120:                                    ; preds = %111
  %121 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %122

; <label>:122:                                    ; preds = %120, %115
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %112) #14
  br label %212

; <label>:123:                                    ; preds = %104
  %124 = trunc i64 %106 to i32
  br label %175

; <label>:125:                                    ; preds = %38
  %126 = bitcast %class.variant.43* %40 to i32*
  %127 = load i32, i32* %126, align 4, !tbaa !538
  %128 = icmp slt i32 %127, 0
  br i1 %128, label %129, label %175

; <label>:129:                                    ; preds = %125
  %130 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %131 = icmp eq i32 %130, 0
  br i1 %131, label %132, label %212

; <label>:132:                                    ; preds = %129
  %133 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %133) #14
  %134 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %135 = icmp ult i32 %134, 12
  br i1 %135, label %141, label %136

; <label>:136:                                    ; preds = %132
  %137 = icmp ugt i32 %134, 15
  %138 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %139 = select i1 %137, i8* %138, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %139, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %140 = getelementptr inbounds i8, i8* %139, i32 12
  store i8 0, i8* %140, align 1, !tbaa !12
  br label %143

; <label>:141:                                    ; preds = %132
  %142 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %143

; <label>:143:                                    ; preds = %141, %136
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %133) #14
  br label %212

; <label>:144:                                    ; preds = %38
  %145 = bitcast %class.variant.43* %40 to i8*
  %146 = load i8, i8* %145, align 1, !tbaa !12
  %147 = zext i8 %146 to i32
  br label %175

; <label>:148:                                    ; preds = %38
  %149 = bitcast %class.variant.43* %40 to i16*
  %150 = load i16, i16* %149, align 2, !tbaa !59
  %151 = zext i16 %150 to i32
  br label %175

; <label>:152:                                    ; preds = %38
  %153 = bitcast %class.variant.43* %40 to i32*
  %154 = load i32, i32* %153, align 4, !tbaa !24
  br label %175

; <label>:155:                                    ; preds = %38
  %156 = bitcast %class.variant.43* %40 to i64*
  %157 = load i64, i64* %156, align 8, !tbaa !61
  %158 = trunc i64 %157 to i32
  br label %175

; <label>:159:                                    ; preds = %38
  %160 = bitcast %class.variant.43* %40 to i32*
  %161 = load i32, i32* %160, align 4, !tbaa !540
  br label %175

; <label>:162:                                    ; preds = %38
  %163 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %164 = icmp eq i32 %163, 0
  br i1 %164, label %165, label %212

; <label>:165:                                    ; preds = %162
  %166 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %166) #14
  %167 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %168 = icmp ult i32 %167, 17
  br i1 %168, label %172, label %169

; <label>:169:                                    ; preds = %165
  %170 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %170, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %171 = getelementptr inbounds i8, i8* %170, i32 17
  store i8 0, i8* %171, align 1, !tbaa !12
  br label %174

; <label>:172:                                    ; preds = %165
  %173 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %174

; <label>:174:                                    ; preds = %172, %169
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %166) #14
  br label %212

; <label>:175:                                    ; preds = %159, %155, %152, %148, %144, %125, %123, %85, %83, %62
  %176 = phi i32 [ %161, %159 ], [ %158, %155 ], [ %154, %152 ], [ %151, %148 ], [ %147, %144 ], [ %124, %123 ], [ %84, %83 ], [ %63, %62 ], [ %87, %85 ], [ %127, %125 ]
  %177 = icmp eq i32 %176, 0
  br i1 %177, label %178, label %193

; <label>:178:                                    ; preds = %175
  %179 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %180 = icmp eq i32 %179, 0
  br i1 %180, label %181, label %212

; <label>:181:                                    ; preds = %178
  %182 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %182) #14
  %183 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %184 = icmp ult i32 %183, 12
  br i1 %184, label %190, label %185

; <label>:185:                                    ; preds = %181
  %186 = icmp ugt i32 %183, 15
  %187 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %188 = select i1 %186, i8* %187, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %188, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %189 = getelementptr inbounds i8, i8* %188, i32 12
  store i8 0, i8* %189, align 1, !tbaa !12
  br label %192

; <label>:190:                                    ; preds = %181
  %191 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %192

; <label>:192:                                    ; preds = %190, %185
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %182) #14
  br label %212

; <label>:193:                                    ; preds = %175
  %194 = tail call noalias i8* @malloc(i32 %176)
  %195 = icmp eq i8* %194, null
  br i1 %195, label %196, label %209

; <label>:196:                                    ; preds = %193
  %197 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %198 = icmp eq i32 %197, 0
  br i1 %198, label %199, label %212

; <label>:199:                                    ; preds = %196
  %200 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %200) #14
  %201 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %202 = icmp ult i32 %201, 25
  br i1 %202, label %206, label %203

; <label>:203:                                    ; preds = %199
  %204 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 25, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %204, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@KGDODFCD@unable?5to?5allocate?5memory?$AA@", i32 0, i32 0), i32 25, i32 1, i1 false) #14
  %205 = getelementptr inbounds i8, i8* %204, i32 25
  store i8 0, i8* %205, align 1, !tbaa !12
  br label %208

; <label>:206:                                    ; preds = %199
  %207 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 25, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@KGDODFCD@unable?5to?5allocate?5memory?$AA@", i32 0, i32 0)) #14
  br label %208

; <label>:208:                                    ; preds = %206, %203
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %200) #14
  br label %212

; <label>:209:                                    ; preds = %193
  %210 = ptrtoint i8* %194 to i32
  %211 = bitcast %class.variant.43* %40 to i32*
  store i32 %210, i32* %211, align 4, !tbaa !24
  store i32 10, i32* %41, align 8, !tbaa !535
  br label %212

; <label>:212:                                    ; preds = %209, %208, %196, %192, %178, %174, %162, %143, %129, %122, %108, %103, %89, %82, %68, %61, %47, %35, %21
  %213 = phi i1 [ false, %35 ], [ false, %21 ], [ false, %103 ], [ false, %143 ], [ false, %174 ], [ false, %162 ], [ false, %192 ], [ false, %178 ], [ true, %209 ], [ false, %208 ], [ false, %196 ], [ false, %89 ], [ false, %129 ], [ false, %61 ], [ false, %47 ], [ false, %82 ], [ false, %68 ], [ false, %122 ], [ false, %108 ]
  ret i1 %213
}

; Function Attrs: nounwind
declare noalias i8* @malloc(i32) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinAmpersand() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"class.std::basic_string", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %15 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %16 = sub i32 %14, %15
  %17 = ashr exact i32 %16, 4
  %18 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %19 = sub i32 %17, %18
  %20 = icmp ult i32 %19, 2
  %21 = inttoptr i32 %15 to %class.variant.43*
  br i1 %20, label %24, label %22

; <label>:22:                                     ; preds = %0
  %23 = add nsw i32 %17, -2
  br label %43

; <label>:24:                                     ; preds = %0
  %25 = icmp ult i32 %17, 2
  br i1 %25, label %26, label %41

; <label>:26:                                     ; preds = %24
  %27 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %559

; <label>:29:                                     ; preds = %26
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14
  %31 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %32 = icmp ult i32 %31, 15
  br i1 %32, label %38, label %33

; <label>:33:                                     ; preds = %29
  %34 = icmp eq i32 %31, 15
  %35 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %36 = select i1 %34, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %35
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %37 = getelementptr inbounds i8, i8* %36, i32 15
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %40

; <label>:38:                                     ; preds = %29
  %39 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %40

; <label>:40:                                     ; preds = %38, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14
  br label %559

; <label>:41:                                     ; preds = %24
  %42 = add nsw i32 %17, -2
  store i32 %42, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %43

; <label>:43:                                     ; preds = %41, %22
  %44 = phi i32 [ %23, %22 ], [ %42, %41 ]
  %45 = add nsw i32 %17, -1
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  switch i32 %49, label %546 [
    i32 13, label %50
    i32 14, label %265
    i32 17, label %404
  ]

; <label>:50:                                     ; preds = %43
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %52 = load i32, i32* %51, align 8, !tbaa !535
  switch i32 %52, label %252 [
    i32 13, label %53
    i32 14, label %132
  ]

; <label>:53:                                     ; preds = %50
  %54 = bitcast %"class.std::basic_string"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %54) #14
  %55 = bitcast %class.variant.43* %46 to %"struct.std::pair.23"**
  %56 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %55, align 4, !tbaa !542
  %57 = bitcast %class.variant.43* %47 to %"struct.std::pair.23"**
  %58 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %57, align 4, !tbaa !542
  %59 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 1
  %60 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 2
  %61 = bitcast i32* %59 to i64*
  store i64 0, i64* %61, align 4, !alias.scope !544
  store i32 15, i32* %60, align 4, !tbaa !81, !alias.scope !544
  store i8 0, i8* %54, align 4, !tbaa !12, !alias.scope !544
  %62 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %63 = load i32, i32* %62, align 4, !tbaa !83, !noalias !544
  %64 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %65 = load i32, i32* %64, align 4, !tbaa !83, !noalias !544
  %66 = add i32 %65, %63
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %12, i32 %66) #14
  %67 = load i32, i32* %62, align 4, !tbaa !83, !noalias !544
  %68 = bitcast %"struct.std::pair.23"* %58 to i8*
  %69 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %70 = load i32, i32* %69, align 4, !tbaa !81, !noalias !544
  %71 = icmp ugt i32 %70, 15
  %72 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %73 = load i8*, i8** %72, align 4, !noalias !544
  %74 = select i1 %71, i8* %73, i8* %68
  %75 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %75) #14, !noalias !544
  %76 = load i32, i32* %59, align 4, !tbaa !83, !alias.scope !544
  %77 = load i32, i32* %60, align 4, !tbaa !81, !alias.scope !544
  %78 = sub i32 %77, %76
  %79 = icmp ult i32 %78, %67
  br i1 %79, label %88, label %80

; <label>:80:                                     ; preds = %53
  %81 = add i32 %76, %67
  store i32 %81, i32* %59, align 4, !tbaa !83, !alias.scope !544
  %82 = icmp ugt i32 %77, 15
  %83 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %84 = load i8*, i8** %83, align 4
  %85 = select i1 %82, i8* %84, i8* %54
  %86 = getelementptr inbounds i8, i8* %85, i32 %76
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %86, i8* %74, i32 %67, i32 1, i1 false) #14
  %87 = getelementptr inbounds i8, i8* %85, i32 %81
  store i8 0, i8* %87, align 1, !tbaa !12
  br label %90

; <label>:88:                                     ; preds = %53
  %89 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %12, i32 %67, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %74, i32 %67) #14
  br label %90

; <label>:90:                                     ; preds = %88, %80
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %75) #14, !noalias !544
  %91 = load i32, i32* %64, align 4, !tbaa !83, !noalias !544
  %92 = bitcast %"struct.std::pair.23"* %56 to i8*
  %93 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %94 = load i32, i32* %93, align 4, !tbaa !81, !noalias !544
  %95 = icmp ugt i32 %94, 15
  %96 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %97 = load i8*, i8** %96, align 4, !noalias !544
  %98 = select i1 %95, i8* %97, i8* %92
  %99 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %99) #14, !noalias !544
  %100 = load i32, i32* %59, align 4, !tbaa !83, !alias.scope !544
  %101 = load i32, i32* %60, align 4, !tbaa !81, !alias.scope !544
  %102 = sub i32 %101, %100
  %103 = icmp ult i32 %102, %91
  br i1 %103, label %112, label %104

; <label>:104:                                    ; preds = %90
  %105 = add i32 %100, %91
  store i32 %105, i32* %59, align 4, !tbaa !83, !alias.scope !544
  %106 = icmp ugt i32 %101, 15
  %107 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %108 = load i8*, i8** %107, align 4
  %109 = select i1 %106, i8* %108, i8* %54
  %110 = getelementptr inbounds i8, i8* %109, i32 %100
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %110, i8* %98, i32 %91, i32 1, i1 false) #14
  %111 = getelementptr inbounds i8, i8* %109, i32 %105
  store i8 0, i8* %111, align 1, !tbaa !12
  br label %114

; <label>:112:                                    ; preds = %90
  %113 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %12, i32 %91, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %98, i32 %91) #14
  br label %114

; <label>:114:                                    ; preds = %112, %104
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %99) #14, !noalias !544
  %115 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %116 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %117 = sub i32 %115, %116
  %118 = ashr exact i32 %117, 4
  %119 = add nsw i32 %118, -2
  %120 = inttoptr i32 %116 to %class.variant.43*
  %121 = getelementptr inbounds %class.variant.43, %class.variant.43* %120, i32 %119
  %122 = call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %123 = bitcast i8* %122 to i32*
  store i32 1, i32* %123, align 4, !tbaa !547
  %124 = getelementptr inbounds i8, i8* %122, i32 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %124, i8* nonnull %54, i32 24, i32 1, i1 false) #14
  %125 = bitcast %class.variant.43* %121 to i8**
  store i8* %122, i8** %125, align 4, !tbaa !549
  %126 = getelementptr inbounds %class.variant.43, %class.variant.43* %120, i32 %119, i32 1
  store i32 14, i32* %126, align 8, !tbaa !535
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %54) #14
  %127 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %128 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %129 = sub i32 %127, %128
  %130 = ashr exact i32 %129, 4
  %131 = add nsw i32 %130, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %131, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %559

; <label>:132:                                    ; preds = %50
  %133 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %133) #14
  %134 = bitcast %class.variant.43* %46 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %135 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %134, align 4, !tbaa !549
  %136 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %135, i32 0, i32 1
  %137 = bitcast %class.variant.43* %47 to %"struct.std::pair.23"**
  %138 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %137, align 4, !tbaa !542
  %139 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %140 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %141 = bitcast i32* %139 to i64*
  store i64 0, i64* %141, align 4, !alias.scope !551
  store i32 15, i32* %140, align 4, !tbaa !81, !alias.scope !551
  store i8 0, i8* %133, align 4, !tbaa !12, !alias.scope !551
  %142 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %138, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %143 = load i32, i32* %142, align 4, !tbaa !83, !noalias !551
  %144 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %135, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %145 = load i32, i32* %144, align 4, !tbaa !83, !noalias !551
  %146 = add i32 %145, %143
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %13, i32 %146) #14
  %147 = load i32, i32* %142, align 4, !tbaa !83, !noalias !551
  %148 = bitcast %"struct.std::pair.23"* %138 to i8*
  %149 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %138, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %150 = load i32, i32* %149, align 4, !tbaa !81, !noalias !551
  %151 = icmp ugt i32 %150, 15
  %152 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %138, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %153 = load i8*, i8** %152, align 4, !noalias !551
  %154 = select i1 %151, i8* %153, i8* %148
  %155 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %155) #14, !noalias !551
  %156 = load i32, i32* %139, align 4, !tbaa !83, !alias.scope !551
  %157 = load i32, i32* %140, align 4, !tbaa !81, !alias.scope !551
  %158 = sub i32 %157, %156
  %159 = icmp ult i32 %158, %147
  br i1 %159, label %168, label %160

; <label>:160:                                    ; preds = %132
  %161 = add i32 %156, %147
  store i32 %161, i32* %139, align 4, !tbaa !83, !alias.scope !551
  %162 = icmp ugt i32 %157, 15
  %163 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %164 = load i8*, i8** %163, align 4
  %165 = select i1 %162, i8* %164, i8* %133
  %166 = getelementptr inbounds i8, i8* %165, i32 %156
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %166, i8* %154, i32 %147, i32 1, i1 false) #14
  %167 = getelementptr inbounds i8, i8* %165, i32 %161
  store i8 0, i8* %167, align 1, !tbaa !12
  br label %170

; <label>:168:                                    ; preds = %132
  %169 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 %147, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %154, i32 %147) #14
  br label %170

; <label>:170:                                    ; preds = %168, %160
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %155) #14, !noalias !551
  %171 = load i32, i32* %144, align 4, !tbaa !83, !noalias !551
  %172 = bitcast %"class.std::basic_string"* %136 to i8*
  %173 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %135, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %174 = load i32, i32* %173, align 4, !tbaa !81, !noalias !551
  %175 = icmp ugt i32 %174, 15
  %176 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %136, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %177 = load i8*, i8** %176, align 4, !noalias !551
  %178 = select i1 %175, i8* %177, i8* %172
  %179 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %179) #14, !noalias !551
  %180 = load i32, i32* %139, align 4, !tbaa !83, !alias.scope !551
  %181 = load i32, i32* %140, align 4, !tbaa !81, !alias.scope !551
  %182 = sub i32 %181, %180
  %183 = icmp ult i32 %182, %171
  br i1 %183, label %192, label %184

; <label>:184:                                    ; preds = %170
  %185 = add i32 %180, %171
  store i32 %185, i32* %139, align 4, !tbaa !83, !alias.scope !551
  %186 = icmp ugt i32 %181, 15
  %187 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %188 = load i8*, i8** %187, align 4
  %189 = select i1 %186, i8* %188, i8* %133
  %190 = getelementptr inbounds i8, i8* %189, i32 %180
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %190, i8* %178, i32 %171, i32 1, i1 false) #14
  %191 = getelementptr inbounds i8, i8* %189, i32 %185
  store i8 0, i8* %191, align 1, !tbaa !12
  br label %194

; <label>:192:                                    ; preds = %170
  %193 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 %171, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %178, i32 %171) #14
  br label %194

; <label>:194:                                    ; preds = %192, %184
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %179) #14, !noalias !551
  %195 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %196 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %197 = sub i32 %195, %196
  %198 = ashr exact i32 %197, 4
  %199 = add nsw i32 %198, -2
  %200 = inttoptr i32 %196 to %class.variant.43*
  %201 = getelementptr inbounds %class.variant.43, %class.variant.43* %200, i32 %199
  %202 = call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %203 = bitcast i8* %202 to i32*
  store i32 1, i32* %203, align 4, !tbaa !547
  %204 = getelementptr inbounds i8, i8* %202, i32 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %204, i8* nonnull %133, i32 24, i32 1, i1 false) #14
  %205 = bitcast %class.variant.43* %201 to i8**
  store i8* %202, i8** %205, align 4, !tbaa !549
  %206 = getelementptr inbounds %class.variant.43, %class.variant.43* %200, i32 %199, i32 1
  store i32 14, i32* %206, align 8, !tbaa !535
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %133) #14
  %207 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %134, align 4, !tbaa !549
  %208 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %207, i32 0, i32 0
  %209 = load i32, i32* %208, align 4, !tbaa !547
  %210 = icmp eq i32 %209, 1
  br i1 %210, label %213, label %211

; <label>:211:                                    ; preds = %194
  %212 = add i32 %209, -1
  store i32 %212, i32* %208, align 4, !tbaa !547
  br label %246

; <label>:213:                                    ; preds = %194
  %214 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %207, null
  br i1 %214, label %246, label %215

; <label>:215:                                    ; preds = %213
  %216 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %207, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %217 = load i32, i32* %216, align 4, !tbaa !81
  %218 = icmp ugt i32 %217, 15
  br i1 %218, label %219, label %244

; <label>:219:                                    ; preds = %215
  %220 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %207, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %221 = load i8*, i8** %220, align 4, !tbaa !12
  %222 = add i32 %217, 1
  %223 = icmp ugt i32 %222, 4095
  br i1 %223, label %224, label %241

; <label>:224:                                    ; preds = %219
  %225 = add i32 %217, 36
  %226 = icmp ugt i32 %222, -36
  br i1 %226, label %240, label %227

; <label>:227:                                    ; preds = %224
  %228 = ptrtoint i8* %221 to i32
  %229 = and i32 %228, 31
  %230 = icmp eq i32 %229, 0
  br i1 %230, label %231, label %240

; <label>:231:                                    ; preds = %227
  %232 = add i32 %228, -4
  %233 = inttoptr i32 %232 to i32*
  %234 = load i32, i32* %233, align 4, !tbaa !24
  %235 = icmp ult i32 %234, %228
  br i1 %235, label %236, label %240

; <label>:236:                                    ; preds = %231
  %237 = sub i32 %232, %234
  %238 = icmp ugt i32 %237, 31
  %239 = inttoptr i32 %234 to i8*
  br i1 %238, label %240, label %241

; <label>:240:                                    ; preds = %236, %231, %227, %224
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:241:                                    ; preds = %236, %219
  %242 = phi i8* [ %239, %236 ], [ %221, %219 ]
  %243 = phi i32 [ %225, %236 ], [ %222, %219 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %242, i32 %243) #14
  br label %244

; <label>:244:                                    ; preds = %241, %215
  %245 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %207 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %245) #21
  br label %246

; <label>:246:                                    ; preds = %244, %213, %211
  %247 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %248 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %249 = sub i32 %247, %248
  %250 = ashr exact i32 %249, 4
  %251 = add nsw i32 %250, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %251, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %559

; <label>:252:                                    ; preds = %50
  %253 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %559

; <label>:255:                                    ; preds = %252
  %256 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %256) #14
  %257 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %258 = icmp ult i32 %257, 17
  br i1 %258, label %262, label %259

; <label>:259:                                    ; preds = %255
  %260 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %260, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %261 = getelementptr inbounds i8, i8* %260, i32 17
  store i8 0, i8* %261, align 1, !tbaa !12
  br label %264

; <label>:262:                                    ; preds = %255
  %263 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %264

; <label>:264:                                    ; preds = %262, %259
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %256) #14
  br label %559

; <label>:265:                                    ; preds = %43
  %266 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %267 = load i32, i32* %266, align 8, !tbaa !535
  switch i32 %267, label %391 [
    i32 13, label %268
    i32 14, label %309
  ]

; <label>:268:                                    ; preds = %265
  %269 = bitcast %class.variant.43* %46 to %"struct.std::pair.23"**
  %270 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %269, align 4, !tbaa !542
  %271 = bitcast %class.variant.43* %47 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %272 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %271, align 4, !tbaa !549
  %273 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %272, i32 0, i32 1
  %274 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %270, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %275 = load i32, i32* %274, align 4, !tbaa !83
  %276 = bitcast %"struct.std::pair.23"* %270 to i8*
  %277 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %270, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %278 = load i32, i32* %277, align 4, !tbaa !81
  %279 = icmp ugt i32 %278, 15
  %280 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %270, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %281 = load i8*, i8** %280, align 4
  %282 = select i1 %279, i8* %281, i8* %276
  %283 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %283) #14
  %284 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %272, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %285 = load i32, i32* %284, align 4, !tbaa !83
  %286 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %272, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %287 = load i32, i32* %286, align 4, !tbaa !81
  %288 = sub i32 %287, %285
  %289 = icmp ult i32 %288, %275
  br i1 %289, label %301, label %290

; <label>:290:                                    ; preds = %268
  %291 = add i32 %285, %275
  store i32 %291, i32* %284, align 4, !tbaa !83
  %292 = bitcast %"class.std::basic_string"* %273 to i8*
  %293 = icmp ugt i32 %287, 15
  br i1 %293, label %294, label %297

; <label>:294:                                    ; preds = %290
  %295 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %273, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %296 = load i8*, i8** %295, align 4, !tbaa !12
  br label %297

; <label>:297:                                    ; preds = %294, %290
  %298 = phi i8* [ %296, %294 ], [ %292, %290 ]
  %299 = getelementptr inbounds i8, i8* %298, i32 %285
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %299, i8* %282, i32 %275, i32 1, i1 false) #14
  %300 = getelementptr inbounds i8, i8* %298, i32 %291
  store i8 0, i8* %300, align 1, !tbaa !12
  br label %303

; <label>:301:                                    ; preds = %268
  %302 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %273, i32 %275, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* %282, i32 %275) #14
  br label %303

; <label>:303:                                    ; preds = %301, %297
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %283) #14
  %304 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %305 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %306 = sub i32 %304, %305
  %307 = ashr exact i32 %306, 4
  %308 = add nsw i32 %307, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %308, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %559

; <label>:309:                                    ; preds = %265
  %310 = bitcast %class.variant.43* %46 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %311 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %310, align 4, !tbaa !549
  %312 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %311, i32 0, i32 1
  %313 = bitcast %class.variant.43* %47 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %314 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %313, align 4, !tbaa !549
  %315 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %314, i32 0, i32 1
  %316 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %311, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %317 = load i32, i32* %316, align 4, !tbaa !83
  %318 = bitcast %"class.std::basic_string"* %312 to i8*
  %319 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %311, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %320 = load i32, i32* %319, align 4, !tbaa !81
  %321 = icmp ugt i32 %320, 15
  %322 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %312, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %323 = load i8*, i8** %322, align 4
  %324 = select i1 %321, i8* %323, i8* %318
  %325 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %325) #14
  %326 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %314, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %327 = load i32, i32* %326, align 4, !tbaa !83
  %328 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %314, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %329 = load i32, i32* %328, align 4, !tbaa !81
  %330 = sub i32 %329, %327
  %331 = icmp ult i32 %330, %317
  br i1 %331, label %343, label %332

; <label>:332:                                    ; preds = %309
  %333 = add i32 %327, %317
  store i32 %333, i32* %326, align 4, !tbaa !83
  %334 = bitcast %"class.std::basic_string"* %315 to i8*
  %335 = icmp ugt i32 %329, 15
  br i1 %335, label %336, label %339

; <label>:336:                                    ; preds = %332
  %337 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %315, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %338 = load i8*, i8** %337, align 4, !tbaa !12
  br label %339

; <label>:339:                                    ; preds = %336, %332
  %340 = phi i8* [ %338, %336 ], [ %334, %332 ]
  %341 = getelementptr inbounds i8, i8* %340, i32 %327
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %341, i8* %324, i32 %317, i32 1, i1 false) #14
  %342 = getelementptr inbounds i8, i8* %340, i32 %333
  store i8 0, i8* %342, align 1, !tbaa !12
  br label %345

; <label>:343:                                    ; preds = %309
  %344 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %315, i32 %317, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %324, i32 %317) #14
  br label %345

; <label>:345:                                    ; preds = %343, %339
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %325) #14
  %346 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %310, align 4, !tbaa !549
  %347 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %346, i32 0, i32 0
  %348 = load i32, i32* %347, align 4, !tbaa !547
  %349 = icmp eq i32 %348, 1
  br i1 %349, label %352, label %350

; <label>:350:                                    ; preds = %345
  %351 = add i32 %348, -1
  store i32 %351, i32* %347, align 4, !tbaa !547
  br label %385

; <label>:352:                                    ; preds = %345
  %353 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %346, null
  br i1 %353, label %385, label %354

; <label>:354:                                    ; preds = %352
  %355 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %346, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %356 = load i32, i32* %355, align 4, !tbaa !81
  %357 = icmp ugt i32 %356, 15
  br i1 %357, label %358, label %383

; <label>:358:                                    ; preds = %354
  %359 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %346, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %360 = load i8*, i8** %359, align 4, !tbaa !12
  %361 = add i32 %356, 1
  %362 = icmp ugt i32 %361, 4095
  br i1 %362, label %363, label %380

; <label>:363:                                    ; preds = %358
  %364 = add i32 %356, 36
  %365 = icmp ugt i32 %361, -36
  br i1 %365, label %379, label %366

; <label>:366:                                    ; preds = %363
  %367 = ptrtoint i8* %360 to i32
  %368 = and i32 %367, 31
  %369 = icmp eq i32 %368, 0
  br i1 %369, label %370, label %379

; <label>:370:                                    ; preds = %366
  %371 = add i32 %367, -4
  %372 = inttoptr i32 %371 to i32*
  %373 = load i32, i32* %372, align 4, !tbaa !24
  %374 = icmp ult i32 %373, %367
  br i1 %374, label %375, label %379

; <label>:375:                                    ; preds = %370
  %376 = sub i32 %371, %373
  %377 = icmp ugt i32 %376, 31
  %378 = inttoptr i32 %373 to i8*
  br i1 %377, label %379, label %380

; <label>:379:                                    ; preds = %375, %370, %366, %363
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:380:                                    ; preds = %375, %358
  %381 = phi i8* [ %378, %375 ], [ %360, %358 ]
  %382 = phi i32 [ %364, %375 ], [ %361, %358 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %381, i32 %382) #14
  br label %383

; <label>:383:                                    ; preds = %380, %354
  %384 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %346 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %384) #21
  br label %385

; <label>:385:                                    ; preds = %383, %352, %350
  %386 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %387 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %388 = sub i32 %386, %387
  %389 = ashr exact i32 %388, 4
  %390 = add nsw i32 %389, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %390, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %559

; <label>:391:                                    ; preds = %265
  %392 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %393 = icmp eq i32 %392, 0
  br i1 %393, label %394, label %559

; <label>:394:                                    ; preds = %391
  %395 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %395) #14
  %396 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %397 = icmp ult i32 %396, 17
  br i1 %397, label %401, label %398

; <label>:398:                                    ; preds = %394
  %399 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %399, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %400 = getelementptr inbounds i8, i8* %399, i32 17
  store i8 0, i8* %400, align 1, !tbaa !12
  br label %403

; <label>:401:                                    ; preds = %394
  %402 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %403

; <label>:403:                                    ; preds = %401, %398
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %395) #14
  br label %559

; <label>:404:                                    ; preds = %43
  %405 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %406 = load i32, i32* %405, align 8, !tbaa !535
  %407 = icmp eq i32 %406, 17
  br i1 %407, label %421, label %408

; <label>:408:                                    ; preds = %404
  %409 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %410 = icmp eq i32 %409, 0
  br i1 %410, label %411, label %559

; <label>:411:                                    ; preds = %408
  %412 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %412) #14
  %413 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %414 = icmp ult i32 %413, 17
  br i1 %414, label %418, label %415

; <label>:415:                                    ; preds = %411
  %416 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %416, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %417 = getelementptr inbounds i8, i8* %416, i32 17
  store i8 0, i8* %417, align 1, !tbaa !12
  br label %420

; <label>:418:                                    ; preds = %411
  %419 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %420

; <label>:420:                                    ; preds = %418, %415
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %412) #14
  br label %559

; <label>:421:                                    ; preds = %404
  %422 = bitcast %class.variant.43* %47 to %struct.Combined**
  %423 = load %struct.Combined*, %struct.Combined** %422, align 4, !tbaa !23
  %424 = bitcast %class.variant.43* %46 to %struct.Combined**
  %425 = load %struct.Combined*, %struct.Combined** %424, align 4, !tbaa !23
  %426 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %427 = getelementptr inbounds i8, i8* %426, i32 16
  %428 = bitcast i8* %427 to %struct.Field**
  store %struct.Field* null, %struct.Field** %428, align 4, !tbaa !554
  %429 = getelementptr inbounds i8, i8* %426, i32 20
  %430 = bitcast i8* %429 to %struct.Field**
  store %struct.Field* null, %struct.Field** %430, align 4, !tbaa !556
  %431 = getelementptr inbounds i8, i8* %426, i32 24
  %432 = bitcast i8* %431 to %struct.Field**
  store %struct.Field* null, %struct.Field** %432, align 4, !tbaa !557
  %433 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %434 = add i32 %433, 1
  store i32 %434, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %435 = bitcast i8* %426 to i32*
  store i32 1, i32* %435, align 4, !tbaa !558
  %436 = bitcast i8* %427 to %"class.std::vector.17"*
  %437 = getelementptr inbounds %struct.Combined, %struct.Combined* %423, i32 0, i32 4
  %438 = getelementptr inbounds %struct.Combined, %struct.Combined* %423, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %439 = bitcast %struct.Field** %438 to i32*
  %440 = load i32, i32* %439, align 4, !tbaa !23
  %441 = bitcast %"class.std::vector.17"* %437 to i32*
  %442 = load i32, i32* %441, align 4, !tbaa !23
  %443 = sub i32 %440, %442
  %444 = sdiv exact i32 %443, 24
  %445 = getelementptr inbounds %struct.Combined, %struct.Combined* %425, i32 0, i32 4
  %446 = getelementptr inbounds %struct.Combined, %struct.Combined* %425, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %447 = bitcast %struct.Field** %446 to i32*
  %448 = load i32, i32* %447, align 4, !tbaa !23
  %449 = bitcast %"class.std::vector.17"* %445 to i32*
  %450 = load i32, i32* %449, align 4, !tbaa !23
  %451 = sub i32 %448, %450
  %452 = sdiv exact i32 %451, 24
  %453 = add nsw i32 %452, %444
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %436, i32 %453, %"class.std::vector.17"* %436) #14
  %454 = load i32, i32* %439, align 4, !tbaa !23
  %455 = load i32, i32* %441, align 4, !tbaa !23
  %456 = icmp eq i32 %454, %455
  br i1 %456, label %459, label %457

; <label>:457:                                    ; preds = %421
  %458 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %437, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %467

; <label>:459:                                    ; preds = %467, %421
  %460 = phi i32 [ %454, %421 ], [ %483, %467 ]
  %461 = phi i32 [ %454, %421 ], [ %482, %467 ]
  %462 = load i32, i32* %447, align 4, !tbaa !23
  %463 = load i32, i32* %449, align 4, !tbaa !23
  %464 = icmp eq i32 %462, %463
  br i1 %464, label %487, label %465

; <label>:465:                                    ; preds = %459
  %466 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %445, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %513

; <label>:467:                                    ; preds = %467, %457
  %468 = phi i32 [ %455, %457 ], [ %483, %467 ]
  %469 = phi i32 [ 0, %457 ], [ %481, %467 ]
  %470 = inttoptr i32 %468 to %struct.Field*
  %471 = getelementptr inbounds %struct.Field, %struct.Field* %470, i32 %469
  %472 = bitcast %struct.Field* %471 to i32*
  %473 = load i32, i32* %472, align 8, !tbaa !561
  %474 = load %struct.Field*, %struct.Field** %428, align 4, !tbaa !23
  %475 = getelementptr inbounds %struct.Field, %struct.Field* %474, i32 %469
  %476 = bitcast %struct.Field* %475 to i32*
  store i32 %473, i32* %476, align 8, !tbaa !561
  %477 = load %struct.Field*, %struct.Field** %428, align 4, !tbaa !23
  %478 = getelementptr inbounds %struct.Field, %struct.Field* %477, i32 %469, i32 1
  %479 = load %struct.Field*, %struct.Field** %458, align 4, !tbaa !23
  %480 = getelementptr inbounds %struct.Field, %struct.Field* %479, i32 %469, i32 1
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %480, %class.variant.43* dereferenceable(16) %478) #14
  %481 = add i32 %469, 1
  %482 = load i32, i32* %439, align 4, !tbaa !23
  %483 = load i32, i32* %441, align 4, !tbaa !23
  %484 = sub i32 %482, %483
  %485 = sdiv exact i32 %484, 24
  %486 = icmp ult i32 %481, %485
  br i1 %486, label %467, label %459

; <label>:487:                                    ; preds = %513, %459
  %488 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?callText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %489 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %436, %"struct.std::pair.23"* dereferenceable(48) %488) #14
  %490 = getelementptr inbounds i8, i8* %426, i32 4
  %491 = bitcast i8* %490 to i32*
  store i32 %489, i32* %491, align 4, !tbaa !563
  %492 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?preText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %493 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %436, %"struct.std::pair.23"* dereferenceable(48) %492) #14
  %494 = getelementptr inbounds i8, i8* %426, i32 8
  %495 = bitcast i8* %494 to i32*
  store i32 %493, i32* %495, align 4, !tbaa !564
  %496 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?dieText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %497 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %436, %"struct.std::pair.23"* dereferenceable(48) %496) #14
  %498 = getelementptr inbounds i8, i8* %426, i32 12
  %499 = bitcast i8* %498 to i32*
  store i32 %497, i32* %499, align 4, !tbaa !565
  %500 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %501 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %502 = sub i32 %500, %501
  %503 = ashr exact i32 %502, 4
  %504 = add nsw i32 %503, -2
  %505 = inttoptr i32 %501 to %class.variant.43*
  %506 = getelementptr inbounds %class.variant.43, %class.variant.43* %505, i32 %504
  %507 = bitcast %class.variant.43* %506 to i8**
  store i8* %426, i8** %507, align 4, !tbaa !23
  %508 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %509 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %510 = sub i32 %508, %509
  %511 = ashr exact i32 %510, 4
  %512 = add nsw i32 %511, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %512, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %425) #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %423) #14
  br label %559

; <label>:513:                                    ; preds = %543, %465
  %514 = phi i32 [ %460, %465 ], [ %545, %543 ]
  %515 = phi i32 [ %461, %465 ], [ %544, %543 ]
  %516 = phi i32 [ %463, %465 ], [ %539, %543 ]
  %517 = phi i32 [ 0, %465 ], [ %537, %543 ]
  %518 = inttoptr i32 %516 to %struct.Field*
  %519 = getelementptr inbounds %struct.Field, %struct.Field* %518, i32 %517
  %520 = bitcast %struct.Field* %519 to i32*
  %521 = load i32, i32* %520, align 8, !tbaa !561
  %522 = sub i32 %515, %514
  %523 = sdiv exact i32 %522, 24
  %524 = add i32 %523, %517
  %525 = load %struct.Field*, %struct.Field** %428, align 4, !tbaa !23
  %526 = getelementptr inbounds %struct.Field, %struct.Field* %525, i32 %524
  %527 = bitcast %struct.Field* %526 to i32*
  store i32 %521, i32* %527, align 8, !tbaa !561
  %528 = load i32, i32* %439, align 4, !tbaa !23
  %529 = load i32, i32* %441, align 4, !tbaa !23
  %530 = sub i32 %528, %529
  %531 = sdiv exact i32 %530, 24
  %532 = add i32 %531, %517
  %533 = load %struct.Field*, %struct.Field** %428, align 4, !tbaa !23
  %534 = getelementptr inbounds %struct.Field, %struct.Field* %533, i32 %532, i32 1
  %535 = load %struct.Field*, %struct.Field** %466, align 4, !tbaa !23
  %536 = getelementptr inbounds %struct.Field, %struct.Field* %535, i32 %517, i32 1
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %536, %class.variant.43* dereferenceable(16) %534) #14
  %537 = add i32 %517, 1
  %538 = load i32, i32* %447, align 4, !tbaa !23
  %539 = load i32, i32* %449, align 4, !tbaa !23
  %540 = sub i32 %538, %539
  %541 = sdiv exact i32 %540, 24
  %542 = icmp ult i32 %537, %541
  br i1 %542, label %543, label %487

; <label>:543:                                    ; preds = %513
  %544 = load i32, i32* %439, align 4, !tbaa !23
  %545 = load i32, i32* %441, align 4, !tbaa !23
  br label %513

; <label>:546:                                    ; preds = %43
  %547 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %548 = icmp eq i32 %547, 0
  br i1 %548, label %549, label %559

; <label>:549:                                    ; preds = %546
  %550 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %550) #14
  %551 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %552 = icmp ult i32 %551, 17
  br i1 %552, label %556, label %553

; <label>:553:                                    ; preds = %549
  %554 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %554, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %555 = getelementptr inbounds i8, i8* %554, i32 17
  store i8 0, i8* %555, align 1, !tbaa !12
  br label %558

; <label>:556:                                    ; preds = %549
  %557 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %558

; <label>:558:                                    ; preds = %556, %553
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %550) #14
  br label %559

; <label>:559:                                    ; preds = %558, %546, %487, %420, %408, %403, %391, %385, %303, %264, %252, %246, %114, %40, %26
  %560 = phi i1 [ false, %40 ], [ false, %26 ], [ false, %264 ], [ false, %252 ], [ false, %403 ], [ false, %391 ], [ false, %420 ], [ false, %408 ], [ false, %558 ], [ false, %546 ], [ true, %303 ], [ true, %385 ], [ true, %114 ], [ true, %246 ], [ true, %487 ]
  ret i1 %560
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !83
  %6 = icmp ugt i32 %5, %1
  br i1 %6, label %48, label %7

; <label>:7:                                      ; preds = %2
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = icmp eq i32 %9, %1
  br i1 %10, label %48, label %11

; <label>:11:                                     ; preds = %7
  %12 = icmp ult i32 %9, %1
  br i1 %12, label %13, label %16

; <label>:13:                                     ; preds = %11
  %14 = sub i32 %1, %5
  %15 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z@$$V@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z"(%"class.std::basic_string"* nonnull %0, i32 %14, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3)
  store i32 %5, i32* %4, align 4, !tbaa !83
  br label %48

; <label>:16:                                     ; preds = %11
  %17 = icmp ult i32 %1, 16
  %18 = icmp ugt i32 %9, 15
  %19 = and i1 %17, %18
  br i1 %19, label %20, label %48

; <label>:20:                                     ; preds = %16
  %21 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %22 = load i8*, i8** %21, align 4, !tbaa !12
  %23 = add i32 %5, 1
  %24 = bitcast %"class.std::basic_string"* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %22, i32 %23, i32 1, i1 false) #14
  %25 = load i32, i32* %8, align 4, !tbaa !81
  %26 = add i32 %25, 1
  %27 = icmp ugt i32 %26, 4095
  br i1 %27, label %28, label %45

; <label>:28:                                     ; preds = %20
  %29 = add i32 %25, 36
  %30 = icmp ugt i32 %26, -36
  br i1 %30, label %44, label %31

; <label>:31:                                     ; preds = %28
  %32 = ptrtoint i8* %22 to i32
  %33 = and i32 %32, 31
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %35, label %44

; <label>:35:                                     ; preds = %31
  %36 = add i32 %32, -4
  %37 = inttoptr i32 %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !24
  %39 = icmp ult i32 %38, %32
  br i1 %39, label %40, label %44

; <label>:40:                                     ; preds = %35
  %41 = sub i32 %36, %38
  %42 = icmp ugt i32 %41, 31
  %43 = inttoptr i32 %38 to i8*
  br i1 %42, label %44, label %45

; <label>:44:                                     ; preds = %40, %35, %31, %28
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:45:                                     ; preds = %40, %20
  %46 = phi i8* [ %43, %40 ], [ %22, %20 ]
  %47 = phi i32 [ %29, %40 ], [ %26, %20 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %46, i32 %47) #14
  store i32 15, i32* %8, align 4, !tbaa !81
  br label %48

; <label>:48:                                     ; preds = %45, %16, %13, %7, %2
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i8*, i32) local_unnamed_addr #2 comdat align 2 {
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !83
  %8 = sub i32 2147483647, %7
  %9 = icmp ult i32 %8, %1
  br i1 %9, label %10, label %11

; <label>:10:                                     ; preds = %5
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:11:                                     ; preds = %5
  %12 = add i32 %7, %1
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = load i32, i32* %13, align 4, !tbaa !81
  %15 = or i32 %12, 15
  %16 = icmp slt i32 %15, 0
  br i1 %16, label %32, label %17

; <label>:17:                                     ; preds = %11
  %18 = lshr i32 %14, 1
  %19 = xor i32 %18, 2147483647
  %20 = icmp ugt i32 %14, %19
  br i1 %20, label %32, label %21

; <label>:21:                                     ; preds = %17
  %22 = add i32 %18, %14
  %23 = icmp ult i32 %15, %22
  %24 = select i1 %23, i32 %22, i32 %15
  %25 = add i32 %24, 1
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %45, label %27

; <label>:27:                                     ; preds = %21
  %28 = icmp ugt i32 %25, 4095
  br i1 %28, label %29, label %43

; <label>:29:                                     ; preds = %27
  %30 = icmp ugt i32 %25, -36
  br i1 %30, label %31, label %32

; <label>:31:                                     ; preds = %29
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:32:                                     ; preds = %29, %17, %11
  %33 = phi i32 [ %25, %29 ], [ -2147483648, %11 ], [ -2147483648, %17 ]
  %34 = phi i32 [ %24, %29 ], [ 2147483647, %11 ], [ 2147483647, %17 ]
  %35 = add i32 %33, 35
  %36 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %35) #14
  %37 = ptrtoint i8* %36 to i32
  %38 = add i32 %37, 35
  %39 = and i32 %38, -32
  %40 = inttoptr i32 %39 to i8*
  %41 = inttoptr i32 %39 to i32*
  %42 = getelementptr inbounds i32, i32* %41, i32 -1
  store i32 %37, i32* %42, align 4, !tbaa !24
  br label %45

; <label>:43:                                     ; preds = %27
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %25) #14
  br label %45

; <label>:45:                                     ; preds = %43, %32, %21
  %46 = phi i32 [ -1, %21 ], [ %34, %32 ], [ %24, %43 ]
  %47 = phi i8* [ null, %21 ], [ %40, %32 ], [ %44, %43 ]
  %48 = ptrtoint i8* %47 to i32
  store i32 %12, i32* %6, align 4, !tbaa !83
  store i32 %46, i32* %13, align 4, !tbaa !81
  %49 = icmp ugt i32 %14, 15
  br i1 %49, label %50, label %78

; <label>:50:                                     ; preds = %45
  %51 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %52 = load i8*, i8** %51, align 4, !tbaa !12
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %52, i32 %7, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %47, i32 %7
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %53, i8* %3, i32 %4, i32 1, i1 false) #14
  %54 = add i32 %7, %4
  %55 = getelementptr inbounds i8, i8* %47, i32 %54
  store i8 0, i8* %55, align 1, !tbaa !12
  %56 = add i32 %14, 1
  %57 = icmp ugt i32 %56, 4095
  br i1 %57, label %58, label %75

; <label>:58:                                     ; preds = %50
  %59 = add i32 %14, 36
  %60 = icmp ugt i32 %56, -36
  br i1 %60, label %74, label %61

; <label>:61:                                     ; preds = %58
  %62 = ptrtoint i8* %52 to i32
  %63 = and i32 %62, 31
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %65, label %74

; <label>:65:                                     ; preds = %61
  %66 = add i32 %62, -4
  %67 = inttoptr i32 %66 to i32*
  %68 = load i32, i32* %67, align 4, !tbaa !24
  %69 = icmp ult i32 %68, %62
  br i1 %69, label %70, label %74

; <label>:70:                                     ; preds = %65
  %71 = sub i32 %66, %68
  %72 = icmp ugt i32 %71, 31
  %73 = inttoptr i32 %68 to i8*
  br i1 %72, label %74, label %75

; <label>:74:                                     ; preds = %70, %65, %61, %58
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:75:                                     ; preds = %70, %50
  %76 = phi i8* [ %73, %70 ], [ %52, %50 ]
  %77 = phi i32 [ %59, %70 ], [ %56, %50 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %76, i32 %77) #14
  br label %83

; <label>:78:                                     ; preds = %45
  %79 = bitcast %"class.std::basic_string"* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %79, i32 %7, i32 1, i1 false) #14
  %80 = getelementptr inbounds i8, i8* %47, i32 %7
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* %3, i32 %4, i32 1, i1 false) #14
  %81 = add i32 %7, %4
  %82 = getelementptr inbounds i8, i8* %47, i32 %81
  store i8 0, i8* %82, align 1, !tbaa !12
  br label %83

; <label>:83:                                     ; preds = %78, %75
  %84 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %48, i32* %84, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"*, i32, %"class.std::vector.37"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %class.variant.43** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.37"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 4
  %11 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %class.variant.43** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 4
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %class.variant.43*
  %18 = inttoptr i32 %6 to %class.variant.43*
  br i1 %16, label %19, label %111

; <label>:19:                                     ; preds = %3
  %20 = icmp ugt i32 %1, 268435455
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xlength@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ"() #22
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = lshr i32 %15, 1
  %24 = sub nsw i32 268435455, %23
  %25 = icmp ugt i32 %15, %24
  br i1 %25, label %29, label %26

; <label>:26:                                     ; preds = %22
  %27 = add i32 %23, %15
  %28 = icmp ult i32 %27, %1
  br i1 %28, label %29, label %31

; <label>:29:                                     ; preds = %26, %22
  %30 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0
  br label %37

; <label>:31:                                     ; preds = %26
  %32 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0
  %33 = icmp eq i32 %27, 0
  br i1 %33, label %56, label %34

; <label>:34:                                     ; preds = %31
  %35 = icmp ugt i32 %27, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %34
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %34, %29
  %38 = phi i32 [ %1, %29 ], [ %27, %34 ]
  %39 = phi %"class.std::_Vector_alloc.38"* [ %30, %29 ], [ %32, %34 ]
  %40 = shl i32 %38, 4
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %37
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %37
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %31
  %57 = phi %"class.std::_Vector_alloc.38"* [ %32, %31 ], [ %39, %45 ], [ %39, %54 ]
  %58 = phi i32 [ 0, %31 ], [ %38, %45 ], [ %38, %54 ]
  %59 = phi i8* [ null, %31 ], [ %51, %45 ], [ %55, %54 ]
  %60 = bitcast i8* %59 to %class.variant.43*
  %61 = sub i32 %1, %10
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %67, label %63

; <label>:63:                                     ; preds = %56
  %64 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %10
  %65 = bitcast %class.variant.43* %64 to i8*
  %66 = shl i32 %61, 4
  tail call void @llvm.memset.p0i8.i32(i8* %65, i8 0, i32 %66, i32 8, i1 false) #14
  br label %67

; <label>:67:                                     ; preds = %63, %56
  %68 = getelementptr inbounds %"class.std::_Vector_alloc.38", %"class.std::_Vector_alloc.38"* %57, i32 0, i32 0, i32 0, i32 1
  %69 = bitcast %class.variant.43** %68 to i32*
  %70 = load i32, i32* %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %"class.std::_Vector_alloc.38", %"class.std::_Vector_alloc.38"* %57, i32 0, i32 0, i32 0, i32 0
  %72 = load %class.variant.43*, %class.variant.43** %71, align 4, !tbaa !23
  %73 = bitcast %class.variant.43* %72 to i8*
  %74 = ptrtoint %class.variant.43* %72 to i32
  %75 = sub i32 %70, %74
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %59, i8* %73, i32 %75, i32 1, i1 false) #14
  %76 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %77 = load %class.variant.43*, %class.variant.43** %76, align 4, !tbaa !23
  %78 = icmp eq %class.variant.43* %77, null
  %79 = ptrtoint %class.variant.43* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %67
  %81 = load i32, i32* %12, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %class.variant.43* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %67
  %108 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %59, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %1
  store %class.variant.43* %109, %class.variant.43** %4, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %58
  store %class.variant.43* %110, %class.variant.43** %11, align 4, !tbaa !23
  br label %126

; <label>:111:                                    ; preds = %3
  %112 = icmp ult i32 %10, %1
  br i1 %112, label %113, label %122

; <label>:113:                                    ; preds = %111
  %114 = sub i32 %1, %10
  %115 = icmp eq i32 %114, 0
  br i1 %115, label %120, label %116

; <label>:116:                                    ; preds = %113
  %117 = inttoptr i32 %6 to i8*
  %118 = shl i32 %114, 4
  tail call void @llvm.memset.p0i8.i32(i8* %117, i8 0, i32 %118, i32 8, i1 false) #14
  %119 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %114
  br label %120

; <label>:120:                                    ; preds = %116, %113
  %121 = phi %class.variant.43* [ %18, %113 ], [ %119, %116 ]
  store %class.variant.43* %121, %class.variant.43** %4, align 4, !tbaa !23
  br label %126

; <label>:122:                                    ; preds = %111
  %123 = icmp eq i32 %10, %1
  br i1 %123, label %126, label %124

; <label>:124:                                    ; preds = %122
  %125 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %1
  store %class.variant.43* %125, %class.variant.43** %4, align 4, !tbaa !23
  br label %126

; <label>:126:                                    ; preds = %124, %122, %120, %107
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"*, i32, %"class.std::vector.17"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %struct.Field** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.17"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = sdiv exact i32 %9, 24
  %11 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %struct.Field** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = sdiv exact i32 %14, 24
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %struct.Field*
  %18 = inttoptr i32 %6 to %struct.Field*
  br i1 %16, label %19, label %111

; <label>:19:                                     ; preds = %3
  %20 = icmp ugt i32 %1, 178956970
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xlength@?$vector@UField@@V?$allocator@UField@@@std@@@std@@CAXXZ"() #22
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = lshr i32 %15, 1
  %24 = sub nsw i32 178956970, %23
  %25 = icmp ugt i32 %15, %24
  br i1 %25, label %29, label %26

; <label>:26:                                     ; preds = %22
  %27 = add i32 %23, %15
  %28 = icmp ult i32 %27, %1
  br i1 %28, label %29, label %31

; <label>:29:                                     ; preds = %26, %22
  %30 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0
  br label %37

; <label>:31:                                     ; preds = %26
  %32 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0
  %33 = icmp eq i32 %27, 0
  br i1 %33, label %56, label %34

; <label>:34:                                     ; preds = %31
  %35 = icmp ugt i32 %27, 178956970
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %34
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %34, %29
  %38 = phi i32 [ %1, %29 ], [ %27, %34 ]
  %39 = phi %"class.std::_Vector_alloc.18"* [ %30, %29 ], [ %32, %34 ]
  %40 = mul i32 %38, 24
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %37
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %37
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %31
  %57 = phi %"class.std::_Vector_alloc.18"* [ %32, %31 ], [ %39, %45 ], [ %39, %54 ]
  %58 = phi i32 [ 0, %31 ], [ %38, %45 ], [ %38, %54 ]
  %59 = phi i8* [ null, %31 ], [ %51, %45 ], [ %55, %54 ]
  %60 = bitcast i8* %59 to %struct.Field*
  %61 = sub i32 %1, %10
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %67, label %63

; <label>:63:                                     ; preds = %56
  %64 = getelementptr inbounds %struct.Field, %struct.Field* %60, i32 %10
  %65 = bitcast %struct.Field* %64 to i8*
  %66 = mul i32 %61, 24
  tail call void @llvm.memset.p0i8.i32(i8* %65, i8 0, i32 %66, i32 8, i1 false) #14
  br label %67

; <label>:67:                                     ; preds = %63, %56
  %68 = getelementptr inbounds %"class.std::_Vector_alloc.18", %"class.std::_Vector_alloc.18"* %57, i32 0, i32 0, i32 0, i32 1
  %69 = bitcast %struct.Field** %68 to i32*
  %70 = load i32, i32* %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %"class.std::_Vector_alloc.18", %"class.std::_Vector_alloc.18"* %57, i32 0, i32 0, i32 0, i32 0
  %72 = load %struct.Field*, %struct.Field** %71, align 4, !tbaa !23
  %73 = bitcast %struct.Field* %72 to i8*
  %74 = ptrtoint %struct.Field* %72 to i32
  %75 = sub i32 %70, %74
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %59, i8* %73, i32 %75, i32 1, i1 false) #14
  %76 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %77 = load %struct.Field*, %struct.Field** %76, align 4, !tbaa !23
  %78 = icmp eq %struct.Field* %77, null
  %79 = ptrtoint %struct.Field* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %67
  %81 = load i32, i32* %12, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = sdiv exact i32 %82, 24
  %84 = icmp ugt i32 %83, 178956970
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %struct.Field* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %67
  %108 = bitcast %"class.std::vector.17"* %0 to i8**
  store i8* %59, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %struct.Field, %struct.Field* %60, i32 %1
  store %struct.Field* %109, %struct.Field** %4, align 4, !tbaa !23
  %110 = getelementptr inbounds %struct.Field, %struct.Field* %60, i32 %58
  store %struct.Field* %110, %struct.Field** %11, align 4, !tbaa !23
  br label %126

; <label>:111:                                    ; preds = %3
  %112 = icmp ult i32 %10, %1
  br i1 %112, label %113, label %122

; <label>:113:                                    ; preds = %111
  %114 = sub i32 %1, %10
  %115 = icmp eq i32 %114, 0
  br i1 %115, label %120, label %116

; <label>:116:                                    ; preds = %113
  %117 = inttoptr i32 %6 to i8*
  %118 = mul i32 %114, 24
  tail call void @llvm.memset.p0i8.i32(i8* %117, i8 0, i32 %118, i32 8, i1 false) #14
  %119 = getelementptr %struct.Field, %struct.Field* %18, i32 %114
  br label %120

; <label>:120:                                    ; preds = %116, %113
  %121 = phi %struct.Field* [ %18, %113 ], [ %119, %116 ]
  store %struct.Field* %121, %struct.Field** %4, align 4, !tbaa !23
  br label %126

; <label>:122:                                    ; preds = %111
  %123 = icmp eq i32 %10, %1
  br i1 %123, label %126, label %124

; <label>:124:                                    ; preds = %122
  %125 = getelementptr inbounds %struct.Field, %struct.Field* %17, i32 %1
  store %struct.Field* %125, %struct.Field** %4, align 4, !tbaa !23
  br label %126

; <label>:126:                                    ; preds = %124, %122, %120, %107
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@UField@@V?$allocator@UField@@@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z@$$V@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !83
  %6 = sub i32 2147483647, %5
  %7 = icmp ult i32 %6, %1
  br i1 %7, label %8, label %9

; <label>:8:                                      ; preds = %3
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:9:                                      ; preds = %3
  %10 = add i32 %5, %1
  %11 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = load i32, i32* %11, align 4, !tbaa !81
  %13 = or i32 %10, 15
  %14 = icmp slt i32 %13, 0
  br i1 %14, label %30, label %15

; <label>:15:                                     ; preds = %9
  %16 = lshr i32 %12, 1
  %17 = xor i32 %16, 2147483647
  %18 = icmp ugt i32 %12, %17
  br i1 %18, label %30, label %19

; <label>:19:                                     ; preds = %15
  %20 = add i32 %16, %12
  %21 = icmp ult i32 %13, %20
  %22 = select i1 %21, i32 %20, i32 %13
  %23 = add i32 %22, 1
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %43, label %25

; <label>:25:                                     ; preds = %19
  %26 = icmp ugt i32 %23, 4095
  br i1 %26, label %27, label %41

; <label>:27:                                     ; preds = %25
  %28 = icmp ugt i32 %23, -36
  br i1 %28, label %29, label %30

; <label>:29:                                     ; preds = %27
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:30:                                     ; preds = %27, %15, %9
  %31 = phi i32 [ %23, %27 ], [ -2147483648, %9 ], [ -2147483648, %15 ]
  %32 = phi i32 [ %22, %27 ], [ 2147483647, %9 ], [ 2147483647, %15 ]
  %33 = add i32 %31, 35
  %34 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %33) #14
  %35 = ptrtoint i8* %34 to i32
  %36 = add i32 %35, 35
  %37 = and i32 %36, -32
  %38 = inttoptr i32 %37 to i8*
  %39 = inttoptr i32 %37 to i32*
  %40 = getelementptr inbounds i32, i32* %39, i32 -1
  store i32 %35, i32* %40, align 4, !tbaa !24
  br label %43

; <label>:41:                                     ; preds = %25
  %42 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %23) #14
  br label %43

; <label>:43:                                     ; preds = %41, %30, %19
  %44 = phi i32 [ -1, %19 ], [ %32, %30 ], [ %22, %41 ]
  %45 = phi i8* [ null, %19 ], [ %38, %30 ], [ %42, %41 ]
  %46 = ptrtoint i8* %45 to i32
  store i32 %10, i32* %4, align 4, !tbaa !83
  store i32 %44, i32* %11, align 4, !tbaa !81
  %47 = icmp ugt i32 %12, 15
  br i1 %47, label %48, label %74

; <label>:48:                                     ; preds = %43
  %49 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %50 = load i8*, i8** %49, align 4, !tbaa !12
  %51 = add i32 %5, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* %50, i32 %51, i32 1, i1 false) #14
  %52 = add i32 %12, 1
  %53 = icmp ugt i32 %52, 4095
  br i1 %53, label %54, label %71

; <label>:54:                                     ; preds = %48
  %55 = add i32 %12, 36
  %56 = icmp ugt i32 %52, -36
  br i1 %56, label %70, label %57

; <label>:57:                                     ; preds = %54
  %58 = ptrtoint i8* %50 to i32
  %59 = and i32 %58, 31
  %60 = icmp eq i32 %59, 0
  br i1 %60, label %61, label %70

; <label>:61:                                     ; preds = %57
  %62 = add i32 %58, -4
  %63 = inttoptr i32 %62 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !24
  %65 = icmp ult i32 %64, %58
  br i1 %65, label %66, label %70

; <label>:66:                                     ; preds = %61
  %67 = sub i32 %62, %64
  %68 = icmp ugt i32 %67, 31
  %69 = inttoptr i32 %64 to i8*
  br i1 %68, label %70, label %71

; <label>:70:                                     ; preds = %66, %61, %57, %54
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:71:                                     ; preds = %66, %48
  %72 = phi i8* [ %69, %66 ], [ %50, %48 ]
  %73 = phi i32 [ %55, %66 ], [ %52, %48 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %72, i32 %73) #14
  br label %77

; <label>:74:                                     ; preds = %43
  %75 = bitcast %"class.std::basic_string"* %0 to i8*
  %76 = add i32 %5, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* %75, i32 %76, i32 1, i1 false) #14
  br label %77

; <label>:77:                                     ; preds = %74, %71
  %78 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %46, i32* %78, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: nounwind
define zeroext i1 @builtinAnd() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %142

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %142

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %142

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %142

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %123 [
    i32 0, label %57
    i32 1, label %63
    i32 2, label %69
    i32 3, label %75
    i32 4, label %81
    i32 5, label %87
    i32 6, label %93
    i32 7, label %99
    i32 8, label %105
    i32 9, label %111
    i32 10, label %117
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !566, !range !382
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !566, !range !382
  %62 = and i8 %61, %59
  store i8 %62, i8* %58, align 1, !tbaa !566
  br label %136

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i8*
  %65 = load i8, i8* %64, align 1, !tbaa !12
  %66 = bitcast %class.variant.43* %36 to i8*
  %67 = load i8, i8* %66, align 1, !tbaa !12
  %68 = and i8 %67, %65
  store i8 %68, i8* %64, align 1, !tbaa !12
  br label %136

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i16*
  %71 = load i16, i16* %70, align 2, !tbaa !59
  %72 = bitcast %class.variant.43* %36 to i16*
  %73 = load i16, i16* %72, align 2, !tbaa !59
  %74 = and i16 %73, %71
  store i16 %74, i16* %70, align 2, !tbaa !59
  br label %136

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i32*
  %77 = load i32, i32* %76, align 4, !tbaa !24
  %78 = bitcast %class.variant.43* %36 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = and i32 %79, %77
  store i32 %80, i32* %76, align 4, !tbaa !24
  br label %136

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i64*
  %83 = load i64, i64* %82, align 8, !tbaa !61
  %84 = bitcast %class.variant.43* %36 to i64*
  %85 = load i64, i64* %84, align 8, !tbaa !61
  %86 = and i64 %85, %83
  store i64 %86, i64* %82, align 8, !tbaa !61
  br label %136

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !538
  %90 = bitcast %class.variant.43* %36 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !538
  %92 = and i32 %91, %89
  store i32 %92, i32* %88, align 4, !tbaa !538
  br label %136

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i8*
  %95 = load i8, i8* %94, align 1, !tbaa !12
  %96 = bitcast %class.variant.43* %36 to i8*
  %97 = load i8, i8* %96, align 1, !tbaa !12
  %98 = and i8 %97, %95
  store i8 %98, i8* %94, align 1, !tbaa !12
  br label %136

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i16*
  %101 = load i16, i16* %100, align 2, !tbaa !59
  %102 = bitcast %class.variant.43* %36 to i16*
  %103 = load i16, i16* %102, align 2, !tbaa !59
  %104 = and i16 %103, %101
  store i16 %104, i16* %100, align 2, !tbaa !59
  br label %136

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to i32*
  %107 = load i32, i32* %106, align 4, !tbaa !24
  %108 = bitcast %class.variant.43* %36 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !24
  %110 = and i32 %109, %107
  store i32 %110, i32* %106, align 4, !tbaa !24
  br label %136

; <label>:111:                                    ; preds = %56
  %112 = bitcast %class.variant.43* %37 to i64*
  %113 = load i64, i64* %112, align 8, !tbaa !61
  %114 = bitcast %class.variant.43* %36 to i64*
  %115 = load i64, i64* %114, align 8, !tbaa !61
  %116 = and i64 %115, %113
  store i64 %116, i64* %112, align 8, !tbaa !61
  br label %136

; <label>:117:                                    ; preds = %56
  %118 = bitcast %class.variant.43* %37 to i32*
  %119 = load i32, i32* %118, align 4, !tbaa !540
  %120 = bitcast %class.variant.43* %36 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !540
  %122 = and i32 %121, %119
  store i32 %122, i32* %118, align 4, !tbaa !540
  br label %136

; <label>:123:                                    ; preds = %56
  %124 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %125 = icmp eq i32 %124, 0
  br i1 %125, label %126, label %142

; <label>:126:                                    ; preds = %123
  %127 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %127) #14
  %128 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %129 = icmp ult i32 %128, 17
  br i1 %129, label %133, label %130

; <label>:130:                                    ; preds = %126
  %131 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %131, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %132 = getelementptr inbounds i8, i8* %131, i32 17
  store i8 0, i8* %132, align 1, !tbaa !12
  br label %135

; <label>:133:                                    ; preds = %126
  %134 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %135

; <label>:135:                                    ; preds = %133, %130
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %127) #14
  br label %142

; <label>:136:                                    ; preds = %117, %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %137 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %138 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %139 = sub i32 %137, %138
  %140 = ashr exact i32 %139, 4
  %141 = add nsw i32 %140, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %141, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %142

; <label>:142:                                    ; preds = %136, %135, %123, %55, %43, %30, %16
  %143 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %136 ], [ false, %55 ], [ false, %43 ], [ false, %135 ], [ false, %123 ]
  ret i1 %143
}

; Function Attrs: nounwind
define zeroext i1 @builtinArray() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %10 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %11 = sub i32 %9, %10
  %12 = ashr exact i32 %11, 4
  %13 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %14 = sub i32 %12, %13
  %15 = icmp ult i32 %14, 2
  %16 = inttoptr i32 %10 to %class.variant.43*
  br i1 %15, label %19, label %17

; <label>:17:                                     ; preds = %0
  %18 = add nsw i32 %12, -2
  br label %38

; <label>:19:                                     ; preds = %0
  %20 = icmp ult i32 %12, 2
  br i1 %20, label %21, label %36

; <label>:21:                                     ; preds = %19
  %22 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %23 = icmp eq i32 %22, 0
  br i1 %23, label %24, label %332

; <label>:24:                                     ; preds = %21
  %25 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %25) #14
  %26 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %27 = icmp ult i32 %26, 15
  br i1 %27, label %33, label %28

; <label>:28:                                     ; preds = %24
  %29 = icmp eq i32 %26, 15
  %30 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %31 = select i1 %29, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %30
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %31, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %32 = getelementptr inbounds i8, i8* %31, i32 15
  store i8 0, i8* %32, align 1, !tbaa !12
  br label %35

; <label>:33:                                     ; preds = %24
  %34 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %35

; <label>:35:                                     ; preds = %33, %28
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %25) #14
  br label %332

; <label>:36:                                     ; preds = %19
  %37 = add nsw i32 %12, -2
  store i32 %37, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %38

; <label>:38:                                     ; preds = %36, %17
  %39 = phi i32 [ %18, %17 ], [ %37, %36 ]
  %40 = add nsw i32 %12, -1
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %40
  %42 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %39
  %43 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %40, i32 1
  %44 = load i32, i32* %43, align 8, !tbaa !535
  switch i32 %44, label %181 [
    i32 1, label %45
    i32 2, label %66
    i32 3, label %87
    i32 4, label %106
    i32 5, label %127
    i32 6, label %146
    i32 7, label %150
    i32 8, label %154
    i32 9, label %157
    i32 10, label %178
  ]

; <label>:45:                                     ; preds = %38
  %46 = bitcast %class.variant.43* %41 to i8*
  %47 = load i8, i8* %46, align 1, !tbaa !12
  %48 = icmp slt i8 %47, 0
  br i1 %48, label %49, label %64

; <label>:49:                                     ; preds = %45
  %50 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %51 = icmp eq i32 %50, 0
  br i1 %51, label %52, label %332

; <label>:52:                                     ; preds = %49
  %53 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %53) #14
  %54 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %55 = icmp ult i32 %54, 12
  br i1 %55, label %61, label %56

; <label>:56:                                     ; preds = %52
  %57 = icmp ugt i32 %54, 15
  %58 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %59 = select i1 %57, i8* %58, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %60 = getelementptr inbounds i8, i8* %59, i32 12
  store i8 0, i8* %60, align 1, !tbaa !12
  br label %63

; <label>:61:                                     ; preds = %52
  %62 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %63

; <label>:63:                                     ; preds = %61, %56
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %53) #14
  br label %332

; <label>:64:                                     ; preds = %45
  %65 = zext i8 %47 to i32
  br label %196

; <label>:66:                                     ; preds = %38
  %67 = bitcast %class.variant.43* %41 to i16*
  %68 = load i16, i16* %67, align 2, !tbaa !59
  %69 = icmp slt i16 %68, 0
  br i1 %69, label %70, label %85

; <label>:70:                                     ; preds = %66
  %71 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %72 = icmp eq i32 %71, 0
  br i1 %72, label %73, label %332

; <label>:73:                                     ; preds = %70
  %74 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %74) #14
  %75 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %76 = icmp ult i32 %75, 12
  br i1 %76, label %82, label %77

; <label>:77:                                     ; preds = %73
  %78 = icmp ugt i32 %75, 15
  %79 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %80 = select i1 %78, i8* %79, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %81 = getelementptr inbounds i8, i8* %80, i32 12
  store i8 0, i8* %81, align 1, !tbaa !12
  br label %84

; <label>:82:                                     ; preds = %73
  %83 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %84

; <label>:84:                                     ; preds = %82, %77
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %74) #14
  br label %332

; <label>:85:                                     ; preds = %66
  %86 = zext i16 %68 to i32
  br label %196

; <label>:87:                                     ; preds = %38
  %88 = bitcast %class.variant.43* %41 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !24
  %90 = icmp slt i32 %89, 0
  br i1 %90, label %91, label %196

; <label>:91:                                     ; preds = %87
  %92 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %93 = icmp eq i32 %92, 0
  br i1 %93, label %94, label %332

; <label>:94:                                     ; preds = %91
  %95 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %95) #14
  %96 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %97 = icmp ult i32 %96, 12
  br i1 %97, label %103, label %98

; <label>:98:                                     ; preds = %94
  %99 = icmp ugt i32 %96, 15
  %100 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %101 = select i1 %99, i8* %100, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %101, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %102 = getelementptr inbounds i8, i8* %101, i32 12
  store i8 0, i8* %102, align 1, !tbaa !12
  br label %105

; <label>:103:                                    ; preds = %94
  %104 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %105

; <label>:105:                                    ; preds = %103, %98
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %95) #14
  br label %332

; <label>:106:                                    ; preds = %38
  %107 = bitcast %class.variant.43* %41 to i64*
  %108 = load i64, i64* %107, align 8, !tbaa !61
  %109 = icmp ugt i64 %108, 4294967295
  br i1 %109, label %110, label %125

; <label>:110:                                    ; preds = %106
  %111 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %112 = icmp eq i32 %111, 0
  br i1 %112, label %113, label %332

; <label>:113:                                    ; preds = %110
  %114 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %114) #14
  %115 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %116 = icmp ult i32 %115, 12
  br i1 %116, label %122, label %117

; <label>:117:                                    ; preds = %113
  %118 = icmp ugt i32 %115, 15
  %119 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %120 = select i1 %118, i8* %119, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %120, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %121 = getelementptr inbounds i8, i8* %120, i32 12
  store i8 0, i8* %121, align 1, !tbaa !12
  br label %124

; <label>:122:                                    ; preds = %113
  %123 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %124

; <label>:124:                                    ; preds = %122, %117
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %114) #14
  br label %332

; <label>:125:                                    ; preds = %106
  %126 = trunc i64 %108 to i32
  br label %196

; <label>:127:                                    ; preds = %38
  %128 = bitcast %class.variant.43* %41 to i32*
  %129 = load i32, i32* %128, align 4, !tbaa !538
  %130 = icmp slt i32 %129, 0
  br i1 %130, label %131, label %196

; <label>:131:                                    ; preds = %127
  %132 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %134, label %332

; <label>:134:                                    ; preds = %131
  %135 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %135) #14
  %136 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %137 = icmp ult i32 %136, 12
  br i1 %137, label %143, label %138

; <label>:138:                                    ; preds = %134
  %139 = icmp ugt i32 %136, 15
  %140 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %141 = select i1 %139, i8* %140, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %141, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %142 = getelementptr inbounds i8, i8* %141, i32 12
  store i8 0, i8* %142, align 1, !tbaa !12
  br label %145

; <label>:143:                                    ; preds = %134
  %144 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %145

; <label>:145:                                    ; preds = %143, %138
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %135) #14
  br label %332

; <label>:146:                                    ; preds = %38
  %147 = bitcast %class.variant.43* %41 to i8*
  %148 = load i8, i8* %147, align 1, !tbaa !12
  %149 = zext i8 %148 to i32
  br label %196

; <label>:150:                                    ; preds = %38
  %151 = bitcast %class.variant.43* %41 to i16*
  %152 = load i16, i16* %151, align 2, !tbaa !59
  %153 = zext i16 %152 to i32
  br label %196

; <label>:154:                                    ; preds = %38
  %155 = bitcast %class.variant.43* %41 to i32*
  %156 = load i32, i32* %155, align 4, !tbaa !24
  br label %196

; <label>:157:                                    ; preds = %38
  %158 = bitcast %class.variant.43* %41 to i64*
  %159 = load i64, i64* %158, align 8, !tbaa !61
  %160 = icmp ugt i64 %159, 4294967295
  br i1 %160, label %161, label %176

; <label>:161:                                    ; preds = %157
  %162 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %163 = icmp eq i32 %162, 0
  br i1 %163, label %164, label %332

; <label>:164:                                    ; preds = %161
  %165 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %165) #14
  %166 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %167 = icmp ult i32 %166, 12
  br i1 %167, label %173, label %168

; <label>:168:                                    ; preds = %164
  %169 = icmp ugt i32 %166, 15
  %170 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %171 = select i1 %169, i8* %170, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %171, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %172 = getelementptr inbounds i8, i8* %171, i32 12
  store i8 0, i8* %172, align 1, !tbaa !12
  br label %175

; <label>:173:                                    ; preds = %164
  %174 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %175

; <label>:175:                                    ; preds = %173, %168
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %165) #14
  br label %332

; <label>:176:                                    ; preds = %157
  %177 = trunc i64 %159 to i32
  br label %196

; <label>:178:                                    ; preds = %38
  %179 = bitcast %class.variant.43* %41 to i32*
  %180 = load i32, i32* %179, align 4, !tbaa !540
  br label %196

; <label>:181:                                    ; preds = %38
  %182 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %183 = icmp eq i32 %182, 0
  br i1 %183, label %184, label %332

; <label>:184:                                    ; preds = %181
  %185 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %185) #14
  %186 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %187 = icmp ult i32 %186, 12
  br i1 %187, label %193, label %188

; <label>:188:                                    ; preds = %184
  %189 = icmp ugt i32 %186, 15
  %190 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %191 = select i1 %189, i8* %190, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %191, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %192 = getelementptr inbounds i8, i8* %191, i32 12
  store i8 0, i8* %192, align 1, !tbaa !12
  br label %195

; <label>:193:                                    ; preds = %184
  %194 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %195

; <label>:195:                                    ; preds = %193, %188
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %185) #14
  br label %332

; <label>:196:                                    ; preds = %178, %176, %154, %150, %146, %127, %125, %87, %85, %64
  %197 = phi i32 [ %180, %178 ], [ %177, %176 ], [ %156, %154 ], [ %153, %150 ], [ %149, %146 ], [ %126, %125 ], [ %86, %85 ], [ %65, %64 ], [ %89, %87 ], [ %129, %127 ]
  %198 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %199 = getelementptr inbounds i8, i8* %198, i32 16
  %200 = bitcast i8* %199 to %struct.Field**
  store %struct.Field* null, %struct.Field** %200, align 4, !tbaa !554
  %201 = getelementptr inbounds i8, i8* %198, i32 20
  %202 = bitcast i8* %201 to %struct.Field**
  store %struct.Field* null, %struct.Field** %202, align 4, !tbaa !556
  %203 = getelementptr inbounds i8, i8* %198, i32 24
  %204 = bitcast i8* %203 to %struct.Field**
  store %struct.Field* null, %struct.Field** %204, align 4, !tbaa !557
  %205 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %206 = add i32 %205, 1
  store i32 %206, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %207 = bitcast i8* %198 to i32*
  store i32 1, i32* %207, align 4, !tbaa !558
  %208 = getelementptr inbounds i8, i8* %198, i32 4
  %209 = bitcast i8* %208 to i32*
  store i32 %197, i32* %209, align 4, !tbaa !563
  %210 = getelementptr inbounds i8, i8* %198, i32 8
  %211 = bitcast i8* %210 to i32*
  store i32 %197, i32* %211, align 4, !tbaa !564
  %212 = getelementptr inbounds i8, i8* %198, i32 12
  %213 = bitcast i8* %212 to i32*
  store i32 %197, i32* %213, align 4, !tbaa !565
  %214 = icmp eq i32 %197, 0
  br i1 %214, label %315, label %215

; <label>:215:                                    ; preds = %196
  %216 = bitcast i8* %199 to %"class.std::vector.17"*
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %216, i32 %197, %"class.std::vector.17"* %216) #14
  %217 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %218 = bitcast i8* %199 to i32**
  %219 = load i32*, i32** %218, align 4, !tbaa !23
  store i32 %217, i32* %219, align 8, !tbaa !561
  %220 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %221 = getelementptr inbounds %struct.Field, %struct.Field* %220, i32 0, i32 1
  %222 = bitcast %class.variant.43* %221 to i8*
  %223 = bitcast %class.variant.43* %42 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %222, i8* %223, i32 16, i32 8, i1 false), !tbaa.struct !567
  %224 = icmp eq i32 %197, 1
  br i1 %224, label %316, label %225

; <label>:225:                                    ; preds = %215
  %226 = getelementptr inbounds %class.variant.43, %class.variant.43* %16, i32 %39, i32 1
  %227 = load i32, i32* %226, align 8, !tbaa !535
  switch i32 %227, label %228 [
    i32 14, label %229
    i32 17, label %287
  ]

; <label>:228:                                    ; preds = %225
  br label %304

; <label>:229:                                    ; preds = %225
  %230 = bitcast %class.variant.43* %42 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  br label %231

; <label>:231:                                    ; preds = %281, %229
  %232 = phi i32 [ 1, %229 ], [ %285, %281 ]
  %233 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %234 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %235 = getelementptr inbounds %struct.Field, %struct.Field* %234, i32 %232
  %236 = bitcast %struct.Field* %235 to i32*
  store i32 %233, i32* %236, align 8, !tbaa !561
  %237 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %230, align 4, !tbaa !549
  %238 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %237, i32 0, i32 1
  %239 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %240 = getelementptr inbounds %struct.Field, %struct.Field* %239, i32 %232, i32 1
  %241 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %242 = bitcast i8* %241 to i32*
  store i32 1, i32* %242, align 4, !tbaa !547
  %243 = getelementptr inbounds i8, i8* %241, i32 4
  %244 = getelementptr inbounds i8, i8* %241, i32 20
  %245 = bitcast i8* %244 to i32*
  store i32 0, i32* %245, align 4, !tbaa !83
  %246 = getelementptr inbounds i8, i8* %241, i32 24
  %247 = bitcast i8* %246 to i32*
  store i32 0, i32* %247, align 4, !tbaa !81
  %248 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %237, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %249 = load i32, i32* %248, align 4, !tbaa !83
  %250 = bitcast %"class.std::basic_string"* %238 to i8*
  %251 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %237, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %252 = load i32, i32* %251, align 4, !tbaa !81
  %253 = icmp ugt i32 %252, 15
  %254 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %238, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %255 = load i8*, i8** %254, align 4
  %256 = select i1 %253, i8* %255, i8* %250
  %257 = icmp ult i32 %249, 16
  br i1 %257, label %258, label %259

; <label>:258:                                    ; preds = %231
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %243, i8* %256, i32 16, i32 1, i1 false) #14
  br label %281

; <label>:259:                                    ; preds = %231
  %260 = or i32 %249, 15
  %261 = icmp ult i32 %260, 2147483647
  %262 = select i1 %261, i32 %260, i32 2147483647
  %263 = icmp ugt i32 %262, 4094
  br i1 %263, label %264, label %273

; <label>:264:                                    ; preds = %259
  %265 = add nuw i32 %262, 36
  %266 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %265) #14
  %267 = ptrtoint i8* %266 to i32
  %268 = add i32 %267, 35
  %269 = and i32 %268, -32
  %270 = inttoptr i32 %269 to i8*
  %271 = inttoptr i32 %269 to i32*
  %272 = getelementptr inbounds i32, i32* %271, i32 -1
  store i32 %267, i32* %272, align 4, !tbaa !24
  br label %276

; <label>:273:                                    ; preds = %259
  %274 = add nuw i32 %262, 1
  %275 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %274) #14
  br label %276

; <label>:276:                                    ; preds = %273, %264
  %277 = phi i8* [ %270, %264 ], [ %275, %273 ]
  %278 = ptrtoint i8* %277 to i32
  %279 = bitcast i8* %243 to i32*
  store i32 %278, i32* %279, align 4, !tbaa !23
  %280 = add i32 %249, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %277, i8* %256, i32 %280, i32 1, i1 false) #14
  br label %281

; <label>:281:                                    ; preds = %276, %258
  %282 = phi i32 [ %262, %276 ], [ 15, %258 ]
  store i32 %249, i32* %245, align 4, !tbaa !83
  store i32 %282, i32* %247, align 4, !tbaa !81
  %283 = bitcast %class.variant.43* %240 to i8**
  store i8* %241, i8** %283, align 4, !tbaa !549
  %284 = getelementptr inbounds %struct.Field, %struct.Field* %239, i32 %232, i32 1, i32 1
  store i32 14, i32* %284, align 8, !tbaa !535
  %285 = add nuw i32 %232, 1
  %286 = icmp eq i32 %285, %197
  br i1 %286, label %316, label %231

; <label>:287:                                    ; preds = %225
  %288 = bitcast %class.variant.43* %42 to %struct.Combined**
  br label %289

; <label>:289:                                    ; preds = %289, %287
  %290 = phi i32 [ 1, %287 ], [ %302, %289 ]
  %291 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %292 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %293 = getelementptr inbounds %struct.Field, %struct.Field* %292, i32 %290
  %294 = bitcast %struct.Field* %293 to i32*
  store i32 %291, i32* %294, align 8, !tbaa !561
  %295 = load %struct.Combined*, %struct.Combined** %288, align 4, !tbaa !23
  %296 = tail call dereferenceable(28) %struct.Combined* @"\01?clone@@YAAAUCombined@@ABU1@@Z"(%struct.Combined* dereferenceable(28) %295) #14
  %297 = ptrtoint %struct.Combined* %296 to i32
  %298 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %299 = getelementptr inbounds %struct.Field, %struct.Field* %298, i32 %290, i32 1
  %300 = bitcast %class.variant.43* %299 to i32*
  store i32 %297, i32* %300, align 8, !tbaa !23
  %301 = getelementptr inbounds %struct.Field, %struct.Field* %298, i32 %290, i32 1, i32 1
  store i32 17, i32* %301, align 8, !tbaa !535
  %302 = add nuw i32 %290, 1
  %303 = icmp eq i32 %302, %197
  br i1 %303, label %316, label %289

; <label>:304:                                    ; preds = %304, %228
  %305 = phi i32 [ %313, %304 ], [ 1, %228 ]
  %306 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %307 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %308 = getelementptr inbounds %struct.Field, %struct.Field* %307, i32 %305
  %309 = bitcast %struct.Field* %308 to i32*
  store i32 %306, i32* %309, align 8, !tbaa !561
  %310 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %311 = getelementptr inbounds %struct.Field, %struct.Field* %310, i32 %305, i32 1
  %312 = bitcast %class.variant.43* %311 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %312, i8* nonnull %223, i32 16, i32 8, i1 false), !tbaa.struct !567
  %313 = add nuw i32 %305, 1
  %314 = icmp eq i32 %313, %197
  br i1 %314, label %316, label %304

; <label>:315:                                    ; preds = %196
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %42) #14
  br label %316

; <label>:316:                                    ; preds = %315, %304, %289, %281, %215
  %317 = ptrtoint i8* %198 to i32
  %318 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %319 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %320 = sub i32 %318, %319
  %321 = ashr exact i32 %320, 4
  %322 = add nsw i32 %321, -2
  %323 = inttoptr i32 %319 to %class.variant.43*
  %324 = getelementptr inbounds %class.variant.43, %class.variant.43* %323, i32 %322
  %325 = bitcast %class.variant.43* %324 to i32*
  store i32 %317, i32* %325, align 8, !tbaa !23
  %326 = getelementptr inbounds %class.variant.43, %class.variant.43* %323, i32 %322, i32 1
  store i32 17, i32* %326, align 8, !tbaa !535
  %327 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %328 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %329 = sub i32 %327, %328
  %330 = ashr exact i32 %329, 4
  %331 = add nsw i32 %330, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %331, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %332

; <label>:332:                                    ; preds = %316, %195, %181, %175, %161, %145, %131, %124, %110, %105, %91, %84, %70, %63, %49, %35, %21
  %333 = phi i1 [ false, %35 ], [ false, %21 ], [ true, %316 ], [ false, %105 ], [ false, %145 ], [ false, %195 ], [ false, %181 ], [ false, %91 ], [ false, %131 ], [ false, %63 ], [ false, %49 ], [ false, %84 ], [ false, %70 ], [ false, %124 ], [ false, %110 ], [ false, %175 ], [ false, %161 ]
  ret i1 %333
}

; Function Attrs: nounwind
define zeroext i1 @builtinAsin() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @asin(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @asin(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @asin(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinAsterisk() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %136

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %136

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %136

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %136

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %117 [
    i32 1, label %57
    i32 2, label %63
    i32 3, label %69
    i32 4, label %75
    i32 6, label %81
    i32 7, label %87
    i32 8, label %93
    i32 9, label %99
    i32 11, label %105
    i32 12, label %111
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !12
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !12
  %62 = mul i8 %61, %59
  store i8 %62, i8* %58, align 1, !tbaa !12
  br label %130

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i16*
  %65 = load i16, i16* %64, align 2, !tbaa !59
  %66 = bitcast %class.variant.43* %36 to i16*
  %67 = load i16, i16* %66, align 2, !tbaa !59
  %68 = mul i16 %67, %65
  store i16 %68, i16* %64, align 2, !tbaa !59
  br label %130

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = bitcast %class.variant.43* %36 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = mul nsw i32 %73, %71
  store i32 %74, i32* %70, align 4, !tbaa !24
  br label %130

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i64*
  %77 = load i64, i64* %76, align 8, !tbaa !61
  %78 = bitcast %class.variant.43* %36 to i64*
  %79 = load i64, i64* %78, align 8, !tbaa !61
  %80 = mul nsw i64 %79, %77
  store i64 %80, i64* %76, align 8, !tbaa !61
  br label %130

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i8*
  %83 = load i8, i8* %82, align 1, !tbaa !12
  %84 = bitcast %class.variant.43* %36 to i8*
  %85 = load i8, i8* %84, align 1, !tbaa !12
  %86 = mul i8 %85, %83
  store i8 %86, i8* %82, align 1, !tbaa !12
  br label %130

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i16*
  %89 = load i16, i16* %88, align 2, !tbaa !59
  %90 = bitcast %class.variant.43* %36 to i16*
  %91 = load i16, i16* %90, align 2, !tbaa !59
  %92 = mul i16 %91, %89
  store i16 %92, i16* %88, align 2, !tbaa !59
  br label %130

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i32*
  %95 = load i32, i32* %94, align 4, !tbaa !24
  %96 = bitcast %class.variant.43* %36 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = mul i32 %97, %95
  store i32 %98, i32* %94, align 4, !tbaa !24
  br label %130

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i64*
  %101 = load i64, i64* %100, align 8, !tbaa !61
  %102 = bitcast %class.variant.43* %36 to i64*
  %103 = load i64, i64* %102, align 8, !tbaa !61
  %104 = mul i64 %103, %101
  store i64 %104, i64* %100, align 8, !tbaa !61
  br label %130

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to float*
  %107 = load float, float* %106, align 4, !tbaa !70
  %108 = bitcast %class.variant.43* %36 to float*
  %109 = load float, float* %108, align 4, !tbaa !70
  %110 = fmul float %107, %109
  store float %110, float* %106, align 4, !tbaa !70
  br label %130

; <label>:111:                                    ; preds = %56
  %112 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %113 = load double, double* %112, align 8, !tbaa !72
  %114 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %115 = load double, double* %114, align 8, !tbaa !72
  %116 = fmul double %113, %115
  store double %116, double* %112, align 8, !tbaa !72
  br label %130

; <label>:117:                                    ; preds = %56
  %118 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %119 = icmp eq i32 %118, 0
  br i1 %119, label %120, label %136

; <label>:120:                                    ; preds = %117
  %121 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %121) #14
  %122 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %123 = icmp ult i32 %122, 17
  br i1 %123, label %127, label %124

; <label>:124:                                    ; preds = %120
  %125 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %126 = getelementptr inbounds i8, i8* %125, i32 17
  store i8 0, i8* %126, align 1, !tbaa !12
  br label %129

; <label>:127:                                    ; preds = %120
  %128 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %129

; <label>:129:                                    ; preds = %127, %124
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %121) #14
  br label %136

; <label>:130:                                    ; preds = %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %131 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %132 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %133 = sub i32 %131, %132
  %134 = ashr exact i32 %133, 4
  %135 = add nsw i32 %134, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %135, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %136

; <label>:136:                                    ; preds = %130, %129, %117, %55, %43, %30, %16
  %137 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %130 ], [ false, %55 ], [ false, %43 ], [ false, %129 ], [ false, %117 ]
  ret i1 %137
}

; Function Attrs: nounwind
define zeroext i1 @builtinAt() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %14 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %15 = sub i32 %13, %14
  %16 = ashr exact i32 %15, 4
  %17 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %18 = sub i32 %16, %17
  %19 = icmp ult i32 %18, 2
  %20 = inttoptr i32 %14 to %class.variant.43*
  br i1 %19, label %23, label %21

; <label>:21:                                     ; preds = %0
  %22 = add nsw i32 %16, -2
  br label %42

; <label>:23:                                     ; preds = %0
  %24 = icmp ult i32 %16, 2
  br i1 %24, label %25, label %40

; <label>:25:                                     ; preds = %23
  %26 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %356

; <label>:28:                                     ; preds = %25
  %29 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %29) #14
  %30 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %31 = icmp ult i32 %30, 15
  br i1 %31, label %37, label %32

; <label>:32:                                     ; preds = %28
  %33 = icmp eq i32 %30, 15
  %34 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %35 = select i1 %33, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %34
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %35, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %36 = getelementptr inbounds i8, i8* %35, i32 15
  store i8 0, i8* %36, align 1, !tbaa !12
  br label %39

; <label>:37:                                     ; preds = %28
  %38 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %39

; <label>:39:                                     ; preds = %37, %32
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %29) #14
  br label %356

; <label>:40:                                     ; preds = %23
  %41 = add nsw i32 %16, -2
  store i32 %41, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %42

; <label>:42:                                     ; preds = %40, %21
  %43 = phi i32 [ %22, %21 ], [ %41, %40 ]
  %44 = add nsw i32 %16, -1
  %45 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %43
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44, i32 1
  %47 = load i32, i32* %46, align 8, !tbaa !535
  %48 = icmp eq i32 %47, 17
  br i1 %48, label %64, label %49

; <label>:49:                                     ; preds = %42
  %50 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %51 = icmp eq i32 %50, 0
  br i1 %51, label %52, label %356

; <label>:52:                                     ; preds = %49
  %53 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %53) #14
  %54 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %55 = icmp ult i32 %54, 10
  br i1 %55, label %61, label %56

; <label>:56:                                     ; preds = %52
  %57 = icmp ugt i32 %54, 15
  %58 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %59 = select i1 %57, i8* %58, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %60 = getelementptr inbounds i8, i8* %59, i32 10
  store i8 0, i8* %60, align 1, !tbaa !12
  br label %63

; <label>:61:                                     ; preds = %52
  %62 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %63

; <label>:63:                                     ; preds = %61, %56
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %53) #14
  br label %356

; <label>:64:                                     ; preds = %42
  %65 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44
  %66 = bitcast %class.variant.43* %65 to %struct.Combined**
  %67 = load %struct.Combined*, %struct.Combined** %66, align 4, !tbaa !23
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %43, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !535
  switch i32 %69, label %331 [
    i32 1, label %70
    i32 2, label %100
    i32 3, label %130
    i32 4, label %159
    i32 6, label %191
    i32 7, label %219
    i32 8, label %247
    i32 9, label %274
    i32 10, label %304
  ]

; <label>:70:                                     ; preds = %64
  %71 = bitcast %class.variant.43* %45 to i8*
  %72 = load i8, i8* %71, align 1, !tbaa !12
  %73 = icmp slt i8 %72, 0
  br i1 %73, label %85, label %74

; <label>:74:                                     ; preds = %70
  %75 = zext i8 %72 to i32
  %76 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %77 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %78 = bitcast %struct.Field** %77 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !23
  %80 = bitcast %"class.std::vector.17"* %76 to i32*
  %81 = load i32, i32* %80, align 4, !tbaa !23
  %82 = sub i32 %79, %81
  %83 = sdiv exact i32 %82, 24
  %84 = icmp ugt i32 %83, %75
  br i1 %84, label %346, label %85

; <label>:85:                                     ; preds = %74, %70
  %86 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %87 = icmp eq i32 %86, 0
  br i1 %87, label %88, label %356

; <label>:88:                                     ; preds = %85
  %89 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %89) #14
  %90 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %91 = icmp ult i32 %90, 13
  br i1 %91, label %97, label %92

; <label>:92:                                     ; preds = %88
  %93 = icmp ugt i32 %90, 15
  %94 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %95 = select i1 %93, i8* %94, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %95, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %96 = getelementptr inbounds i8, i8* %95, i32 13
  store i8 0, i8* %96, align 1, !tbaa !12
  br label %99

; <label>:97:                                     ; preds = %88
  %98 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %99

; <label>:99:                                     ; preds = %97, %92
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %89) #14
  br label %356

; <label>:100:                                    ; preds = %64
  %101 = bitcast %class.variant.43* %45 to i16*
  %102 = load i16, i16* %101, align 2, !tbaa !59
  %103 = icmp slt i16 %102, 0
  br i1 %103, label %115, label %104

; <label>:104:                                    ; preds = %100
  %105 = zext i16 %102 to i32
  %106 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %107 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %108 = bitcast %struct.Field** %107 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !23
  %110 = bitcast %"class.std::vector.17"* %106 to i32*
  %111 = load i32, i32* %110, align 4, !tbaa !23
  %112 = sub i32 %109, %111
  %113 = sdiv exact i32 %112, 24
  %114 = icmp ugt i32 %113, %105
  br i1 %114, label %346, label %115

; <label>:115:                                    ; preds = %104, %100
  %116 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %117 = icmp eq i32 %116, 0
  br i1 %117, label %118, label %356

; <label>:118:                                    ; preds = %115
  %119 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %119) #14
  %120 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %121 = icmp ult i32 %120, 13
  br i1 %121, label %127, label %122

; <label>:122:                                    ; preds = %118
  %123 = icmp ugt i32 %120, 15
  %124 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %125 = select i1 %123, i8* %124, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %126 = getelementptr inbounds i8, i8* %125, i32 13
  store i8 0, i8* %126, align 1, !tbaa !12
  br label %129

; <label>:127:                                    ; preds = %118
  %128 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %129

; <label>:129:                                    ; preds = %127, %122
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %119) #14
  br label %356

; <label>:130:                                    ; preds = %64
  %131 = bitcast %class.variant.43* %45 to i32*
  %132 = load i32, i32* %131, align 4, !tbaa !24
  %133 = icmp slt i32 %132, 0
  br i1 %133, label %144, label %134

; <label>:134:                                    ; preds = %130
  %135 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %136 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %137 = bitcast %struct.Field** %136 to i32*
  %138 = load i32, i32* %137, align 4, !tbaa !23
  %139 = bitcast %"class.std::vector.17"* %135 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !23
  %141 = sub i32 %138, %140
  %142 = sdiv exact i32 %141, 24
  %143 = icmp ult i32 %132, %142
  br i1 %143, label %346, label %144

; <label>:144:                                    ; preds = %134, %130
  %145 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %146 = icmp eq i32 %145, 0
  br i1 %146, label %147, label %356

; <label>:147:                                    ; preds = %144
  %148 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %148) #14
  %149 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %150 = icmp ult i32 %149, 13
  br i1 %150, label %156, label %151

; <label>:151:                                    ; preds = %147
  %152 = icmp ugt i32 %149, 15
  %153 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %154 = select i1 %152, i8* %153, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %154, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %155 = getelementptr inbounds i8, i8* %154, i32 13
  store i8 0, i8* %155, align 1, !tbaa !12
  br label %158

; <label>:156:                                    ; preds = %147
  %157 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %158

; <label>:158:                                    ; preds = %156, %151
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %148) #14
  br label %356

; <label>:159:                                    ; preds = %64
  %160 = bitcast %class.variant.43* %45 to i64*
  %161 = load i64, i64* %160, align 8, !tbaa !61
  %162 = icmp slt i64 %161, 0
  br i1 %162, label %174, label %163

; <label>:163:                                    ; preds = %159
  %164 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %165 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %166 = bitcast %struct.Field** %165 to i32*
  %167 = load i32, i32* %166, align 4, !tbaa !23
  %168 = bitcast %"class.std::vector.17"* %164 to i32*
  %169 = load i32, i32* %168, align 4, !tbaa !23
  %170 = sub i32 %167, %169
  %171 = sdiv exact i32 %170, 24
  %172 = zext i32 %171 to i64
  %173 = icmp ult i64 %161, %172
  br i1 %173, label %189, label %174

; <label>:174:                                    ; preds = %163, %159
  %175 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %176 = icmp eq i32 %175, 0
  br i1 %176, label %177, label %356

; <label>:177:                                    ; preds = %174
  %178 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %178) #14
  %179 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %180 = icmp ult i32 %179, 13
  br i1 %180, label %186, label %181

; <label>:181:                                    ; preds = %177
  %182 = icmp ugt i32 %179, 15
  %183 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %184 = select i1 %182, i8* %183, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %184, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %185 = getelementptr inbounds i8, i8* %184, i32 13
  store i8 0, i8* %185, align 1, !tbaa !12
  br label %188

; <label>:186:                                    ; preds = %177
  %187 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %188

; <label>:188:                                    ; preds = %186, %181
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %178) #14
  br label %356

; <label>:189:                                    ; preds = %163
  %190 = trunc i64 %161 to i32
  br label %346

; <label>:191:                                    ; preds = %64
  %192 = bitcast %class.variant.43* %45 to i8*
  %193 = load i8, i8* %192, align 1, !tbaa !12
  %194 = zext i8 %193 to i32
  %195 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %196 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %197 = bitcast %struct.Field** %196 to i32*
  %198 = load i32, i32* %197, align 4, !tbaa !23
  %199 = bitcast %"class.std::vector.17"* %195 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !23
  %201 = sub i32 %198, %200
  %202 = sdiv exact i32 %201, 24
  %203 = icmp ugt i32 %202, %194
  br i1 %203, label %346, label %204

; <label>:204:                                    ; preds = %191
  %205 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %206 = icmp eq i32 %205, 0
  br i1 %206, label %207, label %356

; <label>:207:                                    ; preds = %204
  %208 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %208) #14
  %209 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %210 = icmp ult i32 %209, 13
  br i1 %210, label %216, label %211

; <label>:211:                                    ; preds = %207
  %212 = icmp ugt i32 %209, 15
  %213 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %214 = select i1 %212, i8* %213, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %214, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %215 = getelementptr inbounds i8, i8* %214, i32 13
  store i8 0, i8* %215, align 1, !tbaa !12
  br label %218

; <label>:216:                                    ; preds = %207
  %217 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %218

; <label>:218:                                    ; preds = %216, %211
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %208) #14
  br label %356

; <label>:219:                                    ; preds = %64
  %220 = bitcast %class.variant.43* %45 to i16*
  %221 = load i16, i16* %220, align 2, !tbaa !59
  %222 = zext i16 %221 to i32
  %223 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %224 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %225 = bitcast %struct.Field** %224 to i32*
  %226 = load i32, i32* %225, align 4, !tbaa !23
  %227 = bitcast %"class.std::vector.17"* %223 to i32*
  %228 = load i32, i32* %227, align 4, !tbaa !23
  %229 = sub i32 %226, %228
  %230 = sdiv exact i32 %229, 24
  %231 = icmp ugt i32 %230, %222
  br i1 %231, label %346, label %232

; <label>:232:                                    ; preds = %219
  %233 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %356

; <label>:235:                                    ; preds = %232
  %236 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %236) #14
  %237 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %238 = icmp ult i32 %237, 13
  br i1 %238, label %244, label %239

; <label>:239:                                    ; preds = %235
  %240 = icmp ugt i32 %237, 15
  %241 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %242 = select i1 %240, i8* %241, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %242, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %243 = getelementptr inbounds i8, i8* %242, i32 13
  store i8 0, i8* %243, align 1, !tbaa !12
  br label %246

; <label>:244:                                    ; preds = %235
  %245 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %246

; <label>:246:                                    ; preds = %244, %239
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %236) #14
  br label %356

; <label>:247:                                    ; preds = %64
  %248 = bitcast %class.variant.43* %45 to i32*
  %249 = load i32, i32* %248, align 4, !tbaa !24
  %250 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %251 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %252 = bitcast %struct.Field** %251 to i32*
  %253 = load i32, i32* %252, align 4, !tbaa !23
  %254 = bitcast %"class.std::vector.17"* %250 to i32*
  %255 = load i32, i32* %254, align 4, !tbaa !23
  %256 = sub i32 %253, %255
  %257 = sdiv exact i32 %256, 24
  %258 = icmp ult i32 %249, %257
  br i1 %258, label %346, label %259

; <label>:259:                                    ; preds = %247
  %260 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %261 = icmp eq i32 %260, 0
  br i1 %261, label %262, label %356

; <label>:262:                                    ; preds = %259
  %263 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %263) #14
  %264 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %265 = icmp ult i32 %264, 13
  br i1 %265, label %271, label %266

; <label>:266:                                    ; preds = %262
  %267 = icmp ugt i32 %264, 15
  %268 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %269 = select i1 %267, i8* %268, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %269, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %270 = getelementptr inbounds i8, i8* %269, i32 13
  store i8 0, i8* %270, align 1, !tbaa !12
  br label %273

; <label>:271:                                    ; preds = %262
  %272 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %273

; <label>:273:                                    ; preds = %271, %266
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %263) #14
  br label %356

; <label>:274:                                    ; preds = %64
  %275 = bitcast %class.variant.43* %45 to i64*
  %276 = load i64, i64* %275, align 8, !tbaa !61
  %277 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %278 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %279 = bitcast %struct.Field** %278 to i32*
  %280 = load i32, i32* %279, align 4, !tbaa !23
  %281 = bitcast %"class.std::vector.17"* %277 to i32*
  %282 = load i32, i32* %281, align 4, !tbaa !23
  %283 = sub i32 %280, %282
  %284 = sdiv exact i32 %283, 24
  %285 = zext i32 %284 to i64
  %286 = icmp ult i64 %276, %285
  br i1 %286, label %302, label %287

; <label>:287:                                    ; preds = %274
  %288 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %289 = icmp eq i32 %288, 0
  br i1 %289, label %290, label %356

; <label>:290:                                    ; preds = %287
  %291 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %291) #14
  %292 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %293 = icmp ult i32 %292, 13
  br i1 %293, label %299, label %294

; <label>:294:                                    ; preds = %290
  %295 = icmp ugt i32 %292, 15
  %296 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %297 = select i1 %295, i8* %296, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %297, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %298 = getelementptr inbounds i8, i8* %297, i32 13
  store i8 0, i8* %298, align 1, !tbaa !12
  br label %301

; <label>:299:                                    ; preds = %290
  %300 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %301

; <label>:301:                                    ; preds = %299, %294
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %291) #14
  br label %356

; <label>:302:                                    ; preds = %274
  %303 = trunc i64 %276 to i32
  br label %346

; <label>:304:                                    ; preds = %64
  %305 = bitcast %class.variant.43* %45 to i32*
  %306 = load i32, i32* %305, align 4, !tbaa !540
  %307 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %308 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %309 = bitcast %struct.Field** %308 to i32*
  %310 = load i32, i32* %309, align 4, !tbaa !23
  %311 = bitcast %"class.std::vector.17"* %307 to i32*
  %312 = load i32, i32* %311, align 4, !tbaa !23
  %313 = sub i32 %310, %312
  %314 = sdiv exact i32 %313, 24
  %315 = icmp ult i32 %306, %314
  br i1 %315, label %346, label %316

; <label>:316:                                    ; preds = %304
  %317 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %318 = icmp eq i32 %317, 0
  br i1 %318, label %319, label %356

; <label>:319:                                    ; preds = %316
  %320 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %320) #14
  %321 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %322 = icmp ult i32 %321, 13
  br i1 %322, label %328, label %323

; <label>:323:                                    ; preds = %319
  %324 = icmp ugt i32 %321, 15
  %325 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %326 = select i1 %324, i8* %325, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %326, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %327 = getelementptr inbounds i8, i8* %326, i32 13
  store i8 0, i8* %327, align 1, !tbaa !12
  br label %330

; <label>:328:                                    ; preds = %319
  %329 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %330

; <label>:330:                                    ; preds = %328, %323
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %320) #14
  br label %356

; <label>:331:                                    ; preds = %64
  %332 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %333 = icmp eq i32 %332, 0
  br i1 %333, label %334, label %356

; <label>:334:                                    ; preds = %331
  %335 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %335) #14
  %336 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %337 = icmp ult i32 %336, 13
  br i1 %337, label %343, label %338

; <label>:338:                                    ; preds = %334
  %339 = icmp ugt i32 %336, 15
  %340 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %341 = select i1 %339, i8* %340, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %341, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %342 = getelementptr inbounds i8, i8* %341, i32 13
  store i8 0, i8* %342, align 1, !tbaa !12
  br label %345

; <label>:343:                                    ; preds = %334
  %344 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %345

; <label>:345:                                    ; preds = %343, %338
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %335) #14
  br label %356

; <label>:346:                                    ; preds = %304, %302, %247, %219, %191, %189, %134, %104, %74
  %347 = phi i32 [ %282, %302 ], [ %169, %189 ], [ %140, %134 ], [ %200, %191 ], [ %228, %219 ], [ %255, %247 ], [ %312, %304 ], [ %81, %74 ], [ %111, %104 ]
  %348 = phi i32 [ %303, %302 ], [ %190, %189 ], [ %132, %134 ], [ %194, %191 ], [ %222, %219 ], [ %249, %247 ], [ %306, %304 ], [ %75, %74 ], [ %105, %104 ]
  %349 = inttoptr i32 %347 to %struct.Field*
  %350 = getelementptr inbounds %struct.Field, %struct.Field* %349, i32 %348, i32 1
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %350, %class.variant.43* nonnull dereferenceable(16) %45) #14
  %351 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %352 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %353 = sub i32 %351, %352
  %354 = ashr exact i32 %353, 4
  %355 = add nsw i32 %354, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %355, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %67) #14
  br label %356

; <label>:356:                                    ; preds = %346, %345, %331, %330, %316, %301, %287, %273, %259, %246, %232, %218, %204, %188, %174, %158, %144, %129, %115, %99, %85, %63, %49, %39, %25
  %357 = phi i1 [ false, %39 ], [ false, %25 ], [ false, %63 ], [ false, %49 ], [ true, %346 ], [ false, %158 ], [ false, %218 ], [ false, %246 ], [ false, %273 ], [ false, %330 ], [ false, %345 ], [ false, %331 ], [ false, %144 ], [ false, %204 ], [ false, %232 ], [ false, %259 ], [ false, %316 ], [ false, %99 ], [ false, %85 ], [ false, %129 ], [ false, %115 ], [ false, %188 ], [ false, %174 ], [ false, %301 ], [ false, %287 ]
  ret i1 %357
}

; Function Attrs: nounwind
define zeroext i1 @builtinAtan() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @atan(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @atan(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @atan(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinAtan2() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %106

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %106

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %106

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %106

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %87 [
    i32 11, label %57
    i32 12, label %74
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %36 to float*
  %59 = load float, float* %58, align 4, !tbaa !70
  %60 = bitcast %class.variant.43* %37 to float*
  %61 = load float, float* %60, align 4, !tbaa !70
  %62 = fpext float %59 to double
  %63 = fpext float %61 to double
  %64 = tail call double @atan2(double %63, double %62) #14
  %65 = fptrunc double %64 to float
  %66 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %67 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %68 = sub i32 %66, %67
  %69 = ashr exact i32 %68, 4
  %70 = add nsw i32 %69, -2
  %71 = inttoptr i32 %67 to %class.variant.43*
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %71, i32 %70
  %73 = bitcast %class.variant.43* %72 to float*
  store float %65, float* %73, align 4, !tbaa !70
  br label %100

; <label>:74:                                     ; preds = %56
  %75 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %76 = load double, double* %75, align 8, !tbaa !72
  %77 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %78 = load double, double* %77, align 8, !tbaa !72
  %79 = tail call double @atan2(double %78, double %76) #14
  %80 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %81 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %82 = sub i32 %80, %81
  %83 = ashr exact i32 %82, 4
  %84 = add nsw i32 %83, -2
  %85 = inttoptr i32 %81 to %class.variant.43*
  %86 = getelementptr inbounds %class.variant.43, %class.variant.43* %85, i32 %84, i32 0, i32 0, i32 0
  store double %79, double* %86, align 8, !tbaa !72
  br label %100

; <label>:87:                                     ; preds = %56
  %88 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %89 = icmp eq i32 %88, 0
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %91) #14
  %92 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %93 = icmp ult i32 %92, 17
  br i1 %93, label %97, label %94

; <label>:94:                                     ; preds = %90
  %95 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %95, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %96 = getelementptr inbounds i8, i8* %95, i32 17
  store i8 0, i8* %96, align 1, !tbaa !12
  br label %99

; <label>:97:                                     ; preds = %90
  %98 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %99

; <label>:99:                                     ; preds = %97, %94
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %91) #14
  br label %106

; <label>:100:                                    ; preds = %74, %57
  %101 = phi i32 [ %81, %74 ], [ %67, %57 ]
  %102 = phi i32 [ %80, %74 ], [ %66, %57 ]
  %103 = sub i32 %102, %101
  %104 = ashr exact i32 %103, 4
  %105 = add nsw i32 %104, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %105, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %106

; <label>:106:                                    ; preds = %100, %99, %87, %55, %43, %30, %16
  %107 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %100 ], [ false, %55 ], [ false, %43 ], [ false, %99 ], [ false, %87 ]
  ret i1 %107
}

; Function Attrs: nounwind
declare double @atan2(double, double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinCall() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca i64, align 4
  %6 = bitcast i64* %5 to %struct.SourceText*
  %7 = alloca i64, align 4
  %8 = bitcast i64* %7 to %struct.SourceText*
  %9 = alloca %"class.std::basic_string", align 4
  %10 = alloca %class.variant.43, align 8
  %11 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %12 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %13 = sub i32 %11, %12
  %14 = ashr exact i32 %13, 4
  %15 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %14, %15
  %17 = inttoptr i32 %12 to %class.variant.43*
  br i1 %16, label %20, label %18

; <label>:18:                                     ; preds = %0
  %19 = add nsw i32 %14, -1
  br label %39

; <label>:20:                                     ; preds = %0
  %21 = icmp eq i32 %14, 0
  br i1 %21, label %22, label %37

; <label>:22:                                     ; preds = %20
  %23 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %25, label %316

; <label>:25:                                     ; preds = %22
  %26 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %26) #14
  %27 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %28 = icmp ult i32 %27, 15
  br i1 %28, label %34, label %29

; <label>:29:                                     ; preds = %25
  %30 = icmp eq i32 %27, 15
  %31 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %32 = select i1 %30, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %31
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %33 = getelementptr inbounds i8, i8* %32, i32 15
  store i8 0, i8* %33, align 1, !tbaa !12
  br label %36

; <label>:34:                                     ; preds = %25
  %35 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %36

; <label>:36:                                     ; preds = %34, %29
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %26) #14
  br label %316

; <label>:37:                                     ; preds = %20
  %38 = add nsw i32 %14, -1
  store i32 %38, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %39

; <label>:39:                                     ; preds = %37, %18
  %40 = phi i32 [ %19, %18 ], [ %38, %37 ]
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %40
  %42 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %40, i32 1
  %43 = load i32, i32* %42, align 8, !tbaa !535
  switch i32 %43, label %303 [
    i32 13, label %44
    i32 14, label %73
    i32 15, label %212
    i32 16, label %219
    i32 17, label %223
  ]

; <label>:44:                                     ; preds = %39
  %45 = bitcast i64* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %45) #14
  %46 = bitcast %class.variant.43* %41 to i64*
  %47 = load i64, i64* %46, align 4
  store i64 %47, i64* %5, align 4
  %48 = bitcast i64* %5 to %"struct.std::pair.23"**
  %49 = trunc i64 %47 to i32
  %50 = inttoptr i32 %49 to %"struct.std::pair.23"*
  %51 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %50, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %52 = load %"class.std::vector.4"*, %"class.std::vector.4"** %51, align 4, !tbaa !23
  %53 = icmp eq %"class.std::vector.4"* %52, null
  br i1 %53, label %54, label %59

; <label>:54:                                     ; preds = %44
  %55 = call zeroext i1 @"\01?parse@@YA_NABUSourceText@@@Z"(%struct.SourceText* nonnull dereferenceable(8) %6) #14
  br i1 %55, label %56, label %71

; <label>:56:                                     ; preds = %54
  %57 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %58 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %59

; <label>:59:                                     ; preds = %56, %44
  %60 = phi i32 [ %58, %56 ], [ %12, %44 ]
  %61 = phi i32 [ %57, %56 ], [ %11, %44 ]
  %62 = sub i32 %61, %60
  %63 = ashr exact i32 %62, 4
  %64 = add nsw i32 %63, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %64, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %65 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %6, i32 0, i32 1
  %66 = load i32, i32* %65, align 4, !tbaa !569
  %67 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %48, align 4, !tbaa !542
  %68 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %67, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %69 = load %"class.std::vector.4"*, %"class.std::vector.4"** %68, align 4, !tbaa !23
  %70 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %69, i32 %66) #14
  br label %71

; <label>:71:                                     ; preds = %59, %54
  %72 = phi i1 [ %70, %59 ], [ false, %54 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %45) #14
  br label %316

; <label>:73:                                     ; preds = %39
  %74 = bitcast i64* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %74) #14
  %75 = bitcast %"class.std::basic_string"* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %75) #14
  %76 = bitcast %class.variant.43* %41 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %77 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %76, align 4, !tbaa !549
  %78 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %77, i32 0, i32 1
  %79 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %79, align 4, !tbaa !83
  %80 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %80, align 4, !tbaa !81
  %81 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %77, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %82 = load i32, i32* %81, align 4, !tbaa !83
  %83 = bitcast %"class.std::basic_string"* %78 to i8*
  %84 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %77, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %85 = load i32, i32* %84, align 4, !tbaa !81
  %86 = icmp ugt i32 %85, 15
  %87 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %78, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %88 = load i8*, i8** %87, align 4
  %89 = select i1 %86, i8* %88, i8* %83
  %90 = icmp ult i32 %82, 16
  br i1 %90, label %91, label %92

; <label>:91:                                     ; preds = %73
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %75, i8* %89, i32 16, i32 1, i1 false) #14
  br label %114

; <label>:92:                                     ; preds = %73
  %93 = or i32 %82, 15
  %94 = icmp ult i32 %93, 2147483647
  %95 = select i1 %94, i32 %93, i32 2147483647
  %96 = icmp ugt i32 %95, 4094
  br i1 %96, label %97, label %106

; <label>:97:                                     ; preds = %92
  %98 = add nuw i32 %95, 36
  %99 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %98) #14
  %100 = ptrtoint i8* %99 to i32
  %101 = add i32 %100, 35
  %102 = and i32 %101, -32
  %103 = inttoptr i32 %102 to i8*
  %104 = inttoptr i32 %102 to i32*
  %105 = getelementptr inbounds i32, i32* %104, i32 -1
  store i32 %100, i32* %105, align 4, !tbaa !24
  br label %109

; <label>:106:                                    ; preds = %92
  %107 = add nuw i32 %95, 1
  %108 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %107) #14
  br label %109

; <label>:109:                                    ; preds = %106, %97
  %110 = phi i8* [ %103, %97 ], [ %108, %106 ]
  %111 = ptrtoint i8* %110 to i32
  %112 = bitcast %"class.std::basic_string"* %9 to i32*
  store i32 %111, i32* %112, align 4, !tbaa !23
  %113 = add i32 %82, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %110, i8* %89, i32 %113, i32 1, i1 false) #14
  br label %114

; <label>:114:                                    ; preds = %109, %91
  %115 = phi i32 [ %95, %109 ], [ 15, %91 ]
  store i32 %82, i32* %79, align 4, !tbaa !83
  store i32 %115, i32* %80, align 4, !tbaa !81
  %116 = call i64 @"\01?generatedText@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %9) #14
  store i64 %116, i64* %7, align 4
  %117 = load i32, i32* %80, align 4, !tbaa !81
  %118 = icmp ugt i32 %117, 15
  br i1 %118, label %123, label %119

; <label>:119:                                    ; preds = %114
  %120 = trunc i64 %116 to i32
  %121 = inttoptr i32 %120 to %"struct.std::pair.23"*
  %122 = bitcast i64* %7 to %"struct.std::pair.23"**
  br label %150

; <label>:123:                                    ; preds = %114
  %124 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %125 = load i8*, i8** %124, align 4, !tbaa !12
  %126 = add i32 %117, 1
  %127 = icmp ugt i32 %126, 4095
  br i1 %127, label %128, label %145

; <label>:128:                                    ; preds = %123
  %129 = add i32 %117, 36
  %130 = icmp ugt i32 %126, -36
  br i1 %130, label %144, label %131

; <label>:131:                                    ; preds = %128
  %132 = ptrtoint i8* %125 to i32
  %133 = and i32 %132, 31
  %134 = icmp eq i32 %133, 0
  br i1 %134, label %135, label %144

; <label>:135:                                    ; preds = %131
  %136 = add i32 %132, -4
  %137 = inttoptr i32 %136 to i32*
  %138 = load i32, i32* %137, align 4, !tbaa !24
  %139 = icmp ult i32 %138, %132
  br i1 %139, label %140, label %144

; <label>:140:                                    ; preds = %135
  %141 = sub i32 %136, %138
  %142 = icmp ugt i32 %141, 31
  %143 = inttoptr i32 %138 to i8*
  br i1 %142, label %144, label %145

; <label>:144:                                    ; preds = %140, %135, %131, %128
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:145:                                    ; preds = %140, %123
  %146 = phi i8* [ %143, %140 ], [ %125, %123 ]
  %147 = phi i32 [ %129, %140 ], [ %126, %123 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %146, i32 %147) #14
  %148 = bitcast i64* %7 to %"struct.std::pair.23"**
  %149 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %148, align 4, !tbaa !542
  br label %150

; <label>:150:                                    ; preds = %145, %119
  %151 = phi %"struct.std::pair.23"** [ %122, %119 ], [ %148, %145 ]
  %152 = phi %"struct.std::pair.23"* [ %121, %119 ], [ %149, %145 ]
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %75) #14
  %153 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %152, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %154 = load %"class.std::vector.4"*, %"class.std::vector.4"** %153, align 4, !tbaa !23
  %155 = icmp eq %"class.std::vector.4"* %154, null
  br i1 %155, label %156, label %158

; <label>:156:                                    ; preds = %150
  %157 = call zeroext i1 @"\01?parse@@YA_NABUSourceText@@@Z"(%struct.SourceText* nonnull dereferenceable(8) %8) #14
  br i1 %157, label %158, label %210

; <label>:158:                                    ; preds = %156, %150
  %159 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %76, align 4, !tbaa !549
  %160 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %159, i32 0, i32 0
  %161 = load i32, i32* %160, align 4, !tbaa !547
  %162 = icmp eq i32 %161, 1
  br i1 %162, label %165, label %163

; <label>:163:                                    ; preds = %158
  %164 = add i32 %161, -1
  store i32 %164, i32* %160, align 4, !tbaa !547
  br label %198

; <label>:165:                                    ; preds = %158
  %166 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %159, null
  br i1 %166, label %198, label %167

; <label>:167:                                    ; preds = %165
  %168 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %159, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %169 = load i32, i32* %168, align 4, !tbaa !81
  %170 = icmp ugt i32 %169, 15
  br i1 %170, label %171, label %196

; <label>:171:                                    ; preds = %167
  %172 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %159, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %173 = load i8*, i8** %172, align 4, !tbaa !12
  %174 = add i32 %169, 1
  %175 = icmp ugt i32 %174, 4095
  br i1 %175, label %176, label %193

; <label>:176:                                    ; preds = %171
  %177 = add i32 %169, 36
  %178 = icmp ugt i32 %174, -36
  br i1 %178, label %192, label %179

; <label>:179:                                    ; preds = %176
  %180 = ptrtoint i8* %173 to i32
  %181 = and i32 %180, 31
  %182 = icmp eq i32 %181, 0
  br i1 %182, label %183, label %192

; <label>:183:                                    ; preds = %179
  %184 = add i32 %180, -4
  %185 = inttoptr i32 %184 to i32*
  %186 = load i32, i32* %185, align 4, !tbaa !24
  %187 = icmp ult i32 %186, %180
  br i1 %187, label %188, label %192

; <label>:188:                                    ; preds = %183
  %189 = sub i32 %184, %186
  %190 = icmp ugt i32 %189, 31
  %191 = inttoptr i32 %186 to i8*
  br i1 %190, label %192, label %193

; <label>:192:                                    ; preds = %188, %183, %179, %176
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:193:                                    ; preds = %188, %171
  %194 = phi i8* [ %191, %188 ], [ %173, %171 ]
  %195 = phi i32 [ %177, %188 ], [ %174, %171 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %194, i32 %195) #14
  br label %196

; <label>:196:                                    ; preds = %193, %167
  %197 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %159 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %197) #21
  br label %198

; <label>:198:                                    ; preds = %196, %165, %163
  %199 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %200 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %201 = sub i32 %199, %200
  %202 = ashr exact i32 %201, 4
  %203 = add nsw i32 %202, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %203, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %204 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %8, i32 0, i32 1
  %205 = load i32, i32* %204, align 4, !tbaa !569
  %206 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %151, align 4, !tbaa !542
  %207 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %206, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %208 = load %"class.std::vector.4"*, %"class.std::vector.4"** %207, align 4, !tbaa !23
  %209 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %208, i32 %205) #14
  br label %210

; <label>:210:                                    ; preds = %198, %156
  %211 = phi i1 [ %209, %198 ], [ false, %156 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %74) #14
  br label %316

; <label>:212:                                    ; preds = %39
  %213 = bitcast %class.variant.43* %41 to %struct.SourceCode*
  %214 = bitcast %class.variant.43* %41 to %"class.std::vector.4"**
  %215 = load %"class.std::vector.4"*, %"class.std::vector.4"** %214, align 4
  %216 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %213, i32 0, i32 1
  %217 = load i32, i32* %216, align 4
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %40, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %218 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %215, i32 %217) #14
  br label %316

; <label>:219:                                    ; preds = %39
  %220 = bitcast %class.variant.43* %41 to i1 ()**
  %221 = load i1 ()*, i1 ()** %220, align 4, !tbaa !23
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %40, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?addNode@@YAXXZ"() #14
  %222 = tail call zeroext i1 %221() #14
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %316

; <label>:223:                                    ; preds = %39
  %224 = bitcast %class.variant.43* %41 to %struct.Combined**
  %225 = load %struct.Combined*, %struct.Combined** %224, align 4, !tbaa !23
  %226 = getelementptr inbounds %struct.Combined, %struct.Combined* %225, i32 0, i32 1
  %227 = load i32, i32* %226, align 4, !tbaa !563
  %228 = getelementptr inbounds %struct.Combined, %struct.Combined* %225, i32 0, i32 4
  %229 = getelementptr inbounds %struct.Combined, %struct.Combined* %225, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %230 = bitcast %struct.Field** %229 to i32*
  %231 = load i32, i32* %230, align 4, !tbaa !23
  %232 = bitcast %"class.std::vector.17"* %228 to i32*
  %233 = load i32, i32* %232, align 4, !tbaa !23
  %234 = sub i32 %231, %233
  %235 = sdiv exact i32 %234, 24
  %236 = icmp eq i32 %227, %235
  br i1 %236, label %244, label %237

; <label>:237:                                    ; preds = %223
  %238 = inttoptr i32 %233 to %struct.Field*
  %239 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %228, i32 0, i32 0, i32 0, i32 0, i32 0
  %240 = getelementptr inbounds %struct.Field, %struct.Field* %238, i32 %227, i32 1, i32 1
  %241 = load i32, i32* %240, align 8, !tbaa !535
  %242 = add i32 %241, -15
  %243 = icmp ult i32 %242, 2
  br i1 %243, label %259, label %244

; <label>:244:                                    ; preds = %237, %223
  %245 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %246 = icmp eq i32 %245, 0
  br i1 %246, label %247, label %316

; <label>:247:                                    ; preds = %244
  %248 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %248) #14
  %249 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %250 = icmp ult i32 %249, 12
  br i1 %250, label %256, label %251

; <label>:251:                                    ; preds = %247
  %252 = icmp ugt i32 %249, 15
  %253 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %254 = select i1 %252, i8* %253, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %254, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@DFBCBKCD@non?5callable?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %255 = getelementptr inbounds i8, i8* %254, i32 12
  store i8 0, i8* %255, align 1, !tbaa !12
  br label %258

; <label>:256:                                    ; preds = %247
  %257 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@DFBCBKCD@non?5callable?$AA@", i32 0, i32 0)) #14
  br label %258

; <label>:258:                                    ; preds = %256, %251
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %248) #14
  br label %316

; <label>:259:                                    ; preds = %237
  %260 = getelementptr inbounds %struct.Combined, %struct.Combined* %225, i32 0, i32 2
  %261 = load i32, i32* %260, align 4, !tbaa !564
  %262 = icmp eq i32 %261, %235
  br i1 %262, label %278, label %263

; <label>:263:                                    ; preds = %259
  %264 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %265 = icmp eq i32 %264, 0
  br i1 %265, label %266, label %316

; <label>:266:                                    ; preds = %263
  %267 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %267) #14
  %268 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %269 = icmp ult i32 %268, 13
  br i1 %269, label %275, label %270

; <label>:270:                                    ; preds = %266
  %271 = icmp ugt i32 %268, 15
  %272 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %273 = select i1 %271, i8* %272, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %273, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@MEAOPHLN@body?5with?5PRE?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %274 = getelementptr inbounds i8, i8* %273, i32 13
  store i8 0, i8* %274, align 1, !tbaa !12
  br label %277

; <label>:275:                                    ; preds = %266
  %276 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@MEAOPHLN@body?5with?5PRE?$AA@", i32 0, i32 0)) #14
  br label %277

; <label>:277:                                    ; preds = %275, %270
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %267) #14
  br label %316

; <label>:278:                                    ; preds = %259
  %279 = bitcast %class.variant.43* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %279) #14
  %280 = bitcast %class.variant.43* %41 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %279, i8* %280, i32 16, i32 8, i1 false), !tbaa.struct !567
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %40, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?registerNames@@YAXAAV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %228) #14
  %281 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?registerName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@AAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %281, %class.variant.43* nonnull dereferenceable(16) %10) #14
  %282 = load %struct.Field*, %struct.Field** %239, align 4, !tbaa !23
  %283 = getelementptr inbounds %struct.Field, %struct.Field* %282, i32 %227, i32 1, i32 1
  %284 = load i32, i32* %283, align 8, !tbaa !535
  %285 = icmp eq i32 %284, 16
  br i1 %285, label %286, label %292

; <label>:286:                                    ; preds = %278
  call void @"\01?addNode@@YAXXZ"() #14
  %287 = load %struct.Field*, %struct.Field** %239, align 4, !tbaa !23
  %288 = getelementptr inbounds %struct.Field, %struct.Field* %287, i32 %227, i32 1
  %289 = bitcast %class.variant.43* %288 to i1 ()**
  %290 = load i1 ()*, i1 ()** %289, align 4, !tbaa !23
  %291 = call zeroext i1 %290() #14
  call void @"\01?removeNode@@YAXXZ"() #14
  br label %300

; <label>:292:                                    ; preds = %278
  %293 = getelementptr inbounds %struct.Field, %struct.Field* %282, i32 %227, i32 1
  %294 = bitcast %class.variant.43* %293 to %struct.SourceCode*
  %295 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %294, i32 0, i32 1
  %296 = load i32, i32* %295, align 4, !tbaa !570
  %297 = bitcast %class.variant.43* %293 to %"class.std::vector.4"**
  %298 = load %"class.std::vector.4"*, %"class.std::vector.4"** %297, align 4, !tbaa !572
  %299 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %298, i32 %296) #14
  br label %300

; <label>:300:                                    ; preds = %292, %286
  %301 = phi i1 [ %291, %286 ], [ %299, %292 ]
  %302 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %302) #14
  call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %228) #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %225) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %279) #14
  br label %316

; <label>:303:                                    ; preds = %39
  %304 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %305 = icmp eq i32 %304, 0
  br i1 %305, label %306, label %316

; <label>:306:                                    ; preds = %303
  %307 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %307) #14
  %308 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %309 = icmp ult i32 %308, 16
  br i1 %309, label %313, label %310

; <label>:310:                                    ; preds = %306
  %311 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %311, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %312 = getelementptr inbounds i8, i8* %311, i32 16
  store i8 0, i8* %312, align 1, !tbaa !12
  br label %315

; <label>:313:                                    ; preds = %306
  %314 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %315

; <label>:315:                                    ; preds = %313, %310
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %307) #14
  br label %316

; <label>:316:                                    ; preds = %315, %303, %300, %277, %263, %258, %244, %219, %212, %210, %71, %36, %22
  %317 = phi i1 [ false, %36 ], [ false, %22 ], [ %222, %219 ], [ %218, %212 ], [ %211, %210 ], [ %72, %71 ], [ %301, %300 ], [ false, %258 ], [ false, %244 ], [ false, %277 ], [ false, %263 ], [ false, %315 ], [ false, %303 ]
  ret i1 %317
}

; Function Attrs: nounwind
define zeroext i1 @builtinCaret() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %106

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %106

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %106

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %106

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %87 [
    i32 11, label %57
    i32 12, label %74
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %36 to float*
  %59 = load float, float* %58, align 4, !tbaa !70
  %60 = bitcast %class.variant.43* %37 to float*
  %61 = load float, float* %60, align 4, !tbaa !70
  %62 = fpext float %59 to double
  %63 = fpext float %61 to double
  %64 = tail call double @pow(double %63, double %62) #14
  %65 = fptrunc double %64 to float
  %66 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %67 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %68 = sub i32 %66, %67
  %69 = ashr exact i32 %68, 4
  %70 = add nsw i32 %69, -2
  %71 = inttoptr i32 %67 to %class.variant.43*
  %72 = getelementptr inbounds %class.variant.43, %class.variant.43* %71, i32 %70
  %73 = bitcast %class.variant.43* %72 to float*
  store float %65, float* %73, align 4, !tbaa !70
  br label %100

; <label>:74:                                     ; preds = %56
  %75 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %76 = load double, double* %75, align 8, !tbaa !72
  %77 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %78 = load double, double* %77, align 8, !tbaa !72
  %79 = tail call double @pow(double %78, double %76) #14
  %80 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %81 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %82 = sub i32 %80, %81
  %83 = ashr exact i32 %82, 4
  %84 = add nsw i32 %83, -2
  %85 = inttoptr i32 %81 to %class.variant.43*
  %86 = getelementptr inbounds %class.variant.43, %class.variant.43* %85, i32 %84, i32 0, i32 0, i32 0
  store double %79, double* %86, align 8, !tbaa !72
  br label %100

; <label>:87:                                     ; preds = %56
  %88 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %89 = icmp eq i32 %88, 0
  br i1 %89, label %90, label %106

; <label>:90:                                     ; preds = %87
  %91 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %91) #14
  %92 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %93 = icmp ult i32 %92, 17
  br i1 %93, label %97, label %94

; <label>:94:                                     ; preds = %90
  %95 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %95, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %96 = getelementptr inbounds i8, i8* %95, i32 17
  store i8 0, i8* %96, align 1, !tbaa !12
  br label %99

; <label>:97:                                     ; preds = %90
  %98 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %99

; <label>:99:                                     ; preds = %97, %94
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %91) #14
  br label %106

; <label>:100:                                    ; preds = %74, %57
  %101 = phi i32 [ %81, %74 ], [ %67, %57 ]
  %102 = phi i32 [ %80, %74 ], [ %66, %57 ]
  %103 = sub i32 %102, %101
  %104 = ashr exact i32 %103, 4
  %105 = add nsw i32 %104, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %105, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %106

; <label>:106:                                    ; preds = %100, %99, %87, %55, %43, %30, %16
  %107 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %100 ], [ false, %55 ], [ false, %43 ], [ false, %99 ], [ false, %87 ]
  ret i1 %107
}

; Function Attrs: nounwind
declare double @pow(double, double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinCast() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %12 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %13 = sub i32 %11, %12
  %14 = ashr exact i32 %13, 4
  %15 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %16 = sub i32 %14, %15
  %17 = icmp ult i32 %16, 2
  %18 = inttoptr i32 %12 to %class.variant.43*
  br i1 %17, label %21, label %19

; <label>:19:                                     ; preds = %0
  %20 = add nsw i32 %14, -2
  br label %40

; <label>:21:                                     ; preds = %0
  %22 = icmp ult i32 %14, 2
  br i1 %22, label %23, label %38

; <label>:23:                                     ; preds = %21
  %24 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %25 = icmp eq i32 %24, 0
  br i1 %25, label %26, label %537

; <label>:26:                                     ; preds = %23
  %27 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %27) #14
  %28 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %29 = icmp ult i32 %28, 15
  br i1 %29, label %35, label %30

; <label>:30:                                     ; preds = %26
  %31 = icmp eq i32 %28, 15
  %32 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %33 = select i1 %31, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %32
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %33, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %34 = getelementptr inbounds i8, i8* %33, i32 15
  store i8 0, i8* %34, align 1, !tbaa !12
  br label %37

; <label>:35:                                     ; preds = %26
  %36 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %37

; <label>:37:                                     ; preds = %35, %30
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %27) #14
  br label %537

; <label>:38:                                     ; preds = %21
  %39 = add nsw i32 %14, -2
  store i32 %39, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %40

; <label>:40:                                     ; preds = %38, %19
  %41 = phi i32 [ %20, %19 ], [ %39, %38 ]
  %42 = add nsw i32 %14, -1
  %43 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41
  %44 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  %45 = load i32, i32* %44, align 8, !tbaa !535
  switch i32 %45, label %524 [
    i32 1, label %46
    i32 2, label %102
    i32 3, label %158
    i32 4, label %164
    i32 5, label %220
    i32 6, label %226
    i32 7, label %282
    i32 8, label %338
    i32 9, label %344
    i32 10, label %400
    i32 11, label %406
    i32 12, label %465
  ]

; <label>:46:                                     ; preds = %40
  %47 = bitcast %class.variant.43* %43 to i8*
  %48 = load i8, i8* %47, align 1, !tbaa !12
  %49 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %50 = load i32, i32* %49, align 8, !tbaa !535
  switch i32 %50, label %81 [
    i32 1, label %94
    i32 2, label %51
    i32 3, label %54
    i32 4, label %57
    i32 5, label %60
    i32 6, label %94
    i32 7, label %63
    i32 8, label %66
    i32 9, label %69
    i32 10, label %72
    i32 11, label %75
    i32 12, label %78
  ]

; <label>:51:                                     ; preds = %46
  %52 = sext i8 %48 to i16
  %53 = bitcast %class.variant.43* %43 to i16*
  store i16 %52, i16* %53, align 8, !tbaa !59
  br label %94

; <label>:54:                                     ; preds = %46
  %55 = sext i8 %48 to i32
  %56 = bitcast %class.variant.43* %43 to i32*
  store i32 %55, i32* %56, align 8, !tbaa !24
  br label %94

; <label>:57:                                     ; preds = %46
  %58 = sext i8 %48 to i64
  %59 = bitcast %class.variant.43* %43 to i64*
  store i64 %58, i64* %59, align 8, !tbaa !61
  br label %94

; <label>:60:                                     ; preds = %46
  %61 = sext i8 %48 to i32
  %62 = bitcast %class.variant.43* %43 to i32*
  store i32 %61, i32* %62, align 4, !tbaa !24
  br label %94

; <label>:63:                                     ; preds = %46
  %64 = sext i8 %48 to i16
  %65 = bitcast %class.variant.43* %43 to i16*
  store i16 %64, i16* %65, align 8, !tbaa !59
  br label %94

; <label>:66:                                     ; preds = %46
  %67 = sext i8 %48 to i32
  %68 = bitcast %class.variant.43* %43 to i32*
  store i32 %67, i32* %68, align 8, !tbaa !24
  br label %94

; <label>:69:                                     ; preds = %46
  %70 = sext i8 %48 to i64
  %71 = bitcast %class.variant.43* %43 to i64*
  store i64 %70, i64* %71, align 8, !tbaa !61
  br label %94

; <label>:72:                                     ; preds = %46
  %73 = sext i8 %48 to i32
  %74 = bitcast %class.variant.43* %43 to i32*
  store i32 %73, i32* %74, align 4, !tbaa !24
  br label %94

; <label>:75:                                     ; preds = %46
  %76 = sitofp i8 %48 to float
  %77 = bitcast %class.variant.43* %43 to float*
  store float %76, float* %77, align 8, !tbaa !70
  br label %94

; <label>:78:                                     ; preds = %46
  %79 = sitofp i8 %48 to double
  %80 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %79, double* %80, align 8, !tbaa !72
  br label %94

; <label>:81:                                     ; preds = %46
  %82 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %83 = icmp eq i32 %82, 0
  br i1 %83, label %84, label %537

; <label>:84:                                     ; preds = %81
  %85 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %85) #14
  %86 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %87 = icmp ult i32 %86, 17
  br i1 %87, label %91, label %88

; <label>:88:                                     ; preds = %84
  %89 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %90 = getelementptr inbounds i8, i8* %89, i32 17
  store i8 0, i8* %90, align 1, !tbaa !12
  br label %93

; <label>:91:                                     ; preds = %84
  %92 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %93

; <label>:93:                                     ; preds = %91, %88
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %85) #14
  br label %537

; <label>:94:                                     ; preds = %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %46, %46
  %95 = phi i32 [ 12, %78 ], [ 11, %75 ], [ 10, %72 ], [ 9, %69 ], [ 8, %66 ], [ 7, %63 ], [ 5, %60 ], [ 4, %57 ], [ 3, %54 ], [ 2, %51 ], [ %50, %46 ], [ %50, %46 ]
  %96 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %95, i32* %96, align 8, !tbaa !535
  %97 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %98 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %99 = sub i32 %97, %98
  %100 = ashr exact i32 %99, 4
  %101 = add nsw i32 %100, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %101, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:102:                                    ; preds = %40
  %103 = bitcast %class.variant.43* %43 to i16*
  %104 = load i16, i16* %103, align 2, !tbaa !59
  %105 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %106 = load i32, i32* %105, align 8, !tbaa !535
  switch i32 %106, label %137 [
    i32 1, label %107
    i32 2, label %150
    i32 3, label %110
    i32 4, label %113
    i32 5, label %116
    i32 6, label %119
    i32 7, label %150
    i32 8, label %122
    i32 9, label %125
    i32 10, label %128
    i32 11, label %131
    i32 12, label %134
  ]

; <label>:107:                                    ; preds = %102
  %108 = trunc i16 %104 to i8
  %109 = bitcast %class.variant.43* %43 to i8*
  store i8 %108, i8* %109, align 8, !tbaa !12
  br label %150

; <label>:110:                                    ; preds = %102
  %111 = sext i16 %104 to i32
  %112 = bitcast %class.variant.43* %43 to i32*
  store i32 %111, i32* %112, align 8, !tbaa !24
  br label %150

; <label>:113:                                    ; preds = %102
  %114 = sext i16 %104 to i64
  %115 = bitcast %class.variant.43* %43 to i64*
  store i64 %114, i64* %115, align 8, !tbaa !61
  br label %150

; <label>:116:                                    ; preds = %102
  %117 = sext i16 %104 to i32
  %118 = bitcast %class.variant.43* %43 to i32*
  store i32 %117, i32* %118, align 4, !tbaa !24
  br label %150

; <label>:119:                                    ; preds = %102
  %120 = trunc i16 %104 to i8
  %121 = bitcast %class.variant.43* %43 to i8*
  store i8 %120, i8* %121, align 8, !tbaa !12
  br label %150

; <label>:122:                                    ; preds = %102
  %123 = sext i16 %104 to i32
  %124 = bitcast %class.variant.43* %43 to i32*
  store i32 %123, i32* %124, align 8, !tbaa !24
  br label %150

; <label>:125:                                    ; preds = %102
  %126 = sext i16 %104 to i64
  %127 = bitcast %class.variant.43* %43 to i64*
  store i64 %126, i64* %127, align 8, !tbaa !61
  br label %150

; <label>:128:                                    ; preds = %102
  %129 = sext i16 %104 to i32
  %130 = bitcast %class.variant.43* %43 to i32*
  store i32 %129, i32* %130, align 4, !tbaa !24
  br label %150

; <label>:131:                                    ; preds = %102
  %132 = sitofp i16 %104 to float
  %133 = bitcast %class.variant.43* %43 to float*
  store float %132, float* %133, align 8, !tbaa !70
  br label %150

; <label>:134:                                    ; preds = %102
  %135 = sitofp i16 %104 to double
  %136 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %135, double* %136, align 8, !tbaa !72
  br label %150

; <label>:137:                                    ; preds = %102
  %138 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %139 = icmp eq i32 %138, 0
  br i1 %139, label %140, label %537

; <label>:140:                                    ; preds = %137
  %141 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %141) #14
  %142 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %143 = icmp ult i32 %142, 17
  br i1 %143, label %147, label %144

; <label>:144:                                    ; preds = %140
  %145 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %145, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %146 = getelementptr inbounds i8, i8* %145, i32 17
  store i8 0, i8* %146, align 1, !tbaa !12
  br label %149

; <label>:147:                                    ; preds = %140
  %148 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %149

; <label>:149:                                    ; preds = %147, %144
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %141) #14
  br label %537

; <label>:150:                                    ; preds = %134, %131, %128, %125, %122, %119, %116, %113, %110, %107, %102, %102
  %151 = phi i32 [ 12, %134 ], [ 11, %131 ], [ 10, %128 ], [ 9, %125 ], [ 8, %122 ], [ 6, %119 ], [ 5, %116 ], [ 4, %113 ], [ 3, %110 ], [ 1, %107 ], [ %106, %102 ], [ %106, %102 ]
  %152 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %151, i32* %152, align 8, !tbaa !535
  %153 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %154 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %155 = sub i32 %153, %154
  %156 = ashr exact i32 %155, 4
  %157 = add nsw i32 %156, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %157, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:158:                                    ; preds = %40
  %159 = bitcast %class.variant.43* %43 to i32*
  %160 = load i32, i32* %159, align 4, !tbaa !24
  %161 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %162 = load i32, i32* %161, align 8, !tbaa !535
  %163 = tail call fastcc zeroext i1 @"\01??$?RH@<lambda_0>@?0??builtinCast@@9@QBE@H@Z"(i32 %162, i32 %160)
  br label %537

; <label>:164:                                    ; preds = %40
  %165 = bitcast %class.variant.43* %43 to i64*
  %166 = load i64, i64* %165, align 8, !tbaa !61
  %167 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %168 = load i32, i32* %167, align 8, !tbaa !535
  switch i32 %168, label %199 [
    i32 1, label %169
    i32 2, label %172
    i32 3, label %175
    i32 4, label %212
    i32 5, label %178
    i32 6, label %181
    i32 7, label %184
    i32 8, label %187
    i32 9, label %212
    i32 10, label %190
    i32 11, label %193
    i32 12, label %196
  ]

; <label>:169:                                    ; preds = %164
  %170 = trunc i64 %166 to i8
  %171 = bitcast %class.variant.43* %43 to i8*
  store i8 %170, i8* %171, align 8, !tbaa !12
  br label %212

; <label>:172:                                    ; preds = %164
  %173 = trunc i64 %166 to i16
  %174 = bitcast %class.variant.43* %43 to i16*
  store i16 %173, i16* %174, align 8, !tbaa !59
  br label %212

; <label>:175:                                    ; preds = %164
  %176 = trunc i64 %166 to i32
  %177 = bitcast %class.variant.43* %43 to i32*
  store i32 %176, i32* %177, align 8, !tbaa !24
  br label %212

; <label>:178:                                    ; preds = %164
  %179 = trunc i64 %166 to i32
  %180 = bitcast %class.variant.43* %43 to i32*
  store i32 %179, i32* %180, align 4, !tbaa !24
  br label %212

; <label>:181:                                    ; preds = %164
  %182 = trunc i64 %166 to i8
  %183 = bitcast %class.variant.43* %43 to i8*
  store i8 %182, i8* %183, align 8, !tbaa !12
  br label %212

; <label>:184:                                    ; preds = %164
  %185 = trunc i64 %166 to i16
  %186 = bitcast %class.variant.43* %43 to i16*
  store i16 %185, i16* %186, align 8, !tbaa !59
  br label %212

; <label>:187:                                    ; preds = %164
  %188 = trunc i64 %166 to i32
  %189 = bitcast %class.variant.43* %43 to i32*
  store i32 %188, i32* %189, align 8, !tbaa !24
  br label %212

; <label>:190:                                    ; preds = %164
  %191 = trunc i64 %166 to i32
  %192 = bitcast %class.variant.43* %43 to i32*
  store i32 %191, i32* %192, align 4, !tbaa !24
  br label %212

; <label>:193:                                    ; preds = %164
  %194 = sitofp i64 %166 to float
  %195 = bitcast %class.variant.43* %43 to float*
  store float %194, float* %195, align 8, !tbaa !70
  br label %212

; <label>:196:                                    ; preds = %164
  %197 = sitofp i64 %166 to double
  %198 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %197, double* %198, align 8, !tbaa !72
  br label %212

; <label>:199:                                    ; preds = %164
  %200 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %201 = icmp eq i32 %200, 0
  br i1 %201, label %202, label %537

; <label>:202:                                    ; preds = %199
  %203 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %203) #14
  %204 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %205 = icmp ult i32 %204, 17
  br i1 %205, label %209, label %206

; <label>:206:                                    ; preds = %202
  %207 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %207, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %208 = getelementptr inbounds i8, i8* %207, i32 17
  store i8 0, i8* %208, align 1, !tbaa !12
  br label %211

; <label>:209:                                    ; preds = %202
  %210 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %211

; <label>:211:                                    ; preds = %209, %206
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %203) #14
  br label %537

; <label>:212:                                    ; preds = %196, %193, %190, %187, %184, %181, %178, %175, %172, %169, %164, %164
  %213 = phi i32 [ 12, %196 ], [ 11, %193 ], [ 10, %190 ], [ 8, %187 ], [ 7, %184 ], [ 6, %181 ], [ 5, %178 ], [ 3, %175 ], [ 2, %172 ], [ 1, %169 ], [ %168, %164 ], [ %168, %164 ]
  %214 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %213, i32* %214, align 8, !tbaa !535
  %215 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %216 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %217 = sub i32 %215, %216
  %218 = ashr exact i32 %217, 4
  %219 = add nsw i32 %218, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %219, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:220:                                    ; preds = %40
  %221 = bitcast %class.variant.43* %43 to i32*
  %222 = load i32, i32* %221, align 4, !tbaa !538
  %223 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %224 = load i32, i32* %223, align 8, !tbaa !535
  %225 = tail call fastcc zeroext i1 @"\01??$?RH@<lambda_0>@?0??builtinCast@@9@QBE@H@Z"(i32 %224, i32 %222)
  br label %537

; <label>:226:                                    ; preds = %40
  %227 = bitcast %class.variant.43* %43 to i8*
  %228 = load i8, i8* %227, align 1, !tbaa !12
  %229 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %230 = load i32, i32* %229, align 8, !tbaa !535
  switch i32 %230, label %261 [
    i32 1, label %274
    i32 2, label %231
    i32 3, label %234
    i32 4, label %237
    i32 5, label %240
    i32 6, label %274
    i32 7, label %243
    i32 8, label %246
    i32 9, label %249
    i32 10, label %252
    i32 11, label %255
    i32 12, label %258
  ]

; <label>:231:                                    ; preds = %226
  %232 = zext i8 %228 to i16
  %233 = bitcast %class.variant.43* %43 to i16*
  store i16 %232, i16* %233, align 8, !tbaa !59
  br label %274

; <label>:234:                                    ; preds = %226
  %235 = zext i8 %228 to i32
  %236 = bitcast %class.variant.43* %43 to i32*
  store i32 %235, i32* %236, align 8, !tbaa !24
  br label %274

; <label>:237:                                    ; preds = %226
  %238 = zext i8 %228 to i64
  %239 = bitcast %class.variant.43* %43 to i64*
  store i64 %238, i64* %239, align 8, !tbaa !61
  br label %274

; <label>:240:                                    ; preds = %226
  %241 = zext i8 %228 to i32
  %242 = bitcast %class.variant.43* %43 to i32*
  store i32 %241, i32* %242, align 4, !tbaa !24
  br label %274

; <label>:243:                                    ; preds = %226
  %244 = zext i8 %228 to i16
  %245 = bitcast %class.variant.43* %43 to i16*
  store i16 %244, i16* %245, align 8, !tbaa !59
  br label %274

; <label>:246:                                    ; preds = %226
  %247 = zext i8 %228 to i32
  %248 = bitcast %class.variant.43* %43 to i32*
  store i32 %247, i32* %248, align 8, !tbaa !24
  br label %274

; <label>:249:                                    ; preds = %226
  %250 = zext i8 %228 to i64
  %251 = bitcast %class.variant.43* %43 to i64*
  store i64 %250, i64* %251, align 8, !tbaa !61
  br label %274

; <label>:252:                                    ; preds = %226
  %253 = zext i8 %228 to i32
  %254 = bitcast %class.variant.43* %43 to i32*
  store i32 %253, i32* %254, align 4, !tbaa !24
  br label %274

; <label>:255:                                    ; preds = %226
  %256 = uitofp i8 %228 to float
  %257 = bitcast %class.variant.43* %43 to float*
  store float %256, float* %257, align 8, !tbaa !70
  br label %274

; <label>:258:                                    ; preds = %226
  %259 = uitofp i8 %228 to double
  %260 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %259, double* %260, align 8, !tbaa !72
  br label %274

; <label>:261:                                    ; preds = %226
  %262 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %263 = icmp eq i32 %262, 0
  br i1 %263, label %264, label %537

; <label>:264:                                    ; preds = %261
  %265 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %265) #14
  %266 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %267 = icmp ult i32 %266, 17
  br i1 %267, label %271, label %268

; <label>:268:                                    ; preds = %264
  %269 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %269, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %270 = getelementptr inbounds i8, i8* %269, i32 17
  store i8 0, i8* %270, align 1, !tbaa !12
  br label %273

; <label>:271:                                    ; preds = %264
  %272 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %273

; <label>:273:                                    ; preds = %271, %268
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %265) #14
  br label %537

; <label>:274:                                    ; preds = %258, %255, %252, %249, %246, %243, %240, %237, %234, %231, %226, %226
  %275 = phi i32 [ 12, %258 ], [ 11, %255 ], [ 10, %252 ], [ 9, %249 ], [ 8, %246 ], [ 7, %243 ], [ 5, %240 ], [ 4, %237 ], [ 3, %234 ], [ 2, %231 ], [ %230, %226 ], [ %230, %226 ]
  %276 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %275, i32* %276, align 8, !tbaa !535
  %277 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %278 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %279 = sub i32 %277, %278
  %280 = ashr exact i32 %279, 4
  %281 = add nsw i32 %280, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %281, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:282:                                    ; preds = %40
  %283 = bitcast %class.variant.43* %43 to i16*
  %284 = load i16, i16* %283, align 2, !tbaa !59
  %285 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %286 = load i32, i32* %285, align 8, !tbaa !535
  switch i32 %286, label %317 [
    i32 1, label %287
    i32 2, label %330
    i32 3, label %290
    i32 4, label %293
    i32 5, label %296
    i32 6, label %299
    i32 7, label %330
    i32 8, label %302
    i32 9, label %305
    i32 10, label %308
    i32 11, label %311
    i32 12, label %314
  ]

; <label>:287:                                    ; preds = %282
  %288 = trunc i16 %284 to i8
  %289 = bitcast %class.variant.43* %43 to i8*
  store i8 %288, i8* %289, align 8, !tbaa !12
  br label %330

; <label>:290:                                    ; preds = %282
  %291 = zext i16 %284 to i32
  %292 = bitcast %class.variant.43* %43 to i32*
  store i32 %291, i32* %292, align 8, !tbaa !24
  br label %330

; <label>:293:                                    ; preds = %282
  %294 = zext i16 %284 to i64
  %295 = bitcast %class.variant.43* %43 to i64*
  store i64 %294, i64* %295, align 8, !tbaa !61
  br label %330

; <label>:296:                                    ; preds = %282
  %297 = zext i16 %284 to i32
  %298 = bitcast %class.variant.43* %43 to i32*
  store i32 %297, i32* %298, align 4, !tbaa !24
  br label %330

; <label>:299:                                    ; preds = %282
  %300 = trunc i16 %284 to i8
  %301 = bitcast %class.variant.43* %43 to i8*
  store i8 %300, i8* %301, align 8, !tbaa !12
  br label %330

; <label>:302:                                    ; preds = %282
  %303 = zext i16 %284 to i32
  %304 = bitcast %class.variant.43* %43 to i32*
  store i32 %303, i32* %304, align 8, !tbaa !24
  br label %330

; <label>:305:                                    ; preds = %282
  %306 = zext i16 %284 to i64
  %307 = bitcast %class.variant.43* %43 to i64*
  store i64 %306, i64* %307, align 8, !tbaa !61
  br label %330

; <label>:308:                                    ; preds = %282
  %309 = zext i16 %284 to i32
  %310 = bitcast %class.variant.43* %43 to i32*
  store i32 %309, i32* %310, align 4, !tbaa !24
  br label %330

; <label>:311:                                    ; preds = %282
  %312 = uitofp i16 %284 to float
  %313 = bitcast %class.variant.43* %43 to float*
  store float %312, float* %313, align 8, !tbaa !70
  br label %330

; <label>:314:                                    ; preds = %282
  %315 = uitofp i16 %284 to double
  %316 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %315, double* %316, align 8, !tbaa !72
  br label %330

; <label>:317:                                    ; preds = %282
  %318 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %319 = icmp eq i32 %318, 0
  br i1 %319, label %320, label %537

; <label>:320:                                    ; preds = %317
  %321 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %321) #14
  %322 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %323 = icmp ult i32 %322, 17
  br i1 %323, label %327, label %324

; <label>:324:                                    ; preds = %320
  %325 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %325, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %326 = getelementptr inbounds i8, i8* %325, i32 17
  store i8 0, i8* %326, align 1, !tbaa !12
  br label %329

; <label>:327:                                    ; preds = %320
  %328 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %329

; <label>:329:                                    ; preds = %327, %324
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %321) #14
  br label %537

; <label>:330:                                    ; preds = %314, %311, %308, %305, %302, %299, %296, %293, %290, %287, %282, %282
  %331 = phi i32 [ 12, %314 ], [ 11, %311 ], [ 10, %308 ], [ 9, %305 ], [ 8, %302 ], [ 6, %299 ], [ 5, %296 ], [ 4, %293 ], [ 3, %290 ], [ 1, %287 ], [ %286, %282 ], [ %286, %282 ]
  %332 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %331, i32* %332, align 8, !tbaa !535
  %333 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %334 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %335 = sub i32 %333, %334
  %336 = ashr exact i32 %335, 4
  %337 = add nsw i32 %336, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %337, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:338:                                    ; preds = %40
  %339 = bitcast %class.variant.43* %43 to i32*
  %340 = load i32, i32* %339, align 4, !tbaa !24
  %341 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %342 = load i32, i32* %341, align 8, !tbaa !535
  %343 = tail call fastcc zeroext i1 @"\01??$?RI@<lambda_0>@?0??builtinCast@@9@QBE@I@Z"(i32 %342, i32 %340)
  br label %537

; <label>:344:                                    ; preds = %40
  %345 = bitcast %class.variant.43* %43 to i64*
  %346 = load i64, i64* %345, align 8, !tbaa !61
  %347 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %348 = load i32, i32* %347, align 8, !tbaa !535
  switch i32 %348, label %379 [
    i32 1, label %349
    i32 2, label %352
    i32 3, label %355
    i32 4, label %392
    i32 5, label %358
    i32 6, label %361
    i32 7, label %364
    i32 8, label %367
    i32 9, label %392
    i32 10, label %370
    i32 11, label %373
    i32 12, label %376
  ]

; <label>:349:                                    ; preds = %344
  %350 = trunc i64 %346 to i8
  %351 = bitcast %class.variant.43* %43 to i8*
  store i8 %350, i8* %351, align 8, !tbaa !12
  br label %392

; <label>:352:                                    ; preds = %344
  %353 = trunc i64 %346 to i16
  %354 = bitcast %class.variant.43* %43 to i16*
  store i16 %353, i16* %354, align 8, !tbaa !59
  br label %392

; <label>:355:                                    ; preds = %344
  %356 = trunc i64 %346 to i32
  %357 = bitcast %class.variant.43* %43 to i32*
  store i32 %356, i32* %357, align 8, !tbaa !24
  br label %392

; <label>:358:                                    ; preds = %344
  %359 = trunc i64 %346 to i32
  %360 = bitcast %class.variant.43* %43 to i32*
  store i32 %359, i32* %360, align 4, !tbaa !24
  br label %392

; <label>:361:                                    ; preds = %344
  %362 = trunc i64 %346 to i8
  %363 = bitcast %class.variant.43* %43 to i8*
  store i8 %362, i8* %363, align 8, !tbaa !12
  br label %392

; <label>:364:                                    ; preds = %344
  %365 = trunc i64 %346 to i16
  %366 = bitcast %class.variant.43* %43 to i16*
  store i16 %365, i16* %366, align 8, !tbaa !59
  br label %392

; <label>:367:                                    ; preds = %344
  %368 = trunc i64 %346 to i32
  %369 = bitcast %class.variant.43* %43 to i32*
  store i32 %368, i32* %369, align 8, !tbaa !24
  br label %392

; <label>:370:                                    ; preds = %344
  %371 = trunc i64 %346 to i32
  %372 = bitcast %class.variant.43* %43 to i32*
  store i32 %371, i32* %372, align 4, !tbaa !24
  br label %392

; <label>:373:                                    ; preds = %344
  %374 = uitofp i64 %346 to float
  %375 = bitcast %class.variant.43* %43 to float*
  store float %374, float* %375, align 8, !tbaa !70
  br label %392

; <label>:376:                                    ; preds = %344
  %377 = uitofp i64 %346 to double
  %378 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %377, double* %378, align 8, !tbaa !72
  br label %392

; <label>:379:                                    ; preds = %344
  %380 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %381 = icmp eq i32 %380, 0
  br i1 %381, label %382, label %537

; <label>:382:                                    ; preds = %379
  %383 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %383) #14
  %384 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %385 = icmp ult i32 %384, 17
  br i1 %385, label %389, label %386

; <label>:386:                                    ; preds = %382
  %387 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %387, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %388 = getelementptr inbounds i8, i8* %387, i32 17
  store i8 0, i8* %388, align 1, !tbaa !12
  br label %391

; <label>:389:                                    ; preds = %382
  %390 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %391

; <label>:391:                                    ; preds = %389, %386
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %383) #14
  br label %537

; <label>:392:                                    ; preds = %376, %373, %370, %367, %364, %361, %358, %355, %352, %349, %344, %344
  %393 = phi i32 [ 12, %376 ], [ 11, %373 ], [ 10, %370 ], [ 8, %367 ], [ 7, %364 ], [ 6, %361 ], [ 5, %358 ], [ 3, %355 ], [ 2, %352 ], [ 1, %349 ], [ %348, %344 ], [ %348, %344 ]
  %394 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %393, i32* %394, align 8, !tbaa !535
  %395 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %396 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %397 = sub i32 %395, %396
  %398 = ashr exact i32 %397, 4
  %399 = add nsw i32 %398, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %399, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:400:                                    ; preds = %40
  %401 = bitcast %class.variant.43* %43 to i32*
  %402 = load i32, i32* %401, align 4, !tbaa !540
  %403 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %404 = load i32, i32* %403, align 8, !tbaa !535
  %405 = tail call fastcc zeroext i1 @"\01??$?RI@<lambda_0>@?0??builtinCast@@9@QBE@I@Z"(i32 %404, i32 %402)
  br label %537

; <label>:406:                                    ; preds = %40
  %407 = bitcast %class.variant.43* %43 to float*
  %408 = load float, float* %407, align 4, !tbaa !70
  %409 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %410 = load i32, i32* %409, align 8, !tbaa !535
  switch i32 %410, label %444 [
    i32 1, label %411
    i32 2, label %414
    i32 3, label %417
    i32 4, label %420
    i32 5, label %423
    i32 6, label %426
    i32 7, label %429
    i32 8, label %432
    i32 9, label %435
    i32 10, label %438
    i32 11, label %457
    i32 12, label %441
  ]

; <label>:411:                                    ; preds = %406
  %412 = fptosi float %408 to i8
  %413 = bitcast %class.variant.43* %43 to i8*
  store i8 %412, i8* %413, align 8, !tbaa !12
  br label %457

; <label>:414:                                    ; preds = %406
  %415 = fptosi float %408 to i16
  %416 = bitcast %class.variant.43* %43 to i16*
  store i16 %415, i16* %416, align 8, !tbaa !59
  br label %457

; <label>:417:                                    ; preds = %406
  %418 = fptosi float %408 to i32
  %419 = bitcast %class.variant.43* %43 to i32*
  store i32 %418, i32* %419, align 8, !tbaa !24
  br label %457

; <label>:420:                                    ; preds = %406
  %421 = fptosi float %408 to i64
  %422 = bitcast %class.variant.43* %43 to i64*
  store i64 %421, i64* %422, align 8, !tbaa !61
  br label %457

; <label>:423:                                    ; preds = %406
  %424 = fptosi float %408 to i32
  %425 = bitcast %class.variant.43* %43 to i32*
  store i32 %424, i32* %425, align 4, !tbaa !24
  br label %457

; <label>:426:                                    ; preds = %406
  %427 = fptoui float %408 to i8
  %428 = bitcast %class.variant.43* %43 to i8*
  store i8 %427, i8* %428, align 8, !tbaa !12
  br label %457

; <label>:429:                                    ; preds = %406
  %430 = fptoui float %408 to i16
  %431 = bitcast %class.variant.43* %43 to i16*
  store i16 %430, i16* %431, align 8, !tbaa !59
  br label %457

; <label>:432:                                    ; preds = %406
  %433 = fptoui float %408 to i32
  %434 = bitcast %class.variant.43* %43 to i32*
  store i32 %433, i32* %434, align 8, !tbaa !24
  br label %457

; <label>:435:                                    ; preds = %406
  %436 = fptoui float %408 to i64
  %437 = bitcast %class.variant.43* %43 to i64*
  store i64 %436, i64* %437, align 8, !tbaa !61
  br label %457

; <label>:438:                                    ; preds = %406
  %439 = fptoui float %408 to i32
  %440 = bitcast %class.variant.43* %43 to i32*
  store i32 %439, i32* %440, align 4, !tbaa !24
  br label %457

; <label>:441:                                    ; preds = %406
  %442 = fpext float %408 to double
  %443 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  store double %442, double* %443, align 8, !tbaa !72
  br label %457

; <label>:444:                                    ; preds = %406
  %445 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %446 = icmp eq i32 %445, 0
  br i1 %446, label %447, label %537

; <label>:447:                                    ; preds = %444
  %448 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %448) #14
  %449 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %450 = icmp ult i32 %449, 17
  br i1 %450, label %454, label %451

; <label>:451:                                    ; preds = %447
  %452 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %452, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %453 = getelementptr inbounds i8, i8* %452, i32 17
  store i8 0, i8* %453, align 1, !tbaa !12
  br label %456

; <label>:454:                                    ; preds = %447
  %455 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %456

; <label>:456:                                    ; preds = %454, %451
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %448) #14
  br label %537

; <label>:457:                                    ; preds = %441, %438, %435, %432, %429, %426, %423, %420, %417, %414, %411, %406
  %458 = phi i32 [ 12, %441 ], [ 10, %438 ], [ 9, %435 ], [ 8, %432 ], [ 7, %429 ], [ 6, %426 ], [ 5, %423 ], [ 4, %420 ], [ 3, %417 ], [ 2, %414 ], [ 1, %411 ], [ 11, %406 ]
  %459 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %458, i32* %459, align 8, !tbaa !535
  %460 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %461 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %462 = sub i32 %460, %461
  %463 = ashr exact i32 %462, 4
  %464 = add nsw i32 %463, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %464, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:465:                                    ; preds = %40
  %466 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 0, i32 0, i32 0, i32 0
  %467 = load double, double* %466, align 8, !tbaa !72
  %468 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %42, i32 1
  %469 = load i32, i32* %468, align 8, !tbaa !535
  switch i32 %469, label %503 [
    i32 1, label %470
    i32 2, label %473
    i32 3, label %476
    i32 4, label %479
    i32 5, label %482
    i32 6, label %485
    i32 7, label %488
    i32 8, label %491
    i32 9, label %494
    i32 10, label %497
    i32 11, label %500
    i32 12, label %516
  ]

; <label>:470:                                    ; preds = %465
  %471 = fptosi double %467 to i8
  %472 = bitcast %class.variant.43* %43 to i8*
  store i8 %471, i8* %472, align 8, !tbaa !12
  br label %516

; <label>:473:                                    ; preds = %465
  %474 = fptosi double %467 to i16
  %475 = bitcast %class.variant.43* %43 to i16*
  store i16 %474, i16* %475, align 8, !tbaa !59
  br label %516

; <label>:476:                                    ; preds = %465
  %477 = fptosi double %467 to i32
  %478 = bitcast %class.variant.43* %43 to i32*
  store i32 %477, i32* %478, align 8, !tbaa !24
  br label %516

; <label>:479:                                    ; preds = %465
  %480 = fptosi double %467 to i64
  %481 = bitcast %class.variant.43* %43 to i64*
  store i64 %480, i64* %481, align 8, !tbaa !61
  br label %516

; <label>:482:                                    ; preds = %465
  %483 = fptosi double %467 to i32
  %484 = bitcast %class.variant.43* %43 to i32*
  store i32 %483, i32* %484, align 4, !tbaa !24
  br label %516

; <label>:485:                                    ; preds = %465
  %486 = fptoui double %467 to i8
  %487 = bitcast %class.variant.43* %43 to i8*
  store i8 %486, i8* %487, align 8, !tbaa !12
  br label %516

; <label>:488:                                    ; preds = %465
  %489 = fptoui double %467 to i16
  %490 = bitcast %class.variant.43* %43 to i16*
  store i16 %489, i16* %490, align 8, !tbaa !59
  br label %516

; <label>:491:                                    ; preds = %465
  %492 = fptoui double %467 to i32
  %493 = bitcast %class.variant.43* %43 to i32*
  store i32 %492, i32* %493, align 8, !tbaa !24
  br label %516

; <label>:494:                                    ; preds = %465
  %495 = fptoui double %467 to i64
  %496 = bitcast %class.variant.43* %43 to i64*
  store i64 %495, i64* %496, align 8, !tbaa !61
  br label %516

; <label>:497:                                    ; preds = %465
  %498 = fptoui double %467 to i32
  %499 = bitcast %class.variant.43* %43 to i32*
  store i32 %498, i32* %499, align 4, !tbaa !24
  br label %516

; <label>:500:                                    ; preds = %465
  %501 = fptrunc double %467 to float
  %502 = bitcast %class.variant.43* %43 to float*
  store float %501, float* %502, align 8, !tbaa !70
  br label %516

; <label>:503:                                    ; preds = %465
  %504 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %505 = icmp eq i32 %504, 0
  br i1 %505, label %506, label %537

; <label>:506:                                    ; preds = %503
  %507 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %507) #14
  %508 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %509 = icmp ult i32 %508, 17
  br i1 %509, label %513, label %510

; <label>:510:                                    ; preds = %506
  %511 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %511, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %512 = getelementptr inbounds i8, i8* %511, i32 17
  store i8 0, i8* %512, align 1, !tbaa !12
  br label %515

; <label>:513:                                    ; preds = %506
  %514 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %515

; <label>:515:                                    ; preds = %513, %510
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %507) #14
  br label %537

; <label>:516:                                    ; preds = %500, %497, %494, %491, %488, %485, %482, %479, %476, %473, %470, %465
  %517 = phi i32 [ 11, %500 ], [ 10, %497 ], [ 9, %494 ], [ 8, %491 ], [ 7, %488 ], [ 6, %485 ], [ 5, %482 ], [ 4, %479 ], [ 3, %476 ], [ 2, %473 ], [ 1, %470 ], [ 12, %465 ]
  %518 = getelementptr inbounds %class.variant.43, %class.variant.43* %18, i32 %41, i32 1
  store i32 %517, i32* %518, align 8, !tbaa !535
  %519 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %520 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %521 = sub i32 %519, %520
  %522 = ashr exact i32 %521, 4
  %523 = add nsw i32 %522, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %523, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %537

; <label>:524:                                    ; preds = %40
  %525 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %526 = icmp eq i32 %525, 0
  br i1 %526, label %527, label %537

; <label>:527:                                    ; preds = %524
  %528 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %528) #14
  %529 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %530 = icmp ult i32 %529, 17
  br i1 %530, label %534, label %531

; <label>:531:                                    ; preds = %527
  %532 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %532, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %533 = getelementptr inbounds i8, i8* %532, i32 17
  store i8 0, i8* %533, align 1, !tbaa !12
  br label %536

; <label>:534:                                    ; preds = %527
  %535 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %536

; <label>:536:                                    ; preds = %534, %531
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %528) #14
  br label %537

; <label>:537:                                    ; preds = %536, %524, %516, %515, %503, %457, %456, %444, %400, %392, %391, %379, %338, %330, %329, %317, %274, %273, %261, %220, %212, %211, %199, %158, %150, %149, %137, %94, %93, %81, %37, %23
  %538 = phi i1 [ false, %37 ], [ false, %23 ], [ %405, %400 ], [ %343, %338 ], [ %225, %220 ], [ %163, %158 ], [ false, %536 ], [ false, %524 ], [ true, %94 ], [ false, %93 ], [ false, %81 ], [ true, %150 ], [ false, %149 ], [ false, %137 ], [ true, %212 ], [ false, %211 ], [ false, %199 ], [ true, %274 ], [ false, %273 ], [ false, %261 ], [ true, %330 ], [ false, %329 ], [ false, %317 ], [ true, %392 ], [ false, %391 ], [ false, %379 ], [ true, %457 ], [ false, %456 ], [ false, %444 ], [ true, %516 ], [ false, %515 ], [ false, %503 ]
  ret i1 %538
}

; Function Attrs: inlinehint nounwind
define internal fastcc zeroext i1 @"\01??$?RH@<lambda_0>@?0??builtinCast@@9@QBE@H@Z"(i32, i32) unnamed_addr #1 align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  switch i32 %0, label %120 [
    i32 1, label %4
    i32 2, label %14
    i32 3, label %24
    i32 4, label %33
    i32 5, label %43
    i32 6, label %52
    i32 7, label %62
    i32 8, label %72
    i32 9, label %81
    i32 10, label %91
    i32 11, label %100
    i32 12, label %110
  ]

; <label>:4:                                      ; preds = %2
  %5 = trunc i32 %1 to i8
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  %10 = add nsw i32 %9, -2
  %11 = inttoptr i32 %7 to %class.variant.43*
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10
  %13 = bitcast %class.variant.43* %12 to i8*
  store i8 %5, i8* %13, align 8, !tbaa !12
  br label %133

; <label>:14:                                     ; preds = %2
  %15 = trunc i32 %1 to i16
  %16 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %17 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %18 = sub i32 %16, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, -2
  %21 = inttoptr i32 %17 to %class.variant.43*
  %22 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %20
  %23 = bitcast %class.variant.43* %22 to i16*
  store i16 %15, i16* %23, align 8, !tbaa !59
  br label %133

; <label>:24:                                     ; preds = %2
  %25 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %26 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %27 = sub i32 %25, %26
  %28 = ashr exact i32 %27, 4
  %29 = add nsw i32 %28, -2
  %30 = inttoptr i32 %26 to %class.variant.43*
  %31 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %29
  %32 = bitcast %class.variant.43* %31 to i32*
  store i32 %1, i32* %32, align 8, !tbaa !24
  br label %133

; <label>:33:                                     ; preds = %2
  %34 = sext i32 %1 to i64
  %35 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %36 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %37 = sub i32 %35, %36
  %38 = ashr exact i32 %37, 4
  %39 = add nsw i32 %38, -2
  %40 = inttoptr i32 %36 to %class.variant.43*
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %40, i32 %39
  %42 = bitcast %class.variant.43* %41 to i64*
  store i64 %34, i64* %42, align 8, !tbaa !61
  br label %133

; <label>:43:                                     ; preds = %2
  %44 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %45 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %46 = sub i32 %44, %45
  %47 = ashr exact i32 %46, 4
  %48 = add nsw i32 %47, -2
  %49 = inttoptr i32 %45 to %class.variant.43*
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 %48
  %51 = bitcast %class.variant.43* %50 to i32*
  store i32 %1, i32* %51, align 4, !tbaa !24
  br label %133

; <label>:52:                                     ; preds = %2
  %53 = trunc i32 %1 to i8
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -2
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58
  %61 = bitcast %class.variant.43* %60 to i8*
  store i8 %53, i8* %61, align 8, !tbaa !12
  br label %133

; <label>:62:                                     ; preds = %2
  %63 = trunc i32 %1 to i16
  %64 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %65 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %66 = sub i32 %64, %65
  %67 = ashr exact i32 %66, 4
  %68 = add nsw i32 %67, -2
  %69 = inttoptr i32 %65 to %class.variant.43*
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 %68
  %71 = bitcast %class.variant.43* %70 to i16*
  store i16 %63, i16* %71, align 8, !tbaa !59
  br label %133

; <label>:72:                                     ; preds = %2
  %73 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %74 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %75 = sub i32 %73, %74
  %76 = ashr exact i32 %75, 4
  %77 = add nsw i32 %76, -2
  %78 = inttoptr i32 %74 to %class.variant.43*
  %79 = getelementptr inbounds %class.variant.43, %class.variant.43* %78, i32 %77
  %80 = bitcast %class.variant.43* %79 to i32*
  store i32 %1, i32* %80, align 8, !tbaa !24
  br label %133

; <label>:81:                                     ; preds = %2
  %82 = sext i32 %1 to i64
  %83 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %84 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %85 = sub i32 %83, %84
  %86 = ashr exact i32 %85, 4
  %87 = add nsw i32 %86, -2
  %88 = inttoptr i32 %84 to %class.variant.43*
  %89 = getelementptr inbounds %class.variant.43, %class.variant.43* %88, i32 %87
  %90 = bitcast %class.variant.43* %89 to i64*
  store i64 %82, i64* %90, align 8, !tbaa !61
  br label %133

; <label>:91:                                     ; preds = %2
  %92 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %93 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %94 = sub i32 %92, %93
  %95 = ashr exact i32 %94, 4
  %96 = add nsw i32 %95, -2
  %97 = inttoptr i32 %93 to %class.variant.43*
  %98 = getelementptr inbounds %class.variant.43, %class.variant.43* %97, i32 %96
  %99 = bitcast %class.variant.43* %98 to i32*
  store i32 %1, i32* %99, align 4, !tbaa !24
  br label %133

; <label>:100:                                    ; preds = %2
  %101 = sitofp i32 %1 to float
  %102 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %103 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %104 = sub i32 %102, %103
  %105 = ashr exact i32 %104, 4
  %106 = add nsw i32 %105, -2
  %107 = inttoptr i32 %103 to %class.variant.43*
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %107, i32 %106
  %109 = bitcast %class.variant.43* %108 to float*
  store float %101, float* %109, align 8, !tbaa !70
  br label %133

; <label>:110:                                    ; preds = %2
  %111 = sitofp i32 %1 to double
  %112 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %113 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %114 = sub i32 %112, %113
  %115 = ashr exact i32 %114, 4
  %116 = add nsw i32 %115, -2
  %117 = inttoptr i32 %113 to %class.variant.43*
  %118 = getelementptr inbounds %class.variant.43, %class.variant.43* %117, i32 %116
  %119 = getelementptr inbounds %class.variant.43, %class.variant.43* %118, i32 0, i32 0, i32 0, i32 0
  store double %111, double* %119, align 8, !tbaa !72
  br label %133

; <label>:120:                                    ; preds = %2
  %121 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %122 = icmp eq i32 %121, 0
  br i1 %122, label %123, label %142

; <label>:123:                                    ; preds = %120
  %124 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %124) #14
  %125 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %126 = icmp ult i32 %125, 17
  br i1 %126, label %130, label %127

; <label>:127:                                    ; preds = %123
  %128 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %128, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %129 = getelementptr inbounds i8, i8* %128, i32 17
  store i8 0, i8* %129, align 1, !tbaa !12
  br label %132

; <label>:130:                                    ; preds = %123
  %131 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %132

; <label>:132:                                    ; preds = %130, %127
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %124) #14
  br label %142

; <label>:133:                                    ; preds = %110, %100, %91, %81, %72, %62, %52, %43, %33, %24, %14, %4
  %134 = phi %class.variant.43* [ %118, %110 ], [ %108, %100 ], [ %98, %91 ], [ %89, %81 ], [ %79, %72 ], [ %70, %62 ], [ %60, %52 ], [ %50, %43 ], [ %41, %33 ], [ %31, %24 ], [ %22, %14 ], [ %12, %4 ]
  %135 = phi i32 [ 12, %110 ], [ 11, %100 ], [ 10, %91 ], [ 9, %81 ], [ 8, %72 ], [ 7, %62 ], [ 6, %52 ], [ 5, %43 ], [ 4, %33 ], [ 3, %24 ], [ 2, %14 ], [ 1, %4 ]
  %136 = getelementptr inbounds %class.variant.43, %class.variant.43* %134, i32 0, i32 1
  store i32 %135, i32* %136, align 8, !tbaa !535
  %137 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %138 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %139 = sub i32 %137, %138
  %140 = ashr exact i32 %139, 4
  %141 = add nsw i32 %140, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %141, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %142

; <label>:142:                                    ; preds = %133, %132, %120
  %143 = phi i1 [ true, %133 ], [ false, %132 ], [ false, %120 ]
  ret i1 %143
}

; Function Attrs: inlinehint nounwind
define internal fastcc zeroext i1 @"\01??$?RI@<lambda_0>@?0??builtinCast@@9@QBE@I@Z"(i32, i32) unnamed_addr #1 align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  switch i32 %0, label %120 [
    i32 1, label %4
    i32 2, label %14
    i32 3, label %24
    i32 4, label %33
    i32 5, label %43
    i32 6, label %52
    i32 7, label %62
    i32 8, label %72
    i32 9, label %81
    i32 10, label %91
    i32 11, label %100
    i32 12, label %110
  ]

; <label>:4:                                      ; preds = %2
  %5 = trunc i32 %1 to i8
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  %10 = add nsw i32 %9, -2
  %11 = inttoptr i32 %7 to %class.variant.43*
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10
  %13 = bitcast %class.variant.43* %12 to i8*
  store i8 %5, i8* %13, align 8, !tbaa !12
  br label %133

; <label>:14:                                     ; preds = %2
  %15 = trunc i32 %1 to i16
  %16 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %17 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %18 = sub i32 %16, %17
  %19 = ashr exact i32 %18, 4
  %20 = add nsw i32 %19, -2
  %21 = inttoptr i32 %17 to %class.variant.43*
  %22 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %20
  %23 = bitcast %class.variant.43* %22 to i16*
  store i16 %15, i16* %23, align 8, !tbaa !59
  br label %133

; <label>:24:                                     ; preds = %2
  %25 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %26 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %27 = sub i32 %25, %26
  %28 = ashr exact i32 %27, 4
  %29 = add nsw i32 %28, -2
  %30 = inttoptr i32 %26 to %class.variant.43*
  %31 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %29
  %32 = bitcast %class.variant.43* %31 to i32*
  store i32 %1, i32* %32, align 8, !tbaa !24
  br label %133

; <label>:33:                                     ; preds = %2
  %34 = zext i32 %1 to i64
  %35 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %36 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %37 = sub i32 %35, %36
  %38 = ashr exact i32 %37, 4
  %39 = add nsw i32 %38, -2
  %40 = inttoptr i32 %36 to %class.variant.43*
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %40, i32 %39
  %42 = bitcast %class.variant.43* %41 to i64*
  store i64 %34, i64* %42, align 8, !tbaa !61
  br label %133

; <label>:43:                                     ; preds = %2
  %44 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %45 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %46 = sub i32 %44, %45
  %47 = ashr exact i32 %46, 4
  %48 = add nsw i32 %47, -2
  %49 = inttoptr i32 %45 to %class.variant.43*
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 %48
  %51 = bitcast %class.variant.43* %50 to i32*
  store i32 %1, i32* %51, align 4, !tbaa !24
  br label %133

; <label>:52:                                     ; preds = %2
  %53 = trunc i32 %1 to i8
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -2
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58
  %61 = bitcast %class.variant.43* %60 to i8*
  store i8 %53, i8* %61, align 8, !tbaa !12
  br label %133

; <label>:62:                                     ; preds = %2
  %63 = trunc i32 %1 to i16
  %64 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %65 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %66 = sub i32 %64, %65
  %67 = ashr exact i32 %66, 4
  %68 = add nsw i32 %67, -2
  %69 = inttoptr i32 %65 to %class.variant.43*
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %69, i32 %68
  %71 = bitcast %class.variant.43* %70 to i16*
  store i16 %63, i16* %71, align 8, !tbaa !59
  br label %133

; <label>:72:                                     ; preds = %2
  %73 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %74 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %75 = sub i32 %73, %74
  %76 = ashr exact i32 %75, 4
  %77 = add nsw i32 %76, -2
  %78 = inttoptr i32 %74 to %class.variant.43*
  %79 = getelementptr inbounds %class.variant.43, %class.variant.43* %78, i32 %77
  %80 = bitcast %class.variant.43* %79 to i32*
  store i32 %1, i32* %80, align 8, !tbaa !24
  br label %133

; <label>:81:                                     ; preds = %2
  %82 = zext i32 %1 to i64
  %83 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %84 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %85 = sub i32 %83, %84
  %86 = ashr exact i32 %85, 4
  %87 = add nsw i32 %86, -2
  %88 = inttoptr i32 %84 to %class.variant.43*
  %89 = getelementptr inbounds %class.variant.43, %class.variant.43* %88, i32 %87
  %90 = bitcast %class.variant.43* %89 to i64*
  store i64 %82, i64* %90, align 8, !tbaa !61
  br label %133

; <label>:91:                                     ; preds = %2
  %92 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %93 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %94 = sub i32 %92, %93
  %95 = ashr exact i32 %94, 4
  %96 = add nsw i32 %95, -2
  %97 = inttoptr i32 %93 to %class.variant.43*
  %98 = getelementptr inbounds %class.variant.43, %class.variant.43* %97, i32 %96
  %99 = bitcast %class.variant.43* %98 to i32*
  store i32 %1, i32* %99, align 4, !tbaa !24
  br label %133

; <label>:100:                                    ; preds = %2
  %101 = uitofp i32 %1 to float
  %102 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %103 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %104 = sub i32 %102, %103
  %105 = ashr exact i32 %104, 4
  %106 = add nsw i32 %105, -2
  %107 = inttoptr i32 %103 to %class.variant.43*
  %108 = getelementptr inbounds %class.variant.43, %class.variant.43* %107, i32 %106
  %109 = bitcast %class.variant.43* %108 to float*
  store float %101, float* %109, align 8, !tbaa !70
  br label %133

; <label>:110:                                    ; preds = %2
  %111 = uitofp i32 %1 to double
  %112 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %113 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %114 = sub i32 %112, %113
  %115 = ashr exact i32 %114, 4
  %116 = add nsw i32 %115, -2
  %117 = inttoptr i32 %113 to %class.variant.43*
  %118 = getelementptr inbounds %class.variant.43, %class.variant.43* %117, i32 %116
  %119 = getelementptr inbounds %class.variant.43, %class.variant.43* %118, i32 0, i32 0, i32 0, i32 0
  store double %111, double* %119, align 8, !tbaa !72
  br label %133

; <label>:120:                                    ; preds = %2
  %121 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %122 = icmp eq i32 %121, 0
  br i1 %122, label %123, label %142

; <label>:123:                                    ; preds = %120
  %124 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %124) #14
  %125 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %126 = icmp ult i32 %125, 17
  br i1 %126, label %130, label %127

; <label>:127:                                    ; preds = %123
  %128 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %128, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %129 = getelementptr inbounds i8, i8* %128, i32 17
  store i8 0, i8* %129, align 1, !tbaa !12
  br label %132

; <label>:130:                                    ; preds = %123
  %131 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %132

; <label>:132:                                    ; preds = %130, %127
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %124) #14
  br label %142

; <label>:133:                                    ; preds = %110, %100, %91, %81, %72, %62, %52, %43, %33, %24, %14, %4
  %134 = phi %class.variant.43* [ %118, %110 ], [ %108, %100 ], [ %98, %91 ], [ %89, %81 ], [ %79, %72 ], [ %70, %62 ], [ %60, %52 ], [ %50, %43 ], [ %41, %33 ], [ %31, %24 ], [ %22, %14 ], [ %12, %4 ]
  %135 = phi i32 [ 12, %110 ], [ 11, %100 ], [ 10, %91 ], [ 9, %81 ], [ 8, %72 ], [ 7, %62 ], [ 6, %52 ], [ 5, %43 ], [ 4, %33 ], [ 3, %24 ], [ 2, %14 ], [ 1, %4 ]
  %136 = getelementptr inbounds %class.variant.43, %class.variant.43* %134, i32 0, i32 1
  store i32 %135, i32* %136, align 8, !tbaa !535
  %137 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %138 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %139 = sub i32 %137, %138
  %140 = ashr exact i32 %139, 4
  %141 = add nsw i32 %140, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %141, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %142

; <label>:142:                                    ; preds = %133, %132, %120
  %143 = phi i1 [ true, %133 ], [ false, %132 ], [ false, %120 ]
  ret i1 %143
}

; Function Attrs: nounwind
define zeroext i1 @builtinCeil() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %57

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %57

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %44 [
    i32 11, label %36
    i32 12, label %40
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = tail call float @llvm.ceil.f32(float %38) #14
  store float %39, float* %37, align 4, !tbaa !70
  br label %57

; <label>:40:                                     ; preds = %31
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %42 = load double, double* %41, align 8, !tbaa !72
  %43 = tail call double @llvm.ceil.f64(double %42)
  store double %43, double* %41, align 8, !tbaa !72
  br label %57

; <label>:44:                                     ; preds = %31
  %45 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %46 = icmp eq i32 %45, 0
  br i1 %46, label %47, label %57

; <label>:47:                                     ; preds = %44
  %48 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %48) #14
  %49 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %50 = icmp ult i32 %49, 16
  br i1 %50, label %54, label %51

; <label>:51:                                     ; preds = %47
  %52 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %52, i32 16
  store i8 0, i8* %53, align 1, !tbaa !12
  br label %56

; <label>:54:                                     ; preds = %47
  %55 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %56

; <label>:56:                                     ; preds = %54, %51
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %48) #14
  br label %57

; <label>:57:                                     ; preds = %56, %44, %40, %36, %28, %14
  %58 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %56 ], [ false, %44 ], [ true, %40 ], [ true, %36 ]
  ret i1 %58
}

; Function Attrs: nounwind readnone speculatable
declare float @llvm.ceil.f32(float) #17

; Function Attrs: nounwind readnone speculatable
declare double @llvm.ceil.f64(double) #17

; Function Attrs: nounwind
define zeroext i1 @builtinComma() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %struct.Field, align 8
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %97

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %97

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %38 = load i32, i32* %37, align 8, !tbaa !535
  %39 = icmp eq i32 %38, 17
  br i1 %39, label %55, label %40

; <label>:40:                                     ; preds = %33
  %41 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %97

; <label>:43:                                     ; preds = %40
  %44 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %44) #14
  %45 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %46 = icmp ult i32 %45, 10
  br i1 %46, label %52, label %47

; <label>:47:                                     ; preds = %43
  %48 = icmp ugt i32 %45, 15
  %49 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %50 = select i1 %48, i8* %49, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %50, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %51 = getelementptr inbounds i8, i8* %50, i32 10
  store i8 0, i8* %51, align 1, !tbaa !12
  br label %54

; <label>:52:                                     ; preds = %43
  %53 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %54

; <label>:54:                                     ; preds = %52, %47
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %44) #14
  br label %97

; <label>:55:                                     ; preds = %33
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %57 = bitcast %class.variant.43* %56 to %struct.Combined**
  %58 = load %struct.Combined*, %struct.Combined** %57, align 4, !tbaa !23
  %59 = getelementptr inbounds %struct.Combined, %struct.Combined* %58, i32 0, i32 1
  %60 = load i32, i32* %59, align 4, !tbaa !563
  %61 = getelementptr inbounds %struct.Combined, %struct.Combined* %58, i32 0, i32 4
  %62 = getelementptr inbounds %struct.Combined, %struct.Combined* %58, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %63 = bitcast %struct.Field** %62 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !23
  %65 = bitcast %"class.std::vector.17"* %61 to i32*
  %66 = load i32, i32* %65, align 4, !tbaa !23
  %67 = sub i32 %64, %66
  %68 = sdiv exact i32 %67, 24
  %69 = icmp eq i32 %60, %68
  br i1 %69, label %70, label %72

; <label>:70:                                     ; preds = %55
  %71 = add i32 %60, 1
  store i32 %71, i32* %59, align 4, !tbaa !563
  br label %72

; <label>:72:                                     ; preds = %70, %55
  %73 = getelementptr inbounds %struct.Combined, %struct.Combined* %58, i32 0, i32 2
  %74 = load i32, i32* %73, align 4, !tbaa !564
  %75 = icmp eq i32 %74, %68
  br i1 %75, label %76, label %78

; <label>:76:                                     ; preds = %72
  %77 = add nsw i32 %68, 1
  store i32 %77, i32* %73, align 4, !tbaa !564
  br label %78

; <label>:78:                                     ; preds = %76, %72
  %79 = getelementptr inbounds %struct.Combined, %struct.Combined* %58, i32 0, i32 3
  %80 = load i32, i32* %79, align 4, !tbaa !565
  %81 = icmp eq i32 %80, %68
  br i1 %81, label %82, label %84

; <label>:82:                                     ; preds = %78
  %83 = add nsw i32 %68, 1
  store i32 %83, i32* %79, align 4, !tbaa !565
  br label %84

; <label>:84:                                     ; preds = %82, %78
  %85 = bitcast %struct.Field* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %85) #14
  %86 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %87 = bitcast %struct.Field* %3 to i32*
  store i32 %86, i32* %87, align 8, !tbaa !561
  %88 = getelementptr inbounds %struct.Field, %struct.Field* %3, i32 0, i32 1
  %89 = bitcast %class.variant.43* %88 to i8*
  %90 = bitcast %class.variant.43* %36 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* %90, i32 16, i32 8, i1 false), !tbaa.struct !567
  %91 = call x86_thiscallcc dereferenceable(24) %struct.Field* @"\01??$emplace_back@UField@@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUField@@@Z"(%"class.std::vector.17"* nonnull %61, %struct.Field* nonnull dereferenceable(24) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %85) #14
  %92 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %93 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %94 = sub i32 %92, %93
  %95 = ashr exact i32 %94, 4
  %96 = add nsw i32 %95, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %96, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %97

; <label>:97:                                     ; preds = %84, %54, %40, %30, %16
  %98 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %84 ], [ false, %54 ], [ false, %40 ]
  ret i1 %98
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %struct.Field* @"\01??$emplace_back@UField@@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUField@@@Z"(%"class.std::vector.17"*, %struct.Field* dereferenceable(24)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %struct.Field*, %struct.Field** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.Field* %4, %6
  br i1 %7, label %13, label %8

; <label>:8:                                      ; preds = %2
  %9 = bitcast %struct.Field* %6 to i8*
  %10 = bitcast %struct.Field* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %9, i8* nonnull %10, i32 24, i32 8, i1 false) #14, !tbaa.struct !573
  %11 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23
  %12 = getelementptr inbounds %struct.Field, %struct.Field* %11, i32 1
  br label %101

; <label>:13:                                     ; preds = %2
  %14 = ptrtoint %struct.Field* %4 to i32
  %15 = ptrtoint %struct.Field* %6 to i32
  %16 = bitcast %struct.Field** %5 to i32*
  %17 = bitcast %"class.std::vector.17"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  %19 = sub i32 %15, %18
  %20 = sdiv exact i32 %19, 24
  %21 = add nsw i32 %20, 1
  %22 = bitcast %struct.Field** %3 to i32*
  %23 = sub i32 %14, %18
  %24 = sdiv exact i32 %23, 24
  %25 = lshr i32 %24, 1
  %26 = sub nsw i32 178956970, %25
  %27 = icmp ugt i32 %24, %26
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %13
  %29 = add i32 %25, %24
  %30 = icmp ult i32 %29, %21
  %31 = select i1 %30, i32 %21, i32 %29
  br label %32

; <label>:32:                                     ; preds = %28, %13
  %33 = phi i32 [ %31, %28 ], [ %21, %13 ]
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %55, label %35

; <label>:35:                                     ; preds = %32
  %36 = icmp ugt i32 %33, 178956970
  br i1 %36, label %37, label %38

; <label>:37:                                     ; preds = %35
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:38:                                     ; preds = %35
  %39 = mul i32 %33, 24
  %40 = icmp ugt i32 %39, 4095
  br i1 %40, label %41, label %53

; <label>:41:                                     ; preds = %38
  %42 = icmp ugt i32 %39, -36
  br i1 %42, label %43, label %44

; <label>:43:                                     ; preds = %41
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:44:                                     ; preds = %41
  %45 = add i32 %39, 35
  %46 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %45) #14
  %47 = ptrtoint i8* %46 to i32
  %48 = add i32 %47, 35
  %49 = and i32 %48, -32
  %50 = inttoptr i32 %49 to i8*
  %51 = inttoptr i32 %49 to i32*
  %52 = getelementptr inbounds i32, i32* %51, i32 -1
  store i32 %47, i32* %52, align 4, !tbaa !24
  br label %55

; <label>:53:                                     ; preds = %38
  %54 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %39) #14
  br label %55

; <label>:55:                                     ; preds = %53, %44, %32
  %56 = phi i8* [ null, %32 ], [ %50, %44 ], [ %54, %53 ]
  %57 = bitcast i8* %56 to %struct.Field*
  %58 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 %20
  %59 = bitcast %struct.Field* %58 to i8*
  %60 = bitcast %struct.Field* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* nonnull %60, i32 24, i32 8, i1 false) #14, !tbaa.struct !573
  %61 = load i32, i32* %16, align 4, !tbaa !23
  %62 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %63 = load %struct.Field*, %struct.Field** %62, align 4, !tbaa !23
  %64 = bitcast %struct.Field* %63 to i8*
  %65 = ptrtoint %struct.Field* %63 to i32
  %66 = sub i32 %61, %65
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %56, i8* %64, i32 %66, i32 1, i1 false) #14
  %67 = load %struct.Field*, %struct.Field** %62, align 4, !tbaa !23
  %68 = icmp eq %struct.Field* %67, null
  %69 = ptrtoint %struct.Field* %67 to i32
  br i1 %68, label %97, label %70

; <label>:70:                                     ; preds = %55
  %71 = load i32, i32* %22, align 4, !tbaa !23
  %72 = sub i32 %71, %69
  %73 = sdiv exact i32 %72, 24
  %74 = icmp ugt i32 %73, 178956970
  br i1 %74, label %93, label %75

; <label>:75:                                     ; preds = %70
  %76 = bitcast %struct.Field* %67 to i8*
  %77 = icmp ugt i32 %72, 4095
  br i1 %77, label %78, label %94

; <label>:78:                                     ; preds = %75
  %79 = add i32 %72, 35
  %80 = icmp ult i32 %72, -35
  %81 = and i32 %69, 31
  %82 = icmp eq i32 %81, 0
  %83 = and i1 %82, %80
  br i1 %83, label %84, label %93

; <label>:84:                                     ; preds = %78
  %85 = add i32 %69, -4
  %86 = inttoptr i32 %85 to i32*
  %87 = load i32, i32* %86, align 4, !tbaa !24
  %88 = icmp ult i32 %87, %69
  br i1 %88, label %89, label %93

; <label>:89:                                     ; preds = %84
  %90 = sub i32 %85, %87
  %91 = icmp ugt i32 %90, 31
  %92 = inttoptr i32 %87 to i8*
  br i1 %91, label %93, label %94

; <label>:93:                                     ; preds = %89, %84, %78, %70
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:94:                                     ; preds = %89, %75
  %95 = phi i8* [ %92, %89 ], [ %76, %75 ]
  %96 = phi i32 [ %79, %89 ], [ %72, %75 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %95, i32 %96) #14
  br label %97

; <label>:97:                                     ; preds = %94, %55
  %98 = bitcast %"class.std::vector.17"* %0 to i8**
  store i8* %56, i8** %98, align 4, !tbaa !23
  %99 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 %21
  store %struct.Field* %99, %struct.Field** %5, align 4, !tbaa !23
  %100 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 %33
  br label %101

; <label>:101:                                    ; preds = %97, %8
  %102 = phi %struct.Field** [ %3, %97 ], [ %5, %8 ]
  %103 = phi %struct.Field* [ %100, %97 ], [ %12, %8 ]
  store %struct.Field* %103, %struct.Field** %102, align 4, !tbaa !23
  %104 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23
  %105 = getelementptr inbounds %struct.Field, %struct.Field* %104, i32 -1
  ret %struct.Field* %105
}

; Function Attrs: nounwind
define zeroext i1 @builtinCopy() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %7 = icmp eq i32 %5, %6
  %8 = inttoptr i32 %3 to %class.variant.43*
  br i1 %7, label %11, label %9

; <label>:9:                                      ; preds = %0
  %10 = add nsw i32 %5, -1
  br label %30

; <label>:11:                                     ; preds = %0
  %12 = icmp eq i32 %5, 0
  br i1 %12, label %13, label %28

; <label>:13:                                     ; preds = %11
  %14 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %15 = icmp eq i32 %14, 0
  br i1 %15, label %16, label %131

; <label>:16:                                     ; preds = %13
  %17 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %17) #14
  %18 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %19 = icmp ult i32 %18, 15
  br i1 %19, label %25, label %20

; <label>:20:                                     ; preds = %16
  %21 = icmp eq i32 %18, 15
  %22 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %23 = select i1 %21, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %22
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %24 = getelementptr inbounds i8, i8* %23, i32 15
  store i8 0, i8* %24, align 1, !tbaa !12
  br label %27

; <label>:25:                                     ; preds = %16
  %26 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %27

; <label>:27:                                     ; preds = %25, %20
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %17) #14
  br label %131

; <label>:28:                                     ; preds = %11
  %29 = add nsw i32 %5, -1
  store i32 %29, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %30

; <label>:30:                                     ; preds = %28, %9
  %31 = phi i32 [ %10, %9 ], [ %29, %28 ]
  %32 = getelementptr inbounds %class.variant.43, %class.variant.43* %8, i32 %31
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %8, i32 %31, i32 1
  %34 = load i32, i32* %33, align 8, !tbaa !535
  switch i32 %34, label %131 [
    i32 17, label %117
    i32 14, label %35
  ]

; <label>:35:                                     ; preds = %30
  %36 = bitcast %class.variant.43* %32 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %37 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %36, align 8
  %38 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37, i32 0, i32 1
  %39 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %40 = bitcast i8* %39 to i32*
  store i32 1, i32* %40, align 4, !tbaa !547
  %41 = getelementptr inbounds i8, i8* %39, i32 4
  %42 = getelementptr inbounds i8, i8* %39, i32 20
  %43 = bitcast i8* %42 to i32*
  store i32 0, i32* %43, align 4, !tbaa !83
  %44 = getelementptr inbounds i8, i8* %39, i32 24
  %45 = bitcast i8* %44 to i32*
  store i32 0, i32* %45, align 4, !tbaa !81
  %46 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %47 = load i32, i32* %46, align 4, !tbaa !83
  %48 = bitcast %"class.std::basic_string"* %38 to i8*
  %49 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %50 = load i32, i32* %49, align 4, !tbaa !81
  %51 = icmp ugt i32 %50, 15
  %52 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %53 = load i8*, i8** %52, align 4
  %54 = select i1 %51, i8* %53, i8* %48
  %55 = icmp ult i32 %47, 16
  br i1 %55, label %56, label %57

; <label>:56:                                     ; preds = %35
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %41, i8* %54, i32 16, i32 1, i1 false) #14
  br label %79

; <label>:57:                                     ; preds = %35
  %58 = or i32 %47, 15
  %59 = icmp ult i32 %58, 2147483647
  %60 = select i1 %59, i32 %58, i32 2147483647
  %61 = icmp ugt i32 %60, 4094
  br i1 %61, label %62, label %71

; <label>:62:                                     ; preds = %57
  %63 = add nuw i32 %60, 36
  %64 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %63) #14
  %65 = ptrtoint i8* %64 to i32
  %66 = add i32 %65, 35
  %67 = and i32 %66, -32
  %68 = inttoptr i32 %67 to i8*
  %69 = inttoptr i32 %67 to i32*
  %70 = getelementptr inbounds i32, i32* %69, i32 -1
  store i32 %65, i32* %70, align 4, !tbaa !24
  br label %74

; <label>:71:                                     ; preds = %57
  %72 = add nuw i32 %60, 1
  %73 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %72) #14
  br label %74

; <label>:74:                                     ; preds = %71, %62
  %75 = phi i8* [ %68, %62 ], [ %73, %71 ]
  %76 = ptrtoint i8* %75 to i32
  %77 = bitcast i8* %41 to i32*
  store i32 %76, i32* %77, align 4, !tbaa !23
  %78 = add i32 %47, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %75, i8* %54, i32 %78, i32 1, i1 false) #14
  br label %79

; <label>:79:                                     ; preds = %74, %56
  %80 = phi i32 [ %60, %74 ], [ 15, %56 ]
  store i32 %47, i32* %43, align 4, !tbaa !83
  store i32 %80, i32* %45, align 4, !tbaa !81
  %81 = bitcast %class.variant.43* %32 to i8**
  store i8* %39, i8** %81, align 4, !tbaa !549
  store i32 14, i32* %33, align 8, !tbaa !535
  %82 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37, i32 0, i32 0
  %83 = load i32, i32* %82, align 4, !tbaa !547
  %84 = icmp eq i32 %83, 1
  br i1 %84, label %87, label %85

; <label>:85:                                     ; preds = %79
  %86 = add i32 %83, -1
  store i32 %86, i32* %82, align 4, !tbaa !547
  br label %131

; <label>:87:                                     ; preds = %79
  %88 = load i32, i32* %49, align 4, !tbaa !81
  %89 = icmp ugt i32 %88, 15
  br i1 %89, label %90, label %115

; <label>:90:                                     ; preds = %87
  %91 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %92 = load i8*, i8** %91, align 4, !tbaa !12
  %93 = add i32 %88, 1
  %94 = icmp ugt i32 %93, 4095
  br i1 %94, label %95, label %112

; <label>:95:                                     ; preds = %90
  %96 = add i32 %88, 36
  %97 = icmp ugt i32 %93, -36
  br i1 %97, label %111, label %98

; <label>:98:                                     ; preds = %95
  %99 = ptrtoint i8* %92 to i32
  %100 = and i32 %99, 31
  %101 = icmp eq i32 %100, 0
  br i1 %101, label %102, label %111

; <label>:102:                                    ; preds = %98
  %103 = add i32 %99, -4
  %104 = inttoptr i32 %103 to i32*
  %105 = load i32, i32* %104, align 4, !tbaa !24
  %106 = icmp ult i32 %105, %99
  br i1 %106, label %107, label %111

; <label>:107:                                    ; preds = %102
  %108 = sub i32 %103, %105
  %109 = icmp ugt i32 %108, 31
  %110 = inttoptr i32 %105 to i8*
  br i1 %109, label %111, label %112

; <label>:111:                                    ; preds = %107, %102, %98, %95
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:112:                                    ; preds = %107, %90
  %113 = phi i8* [ %110, %107 ], [ %92, %90 ]
  %114 = phi i32 [ %96, %107 ], [ %93, %90 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %113, i32 %114) #14
  br label %115

; <label>:115:                                    ; preds = %112, %87
  %116 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %37 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %116) #21
  br label %131

; <label>:117:                                    ; preds = %30
  %118 = bitcast %class.variant.43* %32 to %struct.Combined**
  %119 = load %struct.Combined*, %struct.Combined** %118, align 4, !tbaa !23
  %120 = tail call dereferenceable(28) %struct.Combined* @"\01?clone@@YAAAUCombined@@ABU1@@Z"(%struct.Combined* dereferenceable(28) %119) #14
  %121 = ptrtoint %struct.Combined* %120 to i32
  %122 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %123 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %124 = sub i32 %122, %123
  %125 = ashr exact i32 %124, 4
  %126 = add nsw i32 %125, -1
  %127 = inttoptr i32 %123 to %class.variant.43*
  %128 = getelementptr inbounds %class.variant.43, %class.variant.43* %127, i32 %126
  %129 = bitcast %class.variant.43* %128 to i32*
  store i32 %121, i32* %129, align 8, !tbaa !23
  %130 = getelementptr inbounds %class.variant.43, %class.variant.43* %127, i32 %126, i32 1
  store i32 17, i32* %130, align 8, !tbaa !535
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %119) #14
  br label %131

; <label>:131:                                    ; preds = %117, %115, %85, %30, %27, %13
  %132 = phi i1 [ false, %27 ], [ false, %13 ], [ true, %30 ], [ true, %117 ], [ true, %85 ], [ true, %115 ]
  ret i1 %132
}

; Function Attrs: nounwind
define zeroext i1 @builtinCos() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @cos(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @cos(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @cos(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinEqual() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = alloca %"struct.std::_Not_a_node_tag", align 4
  %18 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %19 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %20 = sub i32 %18, %19
  %21 = ashr exact i32 %20, 4
  %22 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %23 = sub i32 %21, %22
  %24 = icmp ult i32 %23, 2
  %25 = inttoptr i32 %19 to %class.variant.43*
  br i1 %24, label %28, label %26

; <label>:26:                                     ; preds = %0
  %27 = add nsw i32 %21, -2
  br label %47

; <label>:28:                                     ; preds = %0
  %29 = icmp ult i32 %21, 2
  br i1 %29, label %30, label %45

; <label>:30:                                     ; preds = %28
  %31 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %33, label %654

; <label>:33:                                     ; preds = %30
  %34 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %34) #14
  %35 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %36 = icmp ult i32 %35, 15
  br i1 %36, label %42, label %37

; <label>:37:                                     ; preds = %33
  %38 = icmp eq i32 %35, 15
  %39 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %40 = select i1 %38, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %39
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %40, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %41 = getelementptr inbounds i8, i8* %40, i32 15
  store i8 0, i8* %41, align 1, !tbaa !12
  br label %44

; <label>:42:                                     ; preds = %33
  %43 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %44

; <label>:44:                                     ; preds = %42, %37
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %34) #14
  br label %654

; <label>:45:                                     ; preds = %28
  %46 = add nsw i32 %21, -2
  store i32 %46, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %47

; <label>:47:                                     ; preds = %45, %26
  %48 = phi i32 [ %27, %26 ], [ %46, %45 ]
  %49 = add nsw i32 %21, -1
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %48
  %52 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %48, i32 1
  %53 = load i32, i32* %52, align 8, !tbaa !535
  switch i32 %53, label %635 [
    i32 0, label %54
    i32 1, label %78
    i32 2, label %102
    i32 3, label %127
    i32 4, label %152
    i32 5, label %177
    i32 6, label %202
    i32 7, label %226
    i32 8, label %251
    i32 9, label %276
    i32 10, label %301
    i32 11, label %326
    i32 12, label %351
    i32 13, label %376
    i32 14, label %470
  ]

; <label>:54:                                     ; preds = %47
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %56 = load i32, i32* %55, align 8, !tbaa !535
  %57 = icmp eq i32 %56, 0
  br i1 %57, label %71, label %58

; <label>:58:                                     ; preds = %54
  %59 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %60 = icmp eq i32 %59, 0
  br i1 %60, label %61, label %654

; <label>:61:                                     ; preds = %58
  %62 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %62) #14
  %63 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %64 = icmp ult i32 %63, 17
  br i1 %64, label %68, label %65

; <label>:65:                                     ; preds = %61
  %66 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %66, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %67 = getelementptr inbounds i8, i8* %66, i32 17
  store i8 0, i8* %67, align 1, !tbaa !12
  br label %70

; <label>:68:                                     ; preds = %61
  %69 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %70

; <label>:70:                                     ; preds = %68, %65
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %62) #14
  br label %654

; <label>:71:                                     ; preds = %54
  %72 = bitcast %class.variant.43* %51 to i8*
  %73 = load i8, i8* %72, align 1, !tbaa !566, !range !382
  %74 = bitcast %class.variant.43* %50 to i8*
  %75 = load i8, i8* %74, align 1, !tbaa !566, !range !382
  %76 = xor i8 %73, 1
  %77 = xor i8 %76, %75
  store i8 %77, i8* %72, align 1, !tbaa !566
  br label %648

; <label>:78:                                     ; preds = %47
  %79 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %80 = load i32, i32* %79, align 8, !tbaa !535
  %81 = icmp eq i32 %80, 1
  br i1 %81, label %95, label %82

; <label>:82:                                     ; preds = %78
  %83 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %84 = icmp eq i32 %83, 0
  br i1 %84, label %85, label %654

; <label>:85:                                     ; preds = %82
  %86 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %86) #14
  %87 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %88 = icmp ult i32 %87, 17
  br i1 %88, label %92, label %89

; <label>:89:                                     ; preds = %85
  %90 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %90, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %91 = getelementptr inbounds i8, i8* %90, i32 17
  store i8 0, i8* %91, align 1, !tbaa !12
  br label %94

; <label>:92:                                     ; preds = %85
  %93 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %94

; <label>:94:                                     ; preds = %92, %89
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %86) #14
  br label %654

; <label>:95:                                     ; preds = %78
  %96 = bitcast %class.variant.43* %51 to i8*
  %97 = load i8, i8* %96, align 1, !tbaa !12
  %98 = bitcast %class.variant.43* %50 to i8*
  %99 = load i8, i8* %98, align 1, !tbaa !12
  %100 = icmp eq i8 %97, %99
  %101 = zext i1 %100 to i8
  store i8 %101, i8* %96, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:102:                                    ; preds = %47
  %103 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %104 = load i32, i32* %103, align 8, !tbaa !535
  %105 = icmp eq i32 %104, 2
  br i1 %105, label %119, label %106

; <label>:106:                                    ; preds = %102
  %107 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %108 = icmp eq i32 %107, 0
  br i1 %108, label %109, label %654

; <label>:109:                                    ; preds = %106
  %110 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %110) #14
  %111 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %112 = icmp ult i32 %111, 17
  br i1 %112, label %116, label %113

; <label>:113:                                    ; preds = %109
  %114 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %114, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %115 = getelementptr inbounds i8, i8* %114, i32 17
  store i8 0, i8* %115, align 1, !tbaa !12
  br label %118

; <label>:116:                                    ; preds = %109
  %117 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %118

; <label>:118:                                    ; preds = %116, %113
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %110) #14
  br label %654

; <label>:119:                                    ; preds = %102
  %120 = bitcast %class.variant.43* %51 to i16*
  %121 = load i16, i16* %120, align 2, !tbaa !59
  %122 = bitcast %class.variant.43* %50 to i16*
  %123 = load i16, i16* %122, align 2, !tbaa !59
  %124 = icmp eq i16 %121, %123
  %125 = zext i1 %124 to i8
  %126 = bitcast %class.variant.43* %51 to i8*
  store i8 %125, i8* %126, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:127:                                    ; preds = %47
  %128 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %129 = load i32, i32* %128, align 8, !tbaa !535
  %130 = icmp eq i32 %129, 3
  br i1 %130, label %144, label %131

; <label>:131:                                    ; preds = %127
  %132 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %134, label %654

; <label>:134:                                    ; preds = %131
  %135 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %135) #14
  %136 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %137 = icmp ult i32 %136, 17
  br i1 %137, label %141, label %138

; <label>:138:                                    ; preds = %134
  %139 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %139, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %140 = getelementptr inbounds i8, i8* %139, i32 17
  store i8 0, i8* %140, align 1, !tbaa !12
  br label %143

; <label>:141:                                    ; preds = %134
  %142 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %143

; <label>:143:                                    ; preds = %141, %138
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %135) #14
  br label %654

; <label>:144:                                    ; preds = %127
  %145 = bitcast %class.variant.43* %51 to i32*
  %146 = load i32, i32* %145, align 4, !tbaa !24
  %147 = bitcast %class.variant.43* %50 to i32*
  %148 = load i32, i32* %147, align 4, !tbaa !24
  %149 = icmp eq i32 %146, %148
  %150 = zext i1 %149 to i8
  %151 = bitcast %class.variant.43* %51 to i8*
  store i8 %150, i8* %151, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:152:                                    ; preds = %47
  %153 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %154 = load i32, i32* %153, align 8, !tbaa !535
  %155 = icmp eq i32 %154, 4
  br i1 %155, label %169, label %156

; <label>:156:                                    ; preds = %152
  %157 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %158 = icmp eq i32 %157, 0
  br i1 %158, label %159, label %654

; <label>:159:                                    ; preds = %156
  %160 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %160) #14
  %161 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %162 = icmp ult i32 %161, 17
  br i1 %162, label %166, label %163

; <label>:163:                                    ; preds = %159
  %164 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %164, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %165 = getelementptr inbounds i8, i8* %164, i32 17
  store i8 0, i8* %165, align 1, !tbaa !12
  br label %168

; <label>:166:                                    ; preds = %159
  %167 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %168

; <label>:168:                                    ; preds = %166, %163
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14
  br label %654

; <label>:169:                                    ; preds = %152
  %170 = bitcast %class.variant.43* %51 to i64*
  %171 = load i64, i64* %170, align 8, !tbaa !61
  %172 = bitcast %class.variant.43* %50 to i64*
  %173 = load i64, i64* %172, align 8, !tbaa !61
  %174 = icmp eq i64 %171, %173
  %175 = zext i1 %174 to i8
  %176 = bitcast %class.variant.43* %51 to i8*
  store i8 %175, i8* %176, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:177:                                    ; preds = %47
  %178 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %179 = load i32, i32* %178, align 8, !tbaa !535
  %180 = icmp eq i32 %179, 5
  br i1 %180, label %194, label %181

; <label>:181:                                    ; preds = %177
  %182 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %183 = icmp eq i32 %182, 0
  br i1 %183, label %184, label %654

; <label>:184:                                    ; preds = %181
  %185 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %185) #14
  %186 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %187 = icmp ult i32 %186, 17
  br i1 %187, label %191, label %188

; <label>:188:                                    ; preds = %184
  %189 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %189, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %190 = getelementptr inbounds i8, i8* %189, i32 17
  store i8 0, i8* %190, align 1, !tbaa !12
  br label %193

; <label>:191:                                    ; preds = %184
  %192 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %193

; <label>:193:                                    ; preds = %191, %188
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %185) #14
  br label %654

; <label>:194:                                    ; preds = %177
  %195 = bitcast %class.variant.43* %51 to i32*
  %196 = load i32, i32* %195, align 4, !tbaa !538
  %197 = bitcast %class.variant.43* %50 to i32*
  %198 = load i32, i32* %197, align 4, !tbaa !538
  %199 = icmp eq i32 %196, %198
  %200 = zext i1 %199 to i8
  %201 = bitcast %class.variant.43* %51 to i8*
  store i8 %200, i8* %201, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:202:                                    ; preds = %47
  %203 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %204 = load i32, i32* %203, align 8, !tbaa !535
  %205 = icmp eq i32 %204, 6
  br i1 %205, label %219, label %206

; <label>:206:                                    ; preds = %202
  %207 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %208 = icmp eq i32 %207, 0
  br i1 %208, label %209, label %654

; <label>:209:                                    ; preds = %206
  %210 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %210) #14
  %211 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %212 = icmp ult i32 %211, 17
  br i1 %212, label %216, label %213

; <label>:213:                                    ; preds = %209
  %214 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %214, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %215 = getelementptr inbounds i8, i8* %214, i32 17
  store i8 0, i8* %215, align 1, !tbaa !12
  br label %218

; <label>:216:                                    ; preds = %209
  %217 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %218

; <label>:218:                                    ; preds = %216, %213
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %210) #14
  br label %654

; <label>:219:                                    ; preds = %202
  %220 = bitcast %class.variant.43* %51 to i8*
  %221 = load i8, i8* %220, align 1, !tbaa !12
  %222 = bitcast %class.variant.43* %50 to i8*
  %223 = load i8, i8* %222, align 1, !tbaa !12
  %224 = icmp eq i8 %221, %223
  %225 = zext i1 %224 to i8
  store i8 %225, i8* %220, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:226:                                    ; preds = %47
  %227 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %228 = load i32, i32* %227, align 8, !tbaa !535
  %229 = icmp eq i32 %228, 7
  br i1 %229, label %243, label %230

; <label>:230:                                    ; preds = %226
  %231 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %232 = icmp eq i32 %231, 0
  br i1 %232, label %233, label %654

; <label>:233:                                    ; preds = %230
  %234 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %234) #14
  %235 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %236 = icmp ult i32 %235, 17
  br i1 %236, label %240, label %237

; <label>:237:                                    ; preds = %233
  %238 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %238, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %239 = getelementptr inbounds i8, i8* %238, i32 17
  store i8 0, i8* %239, align 1, !tbaa !12
  br label %242

; <label>:240:                                    ; preds = %233
  %241 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %242

; <label>:242:                                    ; preds = %240, %237
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %234) #14
  br label %654

; <label>:243:                                    ; preds = %226
  %244 = bitcast %class.variant.43* %51 to i16*
  %245 = load i16, i16* %244, align 2, !tbaa !59
  %246 = bitcast %class.variant.43* %50 to i16*
  %247 = load i16, i16* %246, align 2, !tbaa !59
  %248 = icmp eq i16 %245, %247
  %249 = zext i1 %248 to i8
  %250 = bitcast %class.variant.43* %51 to i8*
  store i8 %249, i8* %250, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:251:                                    ; preds = %47
  %252 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %253 = load i32, i32* %252, align 8, !tbaa !535
  %254 = icmp eq i32 %253, 8
  br i1 %254, label %268, label %255

; <label>:255:                                    ; preds = %251
  %256 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %257 = icmp eq i32 %256, 0
  br i1 %257, label %258, label %654

; <label>:258:                                    ; preds = %255
  %259 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %259) #14
  %260 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %261 = icmp ult i32 %260, 17
  br i1 %261, label %265, label %262

; <label>:262:                                    ; preds = %258
  %263 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %263, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %264 = getelementptr inbounds i8, i8* %263, i32 17
  store i8 0, i8* %264, align 1, !tbaa !12
  br label %267

; <label>:265:                                    ; preds = %258
  %266 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %267

; <label>:267:                                    ; preds = %265, %262
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %259) #14
  br label %654

; <label>:268:                                    ; preds = %251
  %269 = bitcast %class.variant.43* %51 to i32*
  %270 = load i32, i32* %269, align 4, !tbaa !24
  %271 = bitcast %class.variant.43* %50 to i32*
  %272 = load i32, i32* %271, align 4, !tbaa !24
  %273 = icmp eq i32 %270, %272
  %274 = zext i1 %273 to i8
  %275 = bitcast %class.variant.43* %51 to i8*
  store i8 %274, i8* %275, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:276:                                    ; preds = %47
  %277 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %278 = load i32, i32* %277, align 8, !tbaa !535
  %279 = icmp eq i32 %278, 9
  br i1 %279, label %293, label %280

; <label>:280:                                    ; preds = %276
  %281 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %282 = icmp eq i32 %281, 0
  br i1 %282, label %283, label %654

; <label>:283:                                    ; preds = %280
  %284 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %284) #14
  %285 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %286 = icmp ult i32 %285, 17
  br i1 %286, label %290, label %287

; <label>:287:                                    ; preds = %283
  %288 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %288, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %289 = getelementptr inbounds i8, i8* %288, i32 17
  store i8 0, i8* %289, align 1, !tbaa !12
  br label %292

; <label>:290:                                    ; preds = %283
  %291 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %292

; <label>:292:                                    ; preds = %290, %287
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %284) #14
  br label %654

; <label>:293:                                    ; preds = %276
  %294 = bitcast %class.variant.43* %51 to i64*
  %295 = load i64, i64* %294, align 8, !tbaa !61
  %296 = bitcast %class.variant.43* %50 to i64*
  %297 = load i64, i64* %296, align 8, !tbaa !61
  %298 = icmp eq i64 %295, %297
  %299 = zext i1 %298 to i8
  %300 = bitcast %class.variant.43* %51 to i8*
  store i8 %299, i8* %300, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:301:                                    ; preds = %47
  %302 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %303 = load i32, i32* %302, align 8, !tbaa !535
  %304 = icmp eq i32 %303, 10
  br i1 %304, label %318, label %305

; <label>:305:                                    ; preds = %301
  %306 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %307 = icmp eq i32 %306, 0
  br i1 %307, label %308, label %654

; <label>:308:                                    ; preds = %305
  %309 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %309) #14
  %310 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %311 = icmp ult i32 %310, 17
  br i1 %311, label %315, label %312

; <label>:312:                                    ; preds = %308
  %313 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %313, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %314 = getelementptr inbounds i8, i8* %313, i32 17
  store i8 0, i8* %314, align 1, !tbaa !12
  br label %317

; <label>:315:                                    ; preds = %308
  %316 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %317

; <label>:317:                                    ; preds = %315, %312
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %309) #14
  br label %654

; <label>:318:                                    ; preds = %301
  %319 = bitcast %class.variant.43* %51 to i32*
  %320 = load i32, i32* %319, align 4, !tbaa !540
  %321 = bitcast %class.variant.43* %50 to i32*
  %322 = load i32, i32* %321, align 4, !tbaa !540
  %323 = icmp eq i32 %320, %322
  %324 = zext i1 %323 to i8
  %325 = bitcast %class.variant.43* %51 to i8*
  store i8 %324, i8* %325, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:326:                                    ; preds = %47
  %327 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %328 = load i32, i32* %327, align 8, !tbaa !535
  %329 = icmp eq i32 %328, 11
  br i1 %329, label %343, label %330

; <label>:330:                                    ; preds = %326
  %331 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %332 = icmp eq i32 %331, 0
  br i1 %332, label %333, label %654

; <label>:333:                                    ; preds = %330
  %334 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %334) #14
  %335 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %336 = icmp ult i32 %335, 17
  br i1 %336, label %340, label %337

; <label>:337:                                    ; preds = %333
  %338 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %338, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %339 = getelementptr inbounds i8, i8* %338, i32 17
  store i8 0, i8* %339, align 1, !tbaa !12
  br label %342

; <label>:340:                                    ; preds = %333
  %341 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %342

; <label>:342:                                    ; preds = %340, %337
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %334) #14
  br label %654

; <label>:343:                                    ; preds = %326
  %344 = bitcast %class.variant.43* %51 to float*
  %345 = load float, float* %344, align 4, !tbaa !70
  %346 = bitcast %class.variant.43* %50 to float*
  %347 = load float, float* %346, align 4, !tbaa !70
  %348 = fcmp oeq float %345, %347
  %349 = zext i1 %348 to i8
  %350 = bitcast %class.variant.43* %51 to i8*
  store i8 %349, i8* %350, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:351:                                    ; preds = %47
  %352 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %353 = load i32, i32* %352, align 8, !tbaa !535
  %354 = icmp eq i32 %353, 12
  br i1 %354, label %368, label %355

; <label>:355:                                    ; preds = %351
  %356 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %357 = icmp eq i32 %356, 0
  br i1 %357, label %358, label %654

; <label>:358:                                    ; preds = %355
  %359 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %359) #14
  %360 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %361 = icmp ult i32 %360, 17
  br i1 %361, label %365, label %362

; <label>:362:                                    ; preds = %358
  %363 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %363, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %364 = getelementptr inbounds i8, i8* %363, i32 17
  store i8 0, i8* %364, align 1, !tbaa !12
  br label %367

; <label>:365:                                    ; preds = %358
  %366 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %367

; <label>:367:                                    ; preds = %365, %362
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %359) #14
  br label %654

; <label>:368:                                    ; preds = %351
  %369 = getelementptr inbounds %class.variant.43, %class.variant.43* %51, i32 0, i32 0, i32 0, i32 0
  %370 = load double, double* %369, align 8, !tbaa !72
  %371 = getelementptr inbounds %class.variant.43, %class.variant.43* %50, i32 0, i32 0, i32 0, i32 0
  %372 = load double, double* %371, align 8, !tbaa !72
  %373 = fcmp oeq double %370, %372
  %374 = zext i1 %373 to i8
  %375 = bitcast %class.variant.43* %51 to i8*
  store i8 %374, i8* %375, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:376:                                    ; preds = %47
  %377 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %378 = load i32, i32* %377, align 8, !tbaa !535
  switch i32 %378, label %457 [
    i32 13, label %379
    i32 14, label %387
  ]

; <label>:379:                                    ; preds = %376
  %380 = bitcast %class.variant.43* %51 to %"struct.std::pair.23"**
  %381 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %380, align 4, !tbaa !542
  %382 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %383 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %382, align 4, !tbaa !542
  %384 = icmp eq %"struct.std::pair.23"* %381, %383
  %385 = zext i1 %384 to i8
  %386 = bitcast %class.variant.43* %51 to i8*
  store i8 %385, i8* %386, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  br label %648

; <label>:387:                                    ; preds = %376
  %388 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %389 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %388, align 4, !tbaa !549
  %390 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1
  %391 = bitcast %class.variant.43* %51 to %"struct.std::pair.23"**
  %392 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %391, align 4, !tbaa !542
  %393 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %394 = load i32, i32* %393, align 4, !tbaa !83
  %395 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %396 = load i32, i32* %395, align 4, !tbaa !83
  %397 = icmp eq i32 %396, %394
  br i1 %397, label %398, label %416

; <label>:398:                                    ; preds = %387
  %399 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %400 = load i32, i32* %399, align 4, !tbaa !81
  %401 = icmp ugt i32 %400, 15
  %402 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %403 = load i8*, i8** %402, align 4
  %404 = bitcast %"struct.std::pair.23"* %392 to i8*
  %405 = select i1 %401, i8* %403, i8* %404
  %406 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %407 = load i32, i32* %406, align 4, !tbaa !81
  %408 = icmp ugt i32 %407, 15
  %409 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %390, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %410 = load i8*, i8** %409, align 4
  %411 = bitcast %"class.std::basic_string"* %390 to i8*
  %412 = select i1 %408, i8* %410, i8* %411
  %413 = tail call i32 @memcmp(i8* %405, i8* %412, i32 %394) #14
  %414 = icmp eq i32 %413, 0
  %415 = zext i1 %414 to i8
  br label %416

; <label>:416:                                    ; preds = %398, %387
  %417 = phi i8 [ 0, %387 ], [ %415, %398 ]
  %418 = bitcast %class.variant.43* %51 to i8*
  store i8 %417, i8* %418, align 8, !tbaa !566
  store i32 0, i32* %52, align 8, !tbaa !535
  %419 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 0
  %420 = load i32, i32* %419, align 4, !tbaa !547
  %421 = icmp eq i32 %420, 1
  br i1 %421, label %424, label %422

; <label>:422:                                    ; preds = %416
  %423 = add i32 %420, -1
  store i32 %423, i32* %419, align 4, !tbaa !547
  br label %648

; <label>:424:                                    ; preds = %416
  %425 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %426 = load i32, i32* %425, align 4, !tbaa !81
  %427 = icmp ugt i32 %426, 15
  br i1 %427, label %428, label %453

; <label>:428:                                    ; preds = %424
  %429 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %430 = load i8*, i8** %429, align 4, !tbaa !12
  %431 = add i32 %426, 1
  %432 = icmp ugt i32 %431, 4095
  br i1 %432, label %433, label %450

; <label>:433:                                    ; preds = %428
  %434 = add i32 %426, 36
  %435 = icmp ugt i32 %431, -36
  br i1 %435, label %449, label %436

; <label>:436:                                    ; preds = %433
  %437 = ptrtoint i8* %430 to i32
  %438 = and i32 %437, 31
  %439 = icmp eq i32 %438, 0
  br i1 %439, label %440, label %449

; <label>:440:                                    ; preds = %436
  %441 = add i32 %437, -4
  %442 = inttoptr i32 %441 to i32*
  %443 = load i32, i32* %442, align 4, !tbaa !24
  %444 = icmp ult i32 %443, %437
  br i1 %444, label %445, label %449

; <label>:445:                                    ; preds = %440
  %446 = sub i32 %441, %443
  %447 = icmp ugt i32 %446, 31
  %448 = inttoptr i32 %443 to i8*
  br i1 %447, label %449, label %450

; <label>:449:                                    ; preds = %445, %440, %436, %433
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:450:                                    ; preds = %445, %428
  %451 = phi i8* [ %448, %445 ], [ %430, %428 ]
  %452 = phi i32 [ %434, %445 ], [ %431, %428 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %451, i32 %452) #14
  br label %453

; <label>:453:                                    ; preds = %450, %424
  %454 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %454) #21
  %455 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %456 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %648

; <label>:457:                                    ; preds = %376
  %458 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %459 = icmp eq i32 %458, 0
  br i1 %459, label %460, label %654

; <label>:460:                                    ; preds = %457
  %461 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %461) #14
  %462 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %463 = icmp ult i32 %462, 17
  br i1 %463, label %467, label %464

; <label>:464:                                    ; preds = %460
  %465 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %465, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %466 = getelementptr inbounds i8, i8* %465, i32 17
  store i8 0, i8* %466, align 1, !tbaa !12
  br label %469

; <label>:467:                                    ; preds = %460
  %468 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %469

; <label>:469:                                    ; preds = %467, %464
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %461) #14
  br label %654

; <label>:470:                                    ; preds = %47
  %471 = getelementptr inbounds %class.variant.43, %class.variant.43* %25, i32 %49, i32 1
  %472 = load i32, i32* %471, align 8, !tbaa !535
  switch i32 %472, label %571 [
    i32 13, label %473
    i32 14, label %502
  ]

; <label>:473:                                    ; preds = %470
  %474 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %475 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %474, align 4, !tbaa !542
  %476 = bitcast %class.variant.43* %51 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %477 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %476, align 4, !tbaa !549
  %478 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %477, i32 0, i32 1
  %479 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %475, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %480 = load i32, i32* %479, align 4, !tbaa !83
  %481 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %477, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %482 = load i32, i32* %481, align 4, !tbaa !83
  %483 = icmp eq i32 %482, %480
  br i1 %483, label %484, label %584

; <label>:484:                                    ; preds = %473
  %485 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %477, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %486 = load i32, i32* %485, align 4, !tbaa !81
  %487 = icmp ugt i32 %486, 15
  %488 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %478, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %489 = load i8*, i8** %488, align 4
  %490 = bitcast %"class.std::basic_string"* %478 to i8*
  %491 = select i1 %487, i8* %489, i8* %490
  %492 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %475, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %493 = load i32, i32* %492, align 4, !tbaa !81
  %494 = icmp ugt i32 %493, 15
  %495 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %475, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %496 = load i8*, i8** %495, align 4
  %497 = bitcast %"struct.std::pair.23"* %475 to i8*
  %498 = select i1 %494, i8* %496, i8* %497
  %499 = tail call i32 @memcmp(i8* %491, i8* %498, i32 %480) #14
  %500 = icmp eq i32 %499, 0
  %501 = zext i1 %500 to i8
  br label %584

; <label>:502:                                    ; preds = %470
  %503 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %504 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %503, align 4, !tbaa !549
  %505 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 1
  %506 = bitcast %class.variant.43* %51 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %507 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %506, align 4, !tbaa !549
  %508 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %507, i32 0, i32 1
  %509 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %510 = load i32, i32* %509, align 4, !tbaa !83
  %511 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %507, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %512 = load i32, i32* %511, align 4, !tbaa !83
  %513 = icmp eq i32 %512, %510
  br i1 %513, label %514, label %532

; <label>:514:                                    ; preds = %502
  %515 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %507, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %516 = load i32, i32* %515, align 4, !tbaa !81
  %517 = icmp ugt i32 %516, 15
  %518 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %508, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %519 = load i8*, i8** %518, align 4
  %520 = bitcast %"class.std::basic_string"* %508 to i8*
  %521 = select i1 %517, i8* %519, i8* %520
  %522 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %523 = load i32, i32* %522, align 4, !tbaa !81
  %524 = icmp ugt i32 %523, 15
  %525 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %505, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %526 = load i8*, i8** %525, align 4
  %527 = bitcast %"class.std::basic_string"* %505 to i8*
  %528 = select i1 %524, i8* %526, i8* %527
  %529 = tail call i32 @memcmp(i8* %521, i8* %528, i32 %510) #14
  %530 = icmp eq i32 %529, 0
  %531 = zext i1 %530 to i8
  br label %532

; <label>:532:                                    ; preds = %514, %502
  %533 = phi i8 [ 0, %502 ], [ %531, %514 ]
  %534 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 0
  %535 = load i32, i32* %534, align 4, !tbaa !547
  %536 = icmp eq i32 %535, 1
  br i1 %536, label %539, label %537

; <label>:537:                                    ; preds = %532
  %538 = add i32 %535, -1
  store i32 %538, i32* %534, align 4, !tbaa !547
  br label %584

; <label>:539:                                    ; preds = %532
  %540 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %541 = load i32, i32* %540, align 4, !tbaa !81
  %542 = icmp ugt i32 %541, 15
  br i1 %542, label %543, label %568

; <label>:543:                                    ; preds = %539
  %544 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %545 = load i8*, i8** %544, align 4, !tbaa !12
  %546 = add i32 %541, 1
  %547 = icmp ugt i32 %546, 4095
  br i1 %547, label %548, label %565

; <label>:548:                                    ; preds = %543
  %549 = add i32 %541, 36
  %550 = icmp ugt i32 %546, -36
  br i1 %550, label %564, label %551

; <label>:551:                                    ; preds = %548
  %552 = ptrtoint i8* %545 to i32
  %553 = and i32 %552, 31
  %554 = icmp eq i32 %553, 0
  br i1 %554, label %555, label %564

; <label>:555:                                    ; preds = %551
  %556 = add i32 %552, -4
  %557 = inttoptr i32 %556 to i32*
  %558 = load i32, i32* %557, align 4, !tbaa !24
  %559 = icmp ult i32 %558, %552
  br i1 %559, label %560, label %564

; <label>:560:                                    ; preds = %555
  %561 = sub i32 %556, %558
  %562 = icmp ugt i32 %561, 31
  %563 = inttoptr i32 %558 to i8*
  br i1 %562, label %564, label %565

; <label>:564:                                    ; preds = %560, %555, %551, %548
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:565:                                    ; preds = %560, %543
  %566 = phi i8* [ %563, %560 ], [ %545, %543 ]
  %567 = phi i32 [ %549, %560 ], [ %546, %543 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %566, i32 %567) #14
  br label %568

; <label>:568:                                    ; preds = %565, %539
  %569 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %504 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %569) #21
  %570 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %506, align 4, !tbaa !549
  br label %584

; <label>:571:                                    ; preds = %470
  %572 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %573 = icmp eq i32 %572, 0
  br i1 %573, label %574, label %654

; <label>:574:                                    ; preds = %571
  %575 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %575) #14
  %576 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %577 = icmp ult i32 %576, 17
  br i1 %577, label %581, label %578

; <label>:578:                                    ; preds = %574
  %579 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %579, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %580 = getelementptr inbounds i8, i8* %579, i32 17
  store i8 0, i8* %580, align 1, !tbaa !12
  br label %583

; <label>:581:                                    ; preds = %574
  %582 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %583

; <label>:583:                                    ; preds = %581, %578
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %575) #14
  br label %654

; <label>:584:                                    ; preds = %568, %537, %484, %473
  %585 = phi %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* [ %507, %537 ], [ %570, %568 ], [ %477, %473 ], [ %477, %484 ]
  %586 = phi i8 [ %533, %537 ], [ %533, %568 ], [ 0, %473 ], [ %501, %484 ]
  %587 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %585, i32 0, i32 0
  %588 = load i32, i32* %587, align 4, !tbaa !547
  %589 = icmp eq i32 %588, 1
  br i1 %589, label %592, label %590

; <label>:590:                                    ; preds = %584
  %591 = add i32 %588, -1
  store i32 %591, i32* %587, align 4, !tbaa !547
  br label %625

; <label>:592:                                    ; preds = %584
  %593 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %585, null
  br i1 %593, label %625, label %594

; <label>:594:                                    ; preds = %592
  %595 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %585, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %596 = load i32, i32* %595, align 4, !tbaa !81
  %597 = icmp ugt i32 %596, 15
  br i1 %597, label %598, label %623

; <label>:598:                                    ; preds = %594
  %599 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %585, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %600 = load i8*, i8** %599, align 4, !tbaa !12
  %601 = add i32 %596, 1
  %602 = icmp ugt i32 %601, 4095
  br i1 %602, label %603, label %620

; <label>:603:                                    ; preds = %598
  %604 = add i32 %596, 36
  %605 = icmp ugt i32 %601, -36
  br i1 %605, label %619, label %606

; <label>:606:                                    ; preds = %603
  %607 = ptrtoint i8* %600 to i32
  %608 = and i32 %607, 31
  %609 = icmp eq i32 %608, 0
  br i1 %609, label %610, label %619

; <label>:610:                                    ; preds = %606
  %611 = add i32 %607, -4
  %612 = inttoptr i32 %611 to i32*
  %613 = load i32, i32* %612, align 4, !tbaa !24
  %614 = icmp ult i32 %613, %607
  br i1 %614, label %615, label %619

; <label>:615:                                    ; preds = %610
  %616 = sub i32 %611, %613
  %617 = icmp ugt i32 %616, 31
  %618 = inttoptr i32 %613 to i8*
  br i1 %617, label %619, label %620

; <label>:619:                                    ; preds = %615, %610, %606, %603
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:620:                                    ; preds = %615, %598
  %621 = phi i8* [ %618, %615 ], [ %600, %598 ]
  %622 = phi i32 [ %604, %615 ], [ %601, %598 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %621, i32 %622) #14
  br label %623

; <label>:623:                                    ; preds = %620, %594
  %624 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %585 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %624) #21
  br label %625

; <label>:625:                                    ; preds = %623, %592, %590
  %626 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %627 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %628 = sub i32 %626, %627
  %629 = ashr exact i32 %628, 4
  %630 = add nsw i32 %629, -2
  %631 = inttoptr i32 %627 to %class.variant.43*
  %632 = getelementptr inbounds %class.variant.43, %class.variant.43* %631, i32 %630
  %633 = bitcast %class.variant.43* %632 to i8*
  store i8 %586, i8* %633, align 8, !tbaa !566
  %634 = getelementptr inbounds %class.variant.43, %class.variant.43* %631, i32 %630, i32 1
  store i32 0, i32* %634, align 8, !tbaa !535
  br label %648

; <label>:635:                                    ; preds = %47
  %636 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %637 = icmp eq i32 %636, 0
  br i1 %637, label %638, label %654

; <label>:638:                                    ; preds = %635
  %639 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %17, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %639) #14
  %640 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %641 = icmp ult i32 %640, 17
  br i1 %641, label %645, label %642

; <label>:642:                                    ; preds = %638
  %643 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %643, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %644 = getelementptr inbounds i8, i8* %643, i32 17
  store i8 0, i8* %644, align 1, !tbaa !12
  br label %647

; <label>:645:                                    ; preds = %638
  %646 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %17, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %647

; <label>:647:                                    ; preds = %645, %642
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %639) #14
  br label %654

; <label>:648:                                    ; preds = %625, %453, %422, %379, %368, %343, %318, %293, %268, %243, %219, %194, %169, %144, %119, %95, %71
  %649 = phi i32 [ %456, %453 ], [ %19, %422 ], [ %19, %379 ], [ %627, %625 ], [ %19, %368 ], [ %19, %343 ], [ %19, %318 ], [ %19, %293 ], [ %19, %268 ], [ %19, %243 ], [ %19, %219 ], [ %19, %194 ], [ %19, %169 ], [ %19, %144 ], [ %19, %119 ], [ %19, %95 ], [ %19, %71 ]
  %650 = phi i32 [ %455, %453 ], [ %18, %422 ], [ %18, %379 ], [ %626, %625 ], [ %18, %368 ], [ %18, %343 ], [ %18, %318 ], [ %18, %293 ], [ %18, %268 ], [ %18, %243 ], [ %18, %219 ], [ %18, %194 ], [ %18, %169 ], [ %18, %144 ], [ %18, %119 ], [ %18, %95 ], [ %18, %71 ]
  %651 = sub i32 %650, %649
  %652 = ashr exact i32 %651, 4
  %653 = add nsw i32 %652, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %653, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %654

; <label>:654:                                    ; preds = %648, %647, %635, %583, %571, %469, %457, %367, %355, %342, %330, %317, %305, %292, %280, %267, %255, %242, %230, %218, %206, %193, %181, %168, %156, %143, %131, %118, %106, %94, %82, %70, %58, %44, %30
  %655 = phi i1 [ false, %44 ], [ false, %30 ], [ true, %648 ], [ false, %70 ], [ false, %58 ], [ false, %94 ], [ false, %82 ], [ false, %118 ], [ false, %106 ], [ false, %143 ], [ false, %131 ], [ false, %168 ], [ false, %156 ], [ false, %193 ], [ false, %181 ], [ false, %218 ], [ false, %206 ], [ false, %242 ], [ false, %230 ], [ false, %267 ], [ false, %255 ], [ false, %292 ], [ false, %280 ], [ false, %317 ], [ false, %305 ], [ false, %342 ], [ false, %330 ], [ false, %367 ], [ false, %355 ], [ false, %469 ], [ false, %457 ], [ false, %583 ], [ false, %571 ], [ false, %647 ], [ false, %635 ]
  ret i1 %655
}

; Function Attrs: nounwind
define zeroext i1 @builtinExclamation() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %14 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %15 = sub i32 %13, %14
  %16 = ashr exact i32 %15, 4
  %17 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %18 = sub i32 %16, %17
  %19 = icmp ult i32 %18, 3
  %20 = inttoptr i32 %14 to %class.variant.43*
  br i1 %19, label %23, label %21

; <label>:21:                                     ; preds = %0
  %22 = add nsw i32 %16, -3
  br label %42

; <label>:23:                                     ; preds = %0
  %24 = icmp ult i32 %16, 3
  br i1 %24, label %25, label %40

; <label>:25:                                     ; preds = %23
  %26 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %363

; <label>:28:                                     ; preds = %25
  %29 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %29) #14
  %30 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %31 = icmp ult i32 %30, 15
  br i1 %31, label %37, label %32

; <label>:32:                                     ; preds = %28
  %33 = icmp eq i32 %30, 15
  %34 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %35 = select i1 %33, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %34
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %35, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %36 = getelementptr inbounds i8, i8* %35, i32 15
  store i8 0, i8* %36, align 1, !tbaa !12
  br label %39

; <label>:37:                                     ; preds = %28
  %38 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %39

; <label>:39:                                     ; preds = %37, %32
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %29) #14
  br label %363

; <label>:40:                                     ; preds = %23
  %41 = add nsw i32 %16, -3
  store i32 %41, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %42

; <label>:42:                                     ; preds = %40, %21
  %43 = phi i32 [ %22, %21 ], [ %41, %40 ]
  %44 = add nsw i32 %16, -1
  %45 = add nsw i32 %16, -2
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %43
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  %50 = icmp eq i32 %49, 17
  br i1 %50, label %66, label %51

; <label>:51:                                     ; preds = %42
  %52 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %53 = icmp eq i32 %52, 0
  br i1 %53, label %54, label %363

; <label>:54:                                     ; preds = %51
  %55 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %55) #14
  %56 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %57 = icmp ult i32 %56, 10
  br i1 %57, label %63, label %58

; <label>:58:                                     ; preds = %54
  %59 = icmp ugt i32 %56, 15
  %60 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %61 = select i1 %59, i8* %60, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %61, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %62 = getelementptr inbounds i8, i8* %61, i32 10
  store i8 0, i8* %62, align 1, !tbaa !12
  br label %65

; <label>:63:                                     ; preds = %54
  %64 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %65

; <label>:65:                                     ; preds = %63, %58
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %55) #14
  br label %363

; <label>:66:                                     ; preds = %42
  %67 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44
  %68 = bitcast %class.variant.43* %67 to %struct.Combined**
  %69 = load %struct.Combined*, %struct.Combined** %68, align 4, !tbaa !23
  %70 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %45, i32 1
  %71 = load i32, i32* %70, align 8, !tbaa !535
  switch i32 %71, label %333 [
    i32 1, label %72
    i32 2, label %102
    i32 3, label %132
    i32 4, label %161
    i32 6, label %193
    i32 7, label %221
    i32 8, label %249
    i32 9, label %276
    i32 10, label %306
  ]

; <label>:72:                                     ; preds = %66
  %73 = bitcast %class.variant.43* %46 to i8*
  %74 = load i8, i8* %73, align 1, !tbaa !12
  %75 = icmp slt i8 %74, 0
  br i1 %75, label %87, label %76

; <label>:76:                                     ; preds = %72
  %77 = zext i8 %74 to i32
  %78 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %79 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %80 = bitcast %struct.Field** %79 to i32*
  %81 = load i32, i32* %80, align 4, !tbaa !23
  %82 = bitcast %"class.std::vector.17"* %78 to i32*
  %83 = load i32, i32* %82, align 4, !tbaa !23
  %84 = sub i32 %81, %83
  %85 = sdiv exact i32 %84, 24
  %86 = icmp ugt i32 %85, %77
  br i1 %86, label %348, label %87

; <label>:87:                                     ; preds = %76, %72
  %88 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %89 = icmp eq i32 %88, 0
  br i1 %89, label %90, label %363

; <label>:90:                                     ; preds = %87
  %91 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %91) #14
  %92 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %93 = icmp ult i32 %92, 13
  br i1 %93, label %99, label %94

; <label>:94:                                     ; preds = %90
  %95 = icmp ugt i32 %92, 15
  %96 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %97 = select i1 %95, i8* %96, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %97, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %98 = getelementptr inbounds i8, i8* %97, i32 13
  store i8 0, i8* %98, align 1, !tbaa !12
  br label %101

; <label>:99:                                     ; preds = %90
  %100 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %101

; <label>:101:                                    ; preds = %99, %94
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %91) #14
  br label %363

; <label>:102:                                    ; preds = %66
  %103 = bitcast %class.variant.43* %46 to i16*
  %104 = load i16, i16* %103, align 2, !tbaa !59
  %105 = icmp slt i16 %104, 0
  br i1 %105, label %117, label %106

; <label>:106:                                    ; preds = %102
  %107 = zext i16 %104 to i32
  %108 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %109 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %110 = bitcast %struct.Field** %109 to i32*
  %111 = load i32, i32* %110, align 4, !tbaa !23
  %112 = bitcast %"class.std::vector.17"* %108 to i32*
  %113 = load i32, i32* %112, align 4, !tbaa !23
  %114 = sub i32 %111, %113
  %115 = sdiv exact i32 %114, 24
  %116 = icmp ugt i32 %115, %107
  br i1 %116, label %348, label %117

; <label>:117:                                    ; preds = %106, %102
  %118 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %119 = icmp eq i32 %118, 0
  br i1 %119, label %120, label %363

; <label>:120:                                    ; preds = %117
  %121 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %121) #14
  %122 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %123 = icmp ult i32 %122, 13
  br i1 %123, label %129, label %124

; <label>:124:                                    ; preds = %120
  %125 = icmp ugt i32 %122, 15
  %126 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %127 = select i1 %125, i8* %126, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %127, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %128 = getelementptr inbounds i8, i8* %127, i32 13
  store i8 0, i8* %128, align 1, !tbaa !12
  br label %131

; <label>:129:                                    ; preds = %120
  %130 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %131

; <label>:131:                                    ; preds = %129, %124
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %121) #14
  br label %363

; <label>:132:                                    ; preds = %66
  %133 = bitcast %class.variant.43* %46 to i32*
  %134 = load i32, i32* %133, align 4, !tbaa !24
  %135 = icmp slt i32 %134, 0
  br i1 %135, label %146, label %136

; <label>:136:                                    ; preds = %132
  %137 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %138 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %139 = bitcast %struct.Field** %138 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !23
  %141 = bitcast %"class.std::vector.17"* %137 to i32*
  %142 = load i32, i32* %141, align 4, !tbaa !23
  %143 = sub i32 %140, %142
  %144 = sdiv exact i32 %143, 24
  %145 = icmp ult i32 %134, %144
  br i1 %145, label %348, label %146

; <label>:146:                                    ; preds = %136, %132
  %147 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %148 = icmp eq i32 %147, 0
  br i1 %148, label %149, label %363

; <label>:149:                                    ; preds = %146
  %150 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %150) #14
  %151 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %152 = icmp ult i32 %151, 13
  br i1 %152, label %158, label %153

; <label>:153:                                    ; preds = %149
  %154 = icmp ugt i32 %151, 15
  %155 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %156 = select i1 %154, i8* %155, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %156, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %157 = getelementptr inbounds i8, i8* %156, i32 13
  store i8 0, i8* %157, align 1, !tbaa !12
  br label %160

; <label>:158:                                    ; preds = %149
  %159 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %160

; <label>:160:                                    ; preds = %158, %153
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %150) #14
  br label %363

; <label>:161:                                    ; preds = %66
  %162 = bitcast %class.variant.43* %46 to i64*
  %163 = load i64, i64* %162, align 8, !tbaa !61
  %164 = icmp slt i64 %163, 0
  br i1 %164, label %176, label %165

; <label>:165:                                    ; preds = %161
  %166 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %167 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %168 = bitcast %struct.Field** %167 to i32*
  %169 = load i32, i32* %168, align 4, !tbaa !23
  %170 = bitcast %"class.std::vector.17"* %166 to i32*
  %171 = load i32, i32* %170, align 4, !tbaa !23
  %172 = sub i32 %169, %171
  %173 = sdiv exact i32 %172, 24
  %174 = zext i32 %173 to i64
  %175 = icmp ult i64 %163, %174
  br i1 %175, label %191, label %176

; <label>:176:                                    ; preds = %165, %161
  %177 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %363

; <label>:179:                                    ; preds = %176
  %180 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %180) #14
  %181 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %182 = icmp ult i32 %181, 13
  br i1 %182, label %188, label %183

; <label>:183:                                    ; preds = %179
  %184 = icmp ugt i32 %181, 15
  %185 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %186 = select i1 %184, i8* %185, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %186, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %187 = getelementptr inbounds i8, i8* %186, i32 13
  store i8 0, i8* %187, align 1, !tbaa !12
  br label %190

; <label>:188:                                    ; preds = %179
  %189 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %190

; <label>:190:                                    ; preds = %188, %183
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %180) #14
  br label %363

; <label>:191:                                    ; preds = %165
  %192 = trunc i64 %163 to i32
  br label %348

; <label>:193:                                    ; preds = %66
  %194 = bitcast %class.variant.43* %46 to i8*
  %195 = load i8, i8* %194, align 1, !tbaa !12
  %196 = zext i8 %195 to i32
  %197 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %198 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %199 = bitcast %struct.Field** %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !23
  %201 = bitcast %"class.std::vector.17"* %197 to i32*
  %202 = load i32, i32* %201, align 4, !tbaa !23
  %203 = sub i32 %200, %202
  %204 = sdiv exact i32 %203, 24
  %205 = icmp ugt i32 %204, %196
  br i1 %205, label %348, label %206

; <label>:206:                                    ; preds = %193
  %207 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %208 = icmp eq i32 %207, 0
  br i1 %208, label %209, label %363

; <label>:209:                                    ; preds = %206
  %210 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %210) #14
  %211 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %212 = icmp ult i32 %211, 13
  br i1 %212, label %218, label %213

; <label>:213:                                    ; preds = %209
  %214 = icmp ugt i32 %211, 15
  %215 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %216 = select i1 %214, i8* %215, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %216, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %217 = getelementptr inbounds i8, i8* %216, i32 13
  store i8 0, i8* %217, align 1, !tbaa !12
  br label %220

; <label>:218:                                    ; preds = %209
  %219 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %220

; <label>:220:                                    ; preds = %218, %213
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %210) #14
  br label %363

; <label>:221:                                    ; preds = %66
  %222 = bitcast %class.variant.43* %46 to i16*
  %223 = load i16, i16* %222, align 2, !tbaa !59
  %224 = zext i16 %223 to i32
  %225 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %226 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %227 = bitcast %struct.Field** %226 to i32*
  %228 = load i32, i32* %227, align 4, !tbaa !23
  %229 = bitcast %"class.std::vector.17"* %225 to i32*
  %230 = load i32, i32* %229, align 4, !tbaa !23
  %231 = sub i32 %228, %230
  %232 = sdiv exact i32 %231, 24
  %233 = icmp ugt i32 %232, %224
  br i1 %233, label %348, label %234

; <label>:234:                                    ; preds = %221
  %235 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %236 = icmp eq i32 %235, 0
  br i1 %236, label %237, label %363

; <label>:237:                                    ; preds = %234
  %238 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %238) #14
  %239 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %240 = icmp ult i32 %239, 13
  br i1 %240, label %246, label %241

; <label>:241:                                    ; preds = %237
  %242 = icmp ugt i32 %239, 15
  %243 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %244 = select i1 %242, i8* %243, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %244, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %245 = getelementptr inbounds i8, i8* %244, i32 13
  store i8 0, i8* %245, align 1, !tbaa !12
  br label %248

; <label>:246:                                    ; preds = %237
  %247 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %248

; <label>:248:                                    ; preds = %246, %241
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %238) #14
  br label %363

; <label>:249:                                    ; preds = %66
  %250 = bitcast %class.variant.43* %46 to i32*
  %251 = load i32, i32* %250, align 4, !tbaa !24
  %252 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %253 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %254 = bitcast %struct.Field** %253 to i32*
  %255 = load i32, i32* %254, align 4, !tbaa !23
  %256 = bitcast %"class.std::vector.17"* %252 to i32*
  %257 = load i32, i32* %256, align 4, !tbaa !23
  %258 = sub i32 %255, %257
  %259 = sdiv exact i32 %258, 24
  %260 = icmp ult i32 %251, %259
  br i1 %260, label %348, label %261

; <label>:261:                                    ; preds = %249
  %262 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %263 = icmp eq i32 %262, 0
  br i1 %263, label %264, label %363

; <label>:264:                                    ; preds = %261
  %265 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %265) #14
  %266 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %267 = icmp ult i32 %266, 13
  br i1 %267, label %273, label %268

; <label>:268:                                    ; preds = %264
  %269 = icmp ugt i32 %266, 15
  %270 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %271 = select i1 %269, i8* %270, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %271, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %272 = getelementptr inbounds i8, i8* %271, i32 13
  store i8 0, i8* %272, align 1, !tbaa !12
  br label %275

; <label>:273:                                    ; preds = %264
  %274 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %275

; <label>:275:                                    ; preds = %273, %268
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %265) #14
  br label %363

; <label>:276:                                    ; preds = %66
  %277 = bitcast %class.variant.43* %46 to i64*
  %278 = load i64, i64* %277, align 8, !tbaa !61
  %279 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %280 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %281 = bitcast %struct.Field** %280 to i32*
  %282 = load i32, i32* %281, align 4, !tbaa !23
  %283 = bitcast %"class.std::vector.17"* %279 to i32*
  %284 = load i32, i32* %283, align 4, !tbaa !23
  %285 = sub i32 %282, %284
  %286 = sdiv exact i32 %285, 24
  %287 = zext i32 %286 to i64
  %288 = icmp ult i64 %278, %287
  br i1 %288, label %304, label %289

; <label>:289:                                    ; preds = %276
  %290 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %291 = icmp eq i32 %290, 0
  br i1 %291, label %292, label %363

; <label>:292:                                    ; preds = %289
  %293 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %293) #14
  %294 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %295 = icmp ult i32 %294, 13
  br i1 %295, label %301, label %296

; <label>:296:                                    ; preds = %292
  %297 = icmp ugt i32 %294, 15
  %298 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %299 = select i1 %297, i8* %298, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %299, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %300 = getelementptr inbounds i8, i8* %299, i32 13
  store i8 0, i8* %300, align 1, !tbaa !12
  br label %303

; <label>:301:                                    ; preds = %292
  %302 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %303

; <label>:303:                                    ; preds = %301, %296
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %293) #14
  br label %363

; <label>:304:                                    ; preds = %276
  %305 = trunc i64 %278 to i32
  br label %348

; <label>:306:                                    ; preds = %66
  %307 = bitcast %class.variant.43* %46 to i32*
  %308 = load i32, i32* %307, align 4, !tbaa !540
  %309 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4
  %310 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %311 = bitcast %struct.Field** %310 to i32*
  %312 = load i32, i32* %311, align 4, !tbaa !23
  %313 = bitcast %"class.std::vector.17"* %309 to i32*
  %314 = load i32, i32* %313, align 4, !tbaa !23
  %315 = sub i32 %312, %314
  %316 = sdiv exact i32 %315, 24
  %317 = icmp ult i32 %308, %316
  br i1 %317, label %348, label %318

; <label>:318:                                    ; preds = %306
  %319 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %320 = icmp eq i32 %319, 0
  br i1 %320, label %321, label %363

; <label>:321:                                    ; preds = %318
  %322 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %322) #14
  %323 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %324 = icmp ult i32 %323, 13
  br i1 %324, label %330, label %325

; <label>:325:                                    ; preds = %321
  %326 = icmp ugt i32 %323, 15
  %327 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %328 = select i1 %326, i8* %327, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %328, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %329 = getelementptr inbounds i8, i8* %328, i32 13
  store i8 0, i8* %329, align 1, !tbaa !12
  br label %332

; <label>:330:                                    ; preds = %321
  %331 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %332

; <label>:332:                                    ; preds = %330, %325
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %322) #14
  br label %363

; <label>:333:                                    ; preds = %66
  %334 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %335 = icmp eq i32 %334, 0
  br i1 %335, label %336, label %363

; <label>:336:                                    ; preds = %333
  %337 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %337) #14
  %338 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %339 = icmp ult i32 %338, 13
  br i1 %339, label %345, label %340

; <label>:340:                                    ; preds = %336
  %341 = icmp ugt i32 %338, 15
  %342 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %343 = select i1 %341, i8* %342, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %343, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %344 = getelementptr inbounds i8, i8* %343, i32 13
  store i8 0, i8* %344, align 1, !tbaa !12
  br label %347

; <label>:345:                                    ; preds = %336
  %346 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %347

; <label>:347:                                    ; preds = %345, %340
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %337) #14
  br label %363

; <label>:348:                                    ; preds = %306, %304, %249, %221, %193, %191, %136, %106, %76
  %349 = phi i32 [ %284, %304 ], [ %171, %191 ], [ %142, %136 ], [ %202, %193 ], [ %230, %221 ], [ %257, %249 ], [ %314, %306 ], [ %83, %76 ], [ %113, %106 ]
  %350 = phi i32 [ %305, %304 ], [ %192, %191 ], [ %134, %136 ], [ %196, %193 ], [ %224, %221 ], [ %251, %249 ], [ %308, %306 ], [ %77, %76 ], [ %107, %106 ]
  %351 = inttoptr i32 %349 to %struct.Field*
  %352 = getelementptr inbounds %struct.Combined, %struct.Combined* %69, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %353 = getelementptr inbounds %struct.Field, %struct.Field* %351, i32 %350, i32 1
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %353) #14
  %354 = load %struct.Field*, %struct.Field** %352, align 4, !tbaa !23
  %355 = getelementptr inbounds %struct.Field, %struct.Field* %354, i32 %350, i32 1
  %356 = bitcast %class.variant.43* %355 to i8*
  %357 = bitcast %class.variant.43* %47 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %356, i8* %357, i32 16, i32 8, i1 false), !tbaa.struct !567
  %358 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %359 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %360 = sub i32 %358, %359
  %361 = ashr exact i32 %360, 4
  %362 = add nsw i32 %361, -3
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %362, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %69) #14
  br label %363

; <label>:363:                                    ; preds = %348, %347, %333, %332, %318, %303, %289, %275, %261, %248, %234, %220, %206, %190, %176, %160, %146, %131, %117, %101, %87, %65, %51, %39, %25
  %364 = phi i1 [ false, %39 ], [ false, %25 ], [ false, %65 ], [ false, %51 ], [ true, %348 ], [ false, %160 ], [ false, %220 ], [ false, %248 ], [ false, %275 ], [ false, %332 ], [ false, %347 ], [ false, %333 ], [ false, %146 ], [ false, %206 ], [ false, %234 ], [ false, %261 ], [ false, %318 ], [ false, %101 ], [ false, %87 ], [ false, %131 ], [ false, %117 ], [ false, %190 ], [ false, %176 ], [ false, %303 ], [ false, %289 ]
  ret i1 %364
}

; Function Attrs: nounwind
define zeroext i1 @builtinExp() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @exp(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @exp(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @exp(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinFALSE() #2 {
  %1 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %2 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %3 = sub i32 %1, %2
  %4 = ashr exact i32 %3, 4
  %5 = add nsw i32 %4, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %5, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  %10 = add nsw i32 %9, -1
  %11 = inttoptr i32 %7 to %class.variant.43*
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10
  %13 = bitcast %class.variant.43* %12 to i8*
  store i8 0, i8* %13, align 8, !tbaa !566
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10, i32 1
  store i32 0, i32* %14, align 8, !tbaa !535
  ret i1 true
}

; Function Attrs: nounwind
define zeroext i1 @builtinFieldCount() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %64

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %64

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  %36 = icmp eq i32 %35, 17
  br i1 %36, label %52, label %37

; <label>:37:                                     ; preds = %31
  %38 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %64

; <label>:40:                                     ; preds = %37
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %43 = icmp ult i32 %42, 10
  br i1 %43, label %49, label %44

; <label>:44:                                     ; preds = %40
  %45 = icmp ugt i32 %42, 15
  %46 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %47 = select i1 %45, i8* %46, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %48 = getelementptr inbounds i8, i8* %47, i32 10
  store i8 0, i8* %48, align 1, !tbaa !12
  br label %51

; <label>:49:                                     ; preds = %40
  %50 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %51

; <label>:51:                                     ; preds = %49, %44
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  br label %64

; <label>:52:                                     ; preds = %31
  %53 = bitcast %class.variant.43* %33 to %struct.Combined**
  %54 = load %struct.Combined*, %struct.Combined** %53, align 4, !tbaa !23
  %55 = getelementptr inbounds %struct.Combined, %struct.Combined* %54, i32 0, i32 4
  %56 = getelementptr inbounds %struct.Combined, %struct.Combined* %54, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %57 = bitcast %struct.Field** %56 to i32*
  %58 = load i32, i32* %57, align 4, !tbaa !23
  %59 = bitcast %"class.std::vector.17"* %55 to i32*
  %60 = load i32, i32* %59, align 4, !tbaa !23
  %61 = sub i32 %58, %60
  %62 = sdiv exact i32 %61, 24
  %63 = bitcast %class.variant.43* %33 to i32*
  store i32 %62, i32* %63, align 8, !tbaa !24
  store i32 3, i32* %34, align 8, !tbaa !535
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %54) #14
  br label %64

; <label>:64:                                     ; preds = %52, %51, %37, %28, %14
  %65 = phi i1 [ false, %28 ], [ false, %14 ], [ true, %52 ], [ false, %51 ], [ false, %37 ]
  ret i1 %65
}

; Function Attrs: nounwind
define zeroext i1 @builtinFieldName() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %14 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %15 = sub i32 %13, %14
  %16 = ashr exact i32 %15, 4
  %17 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %18 = sub i32 %16, %17
  %19 = icmp ult i32 %18, 2
  %20 = inttoptr i32 %14 to %class.variant.43*
  br i1 %19, label %23, label %21

; <label>:21:                                     ; preds = %0
  %22 = add nsw i32 %16, -2
  br label %42

; <label>:23:                                     ; preds = %0
  %24 = icmp ult i32 %16, 2
  br i1 %24, label %25, label %40

; <label>:25:                                     ; preds = %23
  %26 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %367

; <label>:28:                                     ; preds = %25
  %29 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %29) #14
  %30 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %31 = icmp ult i32 %30, 15
  br i1 %31, label %37, label %32

; <label>:32:                                     ; preds = %28
  %33 = icmp eq i32 %30, 15
  %34 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %35 = select i1 %33, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %34
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %35, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %36 = getelementptr inbounds i8, i8* %35, i32 15
  store i8 0, i8* %36, align 1, !tbaa !12
  br label %39

; <label>:37:                                     ; preds = %28
  %38 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %39

; <label>:39:                                     ; preds = %37, %32
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %29) #14
  br label %367

; <label>:40:                                     ; preds = %23
  %41 = add nsw i32 %16, -2
  store i32 %41, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %42

; <label>:42:                                     ; preds = %40, %21
  %43 = phi i32 [ %22, %21 ], [ %41, %40 ]
  %44 = add nsw i32 %16, -1
  %45 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %43, i32 1
  %47 = load i32, i32* %46, align 8, !tbaa !535
  %48 = icmp eq i32 %47, 17
  br i1 %48, label %64, label %49

; <label>:49:                                     ; preds = %42
  %50 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %51 = icmp eq i32 %50, 0
  br i1 %51, label %52, label %367

; <label>:52:                                     ; preds = %49
  %53 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %53) #14
  %54 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %55 = icmp ult i32 %54, 10
  br i1 %55, label %61, label %56

; <label>:56:                                     ; preds = %52
  %57 = icmp ugt i32 %54, 15
  %58 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %59 = select i1 %57, i8* %58, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %60 = getelementptr inbounds i8, i8* %59, i32 10
  store i8 0, i8* %60, align 1, !tbaa !12
  br label %63

; <label>:61:                                     ; preds = %52
  %62 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %63

; <label>:63:                                     ; preds = %61, %56
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %53) #14
  br label %367

; <label>:64:                                     ; preds = %42
  %65 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %43
  %66 = bitcast %class.variant.43* %65 to %struct.Combined**
  %67 = load %struct.Combined*, %struct.Combined** %66, align 4, !tbaa !23
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %20, i32 %44, i32 1
  %69 = load i32, i32* %68, align 8, !tbaa !535
  switch i32 %69, label %331 [
    i32 1, label %70
    i32 2, label %100
    i32 3, label %130
    i32 4, label %159
    i32 6, label %191
    i32 7, label %219
    i32 8, label %247
    i32 9, label %274
    i32 10, label %304
  ]

; <label>:70:                                     ; preds = %64
  %71 = bitcast %class.variant.43* %45 to i8*
  %72 = load i8, i8* %71, align 1, !tbaa !12
  %73 = icmp slt i8 %72, 0
  br i1 %73, label %85, label %74

; <label>:74:                                     ; preds = %70
  %75 = zext i8 %72 to i32
  %76 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %77 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %78 = bitcast %struct.Field** %77 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !23
  %80 = bitcast %"class.std::vector.17"* %76 to i32*
  %81 = load i32, i32* %80, align 4, !tbaa !23
  %82 = sub i32 %79, %81
  %83 = sdiv exact i32 %82, 24
  %84 = icmp ugt i32 %83, %75
  br i1 %84, label %346, label %85

; <label>:85:                                     ; preds = %74, %70
  %86 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %87 = icmp eq i32 %86, 0
  br i1 %87, label %88, label %367

; <label>:88:                                     ; preds = %85
  %89 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %89) #14
  %90 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %91 = icmp ult i32 %90, 13
  br i1 %91, label %97, label %92

; <label>:92:                                     ; preds = %88
  %93 = icmp ugt i32 %90, 15
  %94 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %95 = select i1 %93, i8* %94, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %95, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %96 = getelementptr inbounds i8, i8* %95, i32 13
  store i8 0, i8* %96, align 1, !tbaa !12
  br label %99

; <label>:97:                                     ; preds = %88
  %98 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %99

; <label>:99:                                     ; preds = %97, %92
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %89) #14
  br label %367

; <label>:100:                                    ; preds = %64
  %101 = bitcast %class.variant.43* %45 to i16*
  %102 = load i16, i16* %101, align 2, !tbaa !59
  %103 = icmp slt i16 %102, 0
  br i1 %103, label %115, label %104

; <label>:104:                                    ; preds = %100
  %105 = zext i16 %102 to i32
  %106 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %107 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %108 = bitcast %struct.Field** %107 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !23
  %110 = bitcast %"class.std::vector.17"* %106 to i32*
  %111 = load i32, i32* %110, align 4, !tbaa !23
  %112 = sub i32 %109, %111
  %113 = sdiv exact i32 %112, 24
  %114 = icmp ugt i32 %113, %105
  br i1 %114, label %346, label %115

; <label>:115:                                    ; preds = %104, %100
  %116 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %117 = icmp eq i32 %116, 0
  br i1 %117, label %118, label %367

; <label>:118:                                    ; preds = %115
  %119 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %119) #14
  %120 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %121 = icmp ult i32 %120, 13
  br i1 %121, label %127, label %122

; <label>:122:                                    ; preds = %118
  %123 = icmp ugt i32 %120, 15
  %124 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %125 = select i1 %123, i8* %124, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %126 = getelementptr inbounds i8, i8* %125, i32 13
  store i8 0, i8* %126, align 1, !tbaa !12
  br label %129

; <label>:127:                                    ; preds = %118
  %128 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %129

; <label>:129:                                    ; preds = %127, %122
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %119) #14
  br label %367

; <label>:130:                                    ; preds = %64
  %131 = bitcast %class.variant.43* %45 to i32*
  %132 = load i32, i32* %131, align 4, !tbaa !24
  %133 = icmp slt i32 %132, 0
  br i1 %133, label %144, label %134

; <label>:134:                                    ; preds = %130
  %135 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %136 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %137 = bitcast %struct.Field** %136 to i32*
  %138 = load i32, i32* %137, align 4, !tbaa !23
  %139 = bitcast %"class.std::vector.17"* %135 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !23
  %141 = sub i32 %138, %140
  %142 = sdiv exact i32 %141, 24
  %143 = icmp ult i32 %132, %142
  br i1 %143, label %346, label %144

; <label>:144:                                    ; preds = %134, %130
  %145 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %146 = icmp eq i32 %145, 0
  br i1 %146, label %147, label %367

; <label>:147:                                    ; preds = %144
  %148 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %148) #14
  %149 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %150 = icmp ult i32 %149, 13
  br i1 %150, label %156, label %151

; <label>:151:                                    ; preds = %147
  %152 = icmp ugt i32 %149, 15
  %153 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %154 = select i1 %152, i8* %153, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %154, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %155 = getelementptr inbounds i8, i8* %154, i32 13
  store i8 0, i8* %155, align 1, !tbaa !12
  br label %158

; <label>:156:                                    ; preds = %147
  %157 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %158

; <label>:158:                                    ; preds = %156, %151
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %148) #14
  br label %367

; <label>:159:                                    ; preds = %64
  %160 = bitcast %class.variant.43* %45 to i64*
  %161 = load i64, i64* %160, align 8, !tbaa !61
  %162 = icmp slt i64 %161, 0
  br i1 %162, label %174, label %163

; <label>:163:                                    ; preds = %159
  %164 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %165 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %166 = bitcast %struct.Field** %165 to i32*
  %167 = load i32, i32* %166, align 4, !tbaa !23
  %168 = bitcast %"class.std::vector.17"* %164 to i32*
  %169 = load i32, i32* %168, align 4, !tbaa !23
  %170 = sub i32 %167, %169
  %171 = sdiv exact i32 %170, 24
  %172 = zext i32 %171 to i64
  %173 = icmp ult i64 %161, %172
  br i1 %173, label %189, label %174

; <label>:174:                                    ; preds = %163, %159
  %175 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %176 = icmp eq i32 %175, 0
  br i1 %176, label %177, label %367

; <label>:177:                                    ; preds = %174
  %178 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %178) #14
  %179 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %180 = icmp ult i32 %179, 13
  br i1 %180, label %186, label %181

; <label>:181:                                    ; preds = %177
  %182 = icmp ugt i32 %179, 15
  %183 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %184 = select i1 %182, i8* %183, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %184, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %185 = getelementptr inbounds i8, i8* %184, i32 13
  store i8 0, i8* %185, align 1, !tbaa !12
  br label %188

; <label>:186:                                    ; preds = %177
  %187 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %188

; <label>:188:                                    ; preds = %186, %181
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %178) #14
  br label %367

; <label>:189:                                    ; preds = %163
  %190 = trunc i64 %161 to i32
  br label %346

; <label>:191:                                    ; preds = %64
  %192 = bitcast %class.variant.43* %45 to i8*
  %193 = load i8, i8* %192, align 1, !tbaa !12
  %194 = zext i8 %193 to i32
  %195 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %196 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %197 = bitcast %struct.Field** %196 to i32*
  %198 = load i32, i32* %197, align 4, !tbaa !23
  %199 = bitcast %"class.std::vector.17"* %195 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !23
  %201 = sub i32 %198, %200
  %202 = sdiv exact i32 %201, 24
  %203 = icmp ugt i32 %202, %194
  br i1 %203, label %346, label %204

; <label>:204:                                    ; preds = %191
  %205 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %206 = icmp eq i32 %205, 0
  br i1 %206, label %207, label %367

; <label>:207:                                    ; preds = %204
  %208 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %208) #14
  %209 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %210 = icmp ult i32 %209, 13
  br i1 %210, label %216, label %211

; <label>:211:                                    ; preds = %207
  %212 = icmp ugt i32 %209, 15
  %213 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %214 = select i1 %212, i8* %213, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %214, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %215 = getelementptr inbounds i8, i8* %214, i32 13
  store i8 0, i8* %215, align 1, !tbaa !12
  br label %218

; <label>:216:                                    ; preds = %207
  %217 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %218

; <label>:218:                                    ; preds = %216, %211
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %208) #14
  br label %367

; <label>:219:                                    ; preds = %64
  %220 = bitcast %class.variant.43* %45 to i16*
  %221 = load i16, i16* %220, align 2, !tbaa !59
  %222 = zext i16 %221 to i32
  %223 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %224 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %225 = bitcast %struct.Field** %224 to i32*
  %226 = load i32, i32* %225, align 4, !tbaa !23
  %227 = bitcast %"class.std::vector.17"* %223 to i32*
  %228 = load i32, i32* %227, align 4, !tbaa !23
  %229 = sub i32 %226, %228
  %230 = sdiv exact i32 %229, 24
  %231 = icmp ugt i32 %230, %222
  br i1 %231, label %346, label %232

; <label>:232:                                    ; preds = %219
  %233 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %367

; <label>:235:                                    ; preds = %232
  %236 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %236) #14
  %237 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %238 = icmp ult i32 %237, 13
  br i1 %238, label %244, label %239

; <label>:239:                                    ; preds = %235
  %240 = icmp ugt i32 %237, 15
  %241 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %242 = select i1 %240, i8* %241, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %242, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %243 = getelementptr inbounds i8, i8* %242, i32 13
  store i8 0, i8* %243, align 1, !tbaa !12
  br label %246

; <label>:244:                                    ; preds = %235
  %245 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %246

; <label>:246:                                    ; preds = %244, %239
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %236) #14
  br label %367

; <label>:247:                                    ; preds = %64
  %248 = bitcast %class.variant.43* %45 to i32*
  %249 = load i32, i32* %248, align 4, !tbaa !24
  %250 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %251 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %252 = bitcast %struct.Field** %251 to i32*
  %253 = load i32, i32* %252, align 4, !tbaa !23
  %254 = bitcast %"class.std::vector.17"* %250 to i32*
  %255 = load i32, i32* %254, align 4, !tbaa !23
  %256 = sub i32 %253, %255
  %257 = sdiv exact i32 %256, 24
  %258 = icmp ult i32 %249, %257
  br i1 %258, label %346, label %259

; <label>:259:                                    ; preds = %247
  %260 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %261 = icmp eq i32 %260, 0
  br i1 %261, label %262, label %367

; <label>:262:                                    ; preds = %259
  %263 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %263) #14
  %264 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %265 = icmp ult i32 %264, 13
  br i1 %265, label %271, label %266

; <label>:266:                                    ; preds = %262
  %267 = icmp ugt i32 %264, 15
  %268 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %269 = select i1 %267, i8* %268, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %269, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %270 = getelementptr inbounds i8, i8* %269, i32 13
  store i8 0, i8* %270, align 1, !tbaa !12
  br label %273

; <label>:271:                                    ; preds = %262
  %272 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %273

; <label>:273:                                    ; preds = %271, %266
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %263) #14
  br label %367

; <label>:274:                                    ; preds = %64
  %275 = bitcast %class.variant.43* %45 to i64*
  %276 = load i64, i64* %275, align 8, !tbaa !61
  %277 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %278 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %279 = bitcast %struct.Field** %278 to i32*
  %280 = load i32, i32* %279, align 4, !tbaa !23
  %281 = bitcast %"class.std::vector.17"* %277 to i32*
  %282 = load i32, i32* %281, align 4, !tbaa !23
  %283 = sub i32 %280, %282
  %284 = sdiv exact i32 %283, 24
  %285 = zext i32 %284 to i64
  %286 = icmp ult i64 %276, %285
  br i1 %286, label %302, label %287

; <label>:287:                                    ; preds = %274
  %288 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %289 = icmp eq i32 %288, 0
  br i1 %289, label %290, label %367

; <label>:290:                                    ; preds = %287
  %291 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %291) #14
  %292 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %293 = icmp ult i32 %292, 13
  br i1 %293, label %299, label %294

; <label>:294:                                    ; preds = %290
  %295 = icmp ugt i32 %292, 15
  %296 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %297 = select i1 %295, i8* %296, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %297, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %298 = getelementptr inbounds i8, i8* %297, i32 13
  store i8 0, i8* %298, align 1, !tbaa !12
  br label %301

; <label>:299:                                    ; preds = %290
  %300 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %301

; <label>:301:                                    ; preds = %299, %294
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %291) #14
  br label %367

; <label>:302:                                    ; preds = %274
  %303 = trunc i64 %276 to i32
  br label %346

; <label>:304:                                    ; preds = %64
  %305 = bitcast %class.variant.43* %45 to i32*
  %306 = load i32, i32* %305, align 4, !tbaa !540
  %307 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4
  %308 = getelementptr inbounds %struct.Combined, %struct.Combined* %67, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %309 = bitcast %struct.Field** %308 to i32*
  %310 = load i32, i32* %309, align 4, !tbaa !23
  %311 = bitcast %"class.std::vector.17"* %307 to i32*
  %312 = load i32, i32* %311, align 4, !tbaa !23
  %313 = sub i32 %310, %312
  %314 = sdiv exact i32 %313, 24
  %315 = icmp ult i32 %306, %314
  br i1 %315, label %346, label %316

; <label>:316:                                    ; preds = %304
  %317 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %318 = icmp eq i32 %317, 0
  br i1 %318, label %319, label %367

; <label>:319:                                    ; preds = %316
  %320 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %320) #14
  %321 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %322 = icmp ult i32 %321, 13
  br i1 %322, label %328, label %323

; <label>:323:                                    ; preds = %319
  %324 = icmp ugt i32 %321, 15
  %325 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %326 = select i1 %324, i8* %325, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %326, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %327 = getelementptr inbounds i8, i8* %326, i32 13
  store i8 0, i8* %327, align 1, !tbaa !12
  br label %330

; <label>:328:                                    ; preds = %319
  %329 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %330

; <label>:330:                                    ; preds = %328, %323
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %320) #14
  br label %367

; <label>:331:                                    ; preds = %64
  %332 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %333 = icmp eq i32 %332, 0
  br i1 %333, label %334, label %367

; <label>:334:                                    ; preds = %331
  %335 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %335) #14
  %336 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %337 = icmp ult i32 %336, 13
  br i1 %337, label %343, label %338

; <label>:338:                                    ; preds = %334
  %339 = icmp ugt i32 %336, 15
  %340 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %341 = select i1 %339, i8* %340, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %341, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %342 = getelementptr inbounds i8, i8* %341, i32 13
  store i8 0, i8* %342, align 1, !tbaa !12
  br label %345

; <label>:343:                                    ; preds = %334
  %344 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %345

; <label>:345:                                    ; preds = %343, %338
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %335) #14
  br label %367

; <label>:346:                                    ; preds = %304, %302, %247, %219, %191, %189, %134, %104, %74
  %347 = phi i32 [ %282, %302 ], [ %169, %189 ], [ %140, %134 ], [ %200, %191 ], [ %228, %219 ], [ %255, %247 ], [ %312, %304 ], [ %81, %74 ], [ %111, %104 ]
  %348 = phi i32 [ %303, %302 ], [ %190, %189 ], [ %132, %134 ], [ %194, %191 ], [ %222, %219 ], [ %249, %247 ], [ %306, %304 ], [ %75, %74 ], [ %105, %104 ]
  %349 = inttoptr i32 %347 to %struct.Field*
  %350 = getelementptr inbounds %struct.Field, %struct.Field* %349, i32 %348, i32 0
  %351 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %350, align 8, !tbaa !561
  %352 = tail call i64 @"\01?generatedText@@YA?AUSourceText@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %351) #14
  %353 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %354 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %355 = sub i32 %353, %354
  %356 = ashr exact i32 %355, 4
  %357 = add nsw i32 %356, -2
  %358 = inttoptr i32 %354 to %class.variant.43*
  %359 = getelementptr inbounds %class.variant.43, %class.variant.43* %358, i32 %357
  %360 = bitcast %class.variant.43* %359 to i64*
  store i64 %352, i64* %360, align 4
  %361 = getelementptr inbounds %class.variant.43, %class.variant.43* %358, i32 %357, i32 1
  store i32 13, i32* %361, align 8, !tbaa !535
  %362 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %363 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %364 = sub i32 %362, %363
  %365 = ashr exact i32 %364, 4
  %366 = add nsw i32 %365, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %366, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %67) #14
  br label %367

; <label>:367:                                    ; preds = %346, %345, %331, %330, %316, %301, %287, %273, %259, %246, %232, %218, %204, %188, %174, %158, %144, %129, %115, %99, %85, %63, %49, %39, %25
  %368 = phi i1 [ false, %39 ], [ false, %25 ], [ false, %63 ], [ false, %49 ], [ true, %346 ], [ false, %158 ], [ false, %218 ], [ false, %246 ], [ false, %273 ], [ false, %330 ], [ false, %345 ], [ false, %331 ], [ false, %144 ], [ false, %204 ], [ false, %232 ], [ false, %259 ], [ false, %316 ], [ false, %99 ], [ false, %85 ], [ false, %129 ], [ false, %115 ], [ false, %188 ], [ false, %174 ], [ false, %301 ], [ false, %287 ]
  ret i1 %368
}

; Function Attrs: nounwind
define zeroext i1 @builtinFloor() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %57

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %57

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %44 [
    i32 11, label %36
    i32 12, label %40
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = tail call float @llvm.floor.f32(float %38) #14
  store float %39, float* %37, align 4, !tbaa !70
  br label %57

; <label>:40:                                     ; preds = %31
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %42 = load double, double* %41, align 8, !tbaa !72
  %43 = tail call double @llvm.floor.f64(double %42)
  store double %43, double* %41, align 8, !tbaa !72
  br label %57

; <label>:44:                                     ; preds = %31
  %45 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %46 = icmp eq i32 %45, 0
  br i1 %46, label %47, label %57

; <label>:47:                                     ; preds = %44
  %48 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %48) #14
  %49 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %50 = icmp ult i32 %49, 16
  br i1 %50, label %54, label %51

; <label>:51:                                     ; preds = %47
  %52 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %52, i32 16
  store i8 0, i8* %53, align 1, !tbaa !12
  br label %56

; <label>:54:                                     ; preds = %47
  %55 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %56

; <label>:56:                                     ; preds = %54, %51
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %48) #14
  br label %57

; <label>:57:                                     ; preds = %56, %44, %40, %36, %28, %14
  %58 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %56 ], [ false, %44 ], [ true, %40 ], [ true, %36 ]
  ret i1 %58
}

; Function Attrs: nounwind readnone speculatable
declare float @llvm.floor.f32(float) #17

; Function Attrs: nounwind readnone speculatable
declare double @llvm.floor.f64(double) #17

; Function Attrs: nounwind
define zeroext i1 @builtinFreeMemory() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %58

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %58

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %34 = load i32, i32* %33, align 8, !tbaa !535
  %35 = icmp eq i32 %34, 10
  br i1 %35, label %49, label %36

; <label>:36:                                     ; preds = %31
  %37 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %38 = icmp eq i32 %37, 0
  br i1 %38, label %39, label %58

; <label>:39:                                     ; preds = %36
  %40 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %40) #14
  %41 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %42 = icmp ult i32 %41, 16
  br i1 %42, label %46, label %43

; <label>:43:                                     ; preds = %39
  %44 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %45 = getelementptr inbounds i8, i8* %44, i32 16
  store i8 0, i8* %45, align 1, !tbaa !12
  br label %48

; <label>:46:                                     ; preds = %39
  %47 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %48

; <label>:48:                                     ; preds = %46, %43
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %40) #14
  br label %58

; <label>:49:                                     ; preds = %31
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %51 = bitcast %class.variant.43* %50 to i8**
  %52 = load i8*, i8** %51, align 4, !tbaa !540
  tail call void @free(i8* %52)
  %53 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %54 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %55 = sub i32 %53, %54
  %56 = ashr exact i32 %55, 4
  %57 = add nsw i32 %56, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %57, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %58

; <label>:58:                                     ; preds = %49, %48, %36, %28, %14
  %59 = phi i1 [ false, %28 ], [ false, %14 ], [ true, %49 ], [ false, %48 ], [ false, %36 ]
  ret i1 %59
}

; Function Attrs: nounwind
declare void @free(i8* nocapture) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinGreater() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %18 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %19 = sub i32 %17, %18
  %20 = ashr exact i32 %19, 4
  %21 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %22 = sub i32 %20, %21
  %23 = icmp ult i32 %22, 2
  %24 = inttoptr i32 %18 to %class.variant.43*
  br i1 %23, label %27, label %25

; <label>:25:                                     ; preds = %0
  %26 = add nsw i32 %20, -2
  br label %46

; <label>:27:                                     ; preds = %0
  %28 = icmp ult i32 %20, 2
  br i1 %28, label %29, label %44

; <label>:29:                                     ; preds = %27
  %30 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %31 = icmp eq i32 %30, 0
  br i1 %31, label %32, label %658

; <label>:32:                                     ; preds = %29
  %33 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %33) #14
  %34 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %35 = icmp ult i32 %34, 15
  br i1 %35, label %41, label %36

; <label>:36:                                     ; preds = %32
  %37 = icmp eq i32 %34, 15
  %38 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %39 = select i1 %37, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %38
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %39, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %40 = getelementptr inbounds i8, i8* %39, i32 15
  store i8 0, i8* %40, align 1, !tbaa !12
  br label %43

; <label>:41:                                     ; preds = %32
  %42 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %43

; <label>:43:                                     ; preds = %41, %36
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %33) #14
  br label %658

; <label>:44:                                     ; preds = %27
  %45 = add nsw i32 %20, -2
  store i32 %45, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %46

; <label>:46:                                     ; preds = %44, %25
  %47 = phi i32 [ %26, %25 ], [ %45, %44 ]
  %48 = add nsw i32 %20, -1
  %49 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47, i32 1
  %52 = load i32, i32* %51, align 8, !tbaa !535
  switch i32 %52, label %639 [
    i32 1, label %53
    i32 2, label %77
    i32 3, label %102
    i32 4, label %127
    i32 5, label %152
    i32 6, label %177
    i32 7, label %201
    i32 8, label %226
    i32 9, label %251
    i32 10, label %276
    i32 11, label %301
    i32 12, label %326
    i32 13, label %351
    i32 14, label %471
  ]

; <label>:53:                                     ; preds = %46
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %55 = load i32, i32* %54, align 8, !tbaa !535
  %56 = icmp eq i32 %55, 1
  br i1 %56, label %70, label %57

; <label>:57:                                     ; preds = %53
  %58 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %59 = icmp eq i32 %58, 0
  br i1 %59, label %60, label %658

; <label>:60:                                     ; preds = %57
  %61 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %61) #14
  %62 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %63 = icmp ult i32 %62, 17
  br i1 %63, label %67, label %64

; <label>:64:                                     ; preds = %60
  %65 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %65, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %66 = getelementptr inbounds i8, i8* %65, i32 17
  store i8 0, i8* %66, align 1, !tbaa !12
  br label %69

; <label>:67:                                     ; preds = %60
  %68 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %69

; <label>:69:                                     ; preds = %67, %64
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %61) #14
  br label %658

; <label>:70:                                     ; preds = %53
  %71 = bitcast %class.variant.43* %50 to i8*
  %72 = load i8, i8* %71, align 1, !tbaa !12
  %73 = bitcast %class.variant.43* %49 to i8*
  %74 = load i8, i8* %73, align 1, !tbaa !12
  %75 = icmp sgt i8 %72, %74
  %76 = zext i1 %75 to i8
  store i8 %76, i8* %71, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:77:                                     ; preds = %46
  %78 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %79 = load i32, i32* %78, align 8, !tbaa !535
  %80 = icmp eq i32 %79, 2
  br i1 %80, label %94, label %81

; <label>:81:                                     ; preds = %77
  %82 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %83 = icmp eq i32 %82, 0
  br i1 %83, label %84, label %658

; <label>:84:                                     ; preds = %81
  %85 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %85) #14
  %86 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %87 = icmp ult i32 %86, 17
  br i1 %87, label %91, label %88

; <label>:88:                                     ; preds = %84
  %89 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %90 = getelementptr inbounds i8, i8* %89, i32 17
  store i8 0, i8* %90, align 1, !tbaa !12
  br label %93

; <label>:91:                                     ; preds = %84
  %92 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %93

; <label>:93:                                     ; preds = %91, %88
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %85) #14
  br label %658

; <label>:94:                                     ; preds = %77
  %95 = bitcast %class.variant.43* %50 to i16*
  %96 = load i16, i16* %95, align 2, !tbaa !59
  %97 = bitcast %class.variant.43* %49 to i16*
  %98 = load i16, i16* %97, align 2, !tbaa !59
  %99 = icmp sgt i16 %96, %98
  %100 = zext i1 %99 to i8
  %101 = bitcast %class.variant.43* %50 to i8*
  store i8 %100, i8* %101, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:102:                                    ; preds = %46
  %103 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %104 = load i32, i32* %103, align 8, !tbaa !535
  %105 = icmp eq i32 %104, 3
  br i1 %105, label %119, label %106

; <label>:106:                                    ; preds = %102
  %107 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %108 = icmp eq i32 %107, 0
  br i1 %108, label %109, label %658

; <label>:109:                                    ; preds = %106
  %110 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %110) #14
  %111 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %112 = icmp ult i32 %111, 17
  br i1 %112, label %116, label %113

; <label>:113:                                    ; preds = %109
  %114 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %114, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %115 = getelementptr inbounds i8, i8* %114, i32 17
  store i8 0, i8* %115, align 1, !tbaa !12
  br label %118

; <label>:116:                                    ; preds = %109
  %117 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %118

; <label>:118:                                    ; preds = %116, %113
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %110) #14
  br label %658

; <label>:119:                                    ; preds = %102
  %120 = bitcast %class.variant.43* %50 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !24
  %122 = bitcast %class.variant.43* %49 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !24
  %124 = icmp sgt i32 %121, %123
  %125 = zext i1 %124 to i8
  %126 = bitcast %class.variant.43* %50 to i8*
  store i8 %125, i8* %126, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:127:                                    ; preds = %46
  %128 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %129 = load i32, i32* %128, align 8, !tbaa !535
  %130 = icmp eq i32 %129, 4
  br i1 %130, label %144, label %131

; <label>:131:                                    ; preds = %127
  %132 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %134, label %658

; <label>:134:                                    ; preds = %131
  %135 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %135) #14
  %136 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %137 = icmp ult i32 %136, 17
  br i1 %137, label %141, label %138

; <label>:138:                                    ; preds = %134
  %139 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %139, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %140 = getelementptr inbounds i8, i8* %139, i32 17
  store i8 0, i8* %140, align 1, !tbaa !12
  br label %143

; <label>:141:                                    ; preds = %134
  %142 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %143

; <label>:143:                                    ; preds = %141, %138
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %135) #14
  br label %658

; <label>:144:                                    ; preds = %127
  %145 = bitcast %class.variant.43* %50 to i64*
  %146 = load i64, i64* %145, align 8, !tbaa !61
  %147 = bitcast %class.variant.43* %49 to i64*
  %148 = load i64, i64* %147, align 8, !tbaa !61
  %149 = icmp sgt i64 %146, %148
  %150 = zext i1 %149 to i8
  %151 = bitcast %class.variant.43* %50 to i8*
  store i8 %150, i8* %151, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:152:                                    ; preds = %46
  %153 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %154 = load i32, i32* %153, align 8, !tbaa !535
  %155 = icmp eq i32 %154, 5
  br i1 %155, label %169, label %156

; <label>:156:                                    ; preds = %152
  %157 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %158 = icmp eq i32 %157, 0
  br i1 %158, label %159, label %658

; <label>:159:                                    ; preds = %156
  %160 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %160) #14
  %161 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %162 = icmp ult i32 %161, 17
  br i1 %162, label %166, label %163

; <label>:163:                                    ; preds = %159
  %164 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %164, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %165 = getelementptr inbounds i8, i8* %164, i32 17
  store i8 0, i8* %165, align 1, !tbaa !12
  br label %168

; <label>:166:                                    ; preds = %159
  %167 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %168

; <label>:168:                                    ; preds = %166, %163
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14
  br label %658

; <label>:169:                                    ; preds = %152
  %170 = bitcast %class.variant.43* %50 to i32*
  %171 = load i32, i32* %170, align 4, !tbaa !538
  %172 = bitcast %class.variant.43* %49 to i32*
  %173 = load i32, i32* %172, align 4, !tbaa !538
  %174 = icmp sgt i32 %171, %173
  %175 = zext i1 %174 to i8
  %176 = bitcast %class.variant.43* %50 to i8*
  store i8 %175, i8* %176, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:177:                                    ; preds = %46
  %178 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %179 = load i32, i32* %178, align 8, !tbaa !535
  %180 = icmp eq i32 %179, 6
  br i1 %180, label %194, label %181

; <label>:181:                                    ; preds = %177
  %182 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %183 = icmp eq i32 %182, 0
  br i1 %183, label %184, label %658

; <label>:184:                                    ; preds = %181
  %185 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %185) #14
  %186 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %187 = icmp ult i32 %186, 17
  br i1 %187, label %191, label %188

; <label>:188:                                    ; preds = %184
  %189 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %189, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %190 = getelementptr inbounds i8, i8* %189, i32 17
  store i8 0, i8* %190, align 1, !tbaa !12
  br label %193

; <label>:191:                                    ; preds = %184
  %192 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %193

; <label>:193:                                    ; preds = %191, %188
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %185) #14
  br label %658

; <label>:194:                                    ; preds = %177
  %195 = bitcast %class.variant.43* %50 to i8*
  %196 = load i8, i8* %195, align 1, !tbaa !12
  %197 = bitcast %class.variant.43* %49 to i8*
  %198 = load i8, i8* %197, align 1, !tbaa !12
  %199 = icmp ugt i8 %196, %198
  %200 = zext i1 %199 to i8
  store i8 %200, i8* %195, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:201:                                    ; preds = %46
  %202 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %203 = load i32, i32* %202, align 8, !tbaa !535
  %204 = icmp eq i32 %203, 7
  br i1 %204, label %218, label %205

; <label>:205:                                    ; preds = %201
  %206 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %207 = icmp eq i32 %206, 0
  br i1 %207, label %208, label %658

; <label>:208:                                    ; preds = %205
  %209 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %209) #14
  %210 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %211 = icmp ult i32 %210, 17
  br i1 %211, label %215, label %212

; <label>:212:                                    ; preds = %208
  %213 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %213, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %214 = getelementptr inbounds i8, i8* %213, i32 17
  store i8 0, i8* %214, align 1, !tbaa !12
  br label %217

; <label>:215:                                    ; preds = %208
  %216 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %217

; <label>:217:                                    ; preds = %215, %212
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %209) #14
  br label %658

; <label>:218:                                    ; preds = %201
  %219 = bitcast %class.variant.43* %50 to i16*
  %220 = load i16, i16* %219, align 2, !tbaa !59
  %221 = bitcast %class.variant.43* %49 to i16*
  %222 = load i16, i16* %221, align 2, !tbaa !59
  %223 = icmp ugt i16 %220, %222
  %224 = zext i1 %223 to i8
  %225 = bitcast %class.variant.43* %50 to i8*
  store i8 %224, i8* %225, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:226:                                    ; preds = %46
  %227 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %228 = load i32, i32* %227, align 8, !tbaa !535
  %229 = icmp eq i32 %228, 8
  br i1 %229, label %243, label %230

; <label>:230:                                    ; preds = %226
  %231 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %232 = icmp eq i32 %231, 0
  br i1 %232, label %233, label %658

; <label>:233:                                    ; preds = %230
  %234 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %234) #14
  %235 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %236 = icmp ult i32 %235, 17
  br i1 %236, label %240, label %237

; <label>:237:                                    ; preds = %233
  %238 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %238, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %239 = getelementptr inbounds i8, i8* %238, i32 17
  store i8 0, i8* %239, align 1, !tbaa !12
  br label %242

; <label>:240:                                    ; preds = %233
  %241 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %242

; <label>:242:                                    ; preds = %240, %237
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %234) #14
  br label %658

; <label>:243:                                    ; preds = %226
  %244 = bitcast %class.variant.43* %50 to i32*
  %245 = load i32, i32* %244, align 4, !tbaa !24
  %246 = bitcast %class.variant.43* %49 to i32*
  %247 = load i32, i32* %246, align 4, !tbaa !24
  %248 = icmp ugt i32 %245, %247
  %249 = zext i1 %248 to i8
  %250 = bitcast %class.variant.43* %50 to i8*
  store i8 %249, i8* %250, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:251:                                    ; preds = %46
  %252 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %253 = load i32, i32* %252, align 8, !tbaa !535
  %254 = icmp eq i32 %253, 9
  br i1 %254, label %268, label %255

; <label>:255:                                    ; preds = %251
  %256 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %257 = icmp eq i32 %256, 0
  br i1 %257, label %258, label %658

; <label>:258:                                    ; preds = %255
  %259 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %259) #14
  %260 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %261 = icmp ult i32 %260, 17
  br i1 %261, label %265, label %262

; <label>:262:                                    ; preds = %258
  %263 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %263, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %264 = getelementptr inbounds i8, i8* %263, i32 17
  store i8 0, i8* %264, align 1, !tbaa !12
  br label %267

; <label>:265:                                    ; preds = %258
  %266 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %267

; <label>:267:                                    ; preds = %265, %262
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %259) #14
  br label %658

; <label>:268:                                    ; preds = %251
  %269 = bitcast %class.variant.43* %50 to i64*
  %270 = load i64, i64* %269, align 8, !tbaa !61
  %271 = bitcast %class.variant.43* %49 to i64*
  %272 = load i64, i64* %271, align 8, !tbaa !61
  %273 = icmp ugt i64 %270, %272
  %274 = zext i1 %273 to i8
  %275 = bitcast %class.variant.43* %50 to i8*
  store i8 %274, i8* %275, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:276:                                    ; preds = %46
  %277 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %278 = load i32, i32* %277, align 8, !tbaa !535
  %279 = icmp eq i32 %278, 10
  br i1 %279, label %293, label %280

; <label>:280:                                    ; preds = %276
  %281 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %282 = icmp eq i32 %281, 0
  br i1 %282, label %283, label %658

; <label>:283:                                    ; preds = %280
  %284 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %284) #14
  %285 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %286 = icmp ult i32 %285, 17
  br i1 %286, label %290, label %287

; <label>:287:                                    ; preds = %283
  %288 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %288, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %289 = getelementptr inbounds i8, i8* %288, i32 17
  store i8 0, i8* %289, align 1, !tbaa !12
  br label %292

; <label>:290:                                    ; preds = %283
  %291 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %292

; <label>:292:                                    ; preds = %290, %287
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %284) #14
  br label %658

; <label>:293:                                    ; preds = %276
  %294 = bitcast %class.variant.43* %50 to i32*
  %295 = load i32, i32* %294, align 4, !tbaa !540
  %296 = bitcast %class.variant.43* %49 to i32*
  %297 = load i32, i32* %296, align 4, !tbaa !540
  %298 = icmp ugt i32 %295, %297
  %299 = zext i1 %298 to i8
  %300 = bitcast %class.variant.43* %50 to i8*
  store i8 %299, i8* %300, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:301:                                    ; preds = %46
  %302 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %303 = load i32, i32* %302, align 8, !tbaa !535
  %304 = icmp eq i32 %303, 11
  br i1 %304, label %318, label %305

; <label>:305:                                    ; preds = %301
  %306 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %307 = icmp eq i32 %306, 0
  br i1 %307, label %308, label %658

; <label>:308:                                    ; preds = %305
  %309 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %309) #14
  %310 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %311 = icmp ult i32 %310, 17
  br i1 %311, label %315, label %312

; <label>:312:                                    ; preds = %308
  %313 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %313, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %314 = getelementptr inbounds i8, i8* %313, i32 17
  store i8 0, i8* %314, align 1, !tbaa !12
  br label %317

; <label>:315:                                    ; preds = %308
  %316 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %317

; <label>:317:                                    ; preds = %315, %312
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %309) #14
  br label %658

; <label>:318:                                    ; preds = %301
  %319 = bitcast %class.variant.43* %50 to float*
  %320 = load float, float* %319, align 4, !tbaa !70
  %321 = bitcast %class.variant.43* %49 to float*
  %322 = load float, float* %321, align 4, !tbaa !70
  %323 = fcmp ogt float %320, %322
  %324 = zext i1 %323 to i8
  %325 = bitcast %class.variant.43* %50 to i8*
  store i8 %324, i8* %325, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:326:                                    ; preds = %46
  %327 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %328 = load i32, i32* %327, align 8, !tbaa !535
  %329 = icmp eq i32 %328, 12
  br i1 %329, label %343, label %330

; <label>:330:                                    ; preds = %326
  %331 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %332 = icmp eq i32 %331, 0
  br i1 %332, label %333, label %658

; <label>:333:                                    ; preds = %330
  %334 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %334) #14
  %335 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %336 = icmp ult i32 %335, 17
  br i1 %336, label %340, label %337

; <label>:337:                                    ; preds = %333
  %338 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %338, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %339 = getelementptr inbounds i8, i8* %338, i32 17
  store i8 0, i8* %339, align 1, !tbaa !12
  br label %342

; <label>:340:                                    ; preds = %333
  %341 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %342

; <label>:342:                                    ; preds = %340, %337
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %334) #14
  br label %658

; <label>:343:                                    ; preds = %326
  %344 = getelementptr inbounds %class.variant.43, %class.variant.43* %50, i32 0, i32 0, i32 0, i32 0
  %345 = load double, double* %344, align 8, !tbaa !72
  %346 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 0, i32 0, i32 0, i32 0
  %347 = load double, double* %346, align 8, !tbaa !72
  %348 = fcmp ogt double %345, %347
  %349 = zext i1 %348 to i8
  %350 = bitcast %class.variant.43* %50 to i8*
  store i8 %349, i8* %350, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:351:                                    ; preds = %46
  %352 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %353 = load i32, i32* %352, align 8, !tbaa !535
  switch i32 %353, label %458 [
    i32 13, label %354
    i32 14, label %387
  ]

; <label>:354:                                    ; preds = %351
  %355 = bitcast %class.variant.43* %49 to %"struct.std::pair.23"**
  %356 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %355, align 4, !tbaa !542
  %357 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %358 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %357, align 4, !tbaa !542
  %359 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %360 = load i32, i32* %359, align 4, !tbaa !83
  %361 = bitcast %"struct.std::pair.23"* %358 to i8*
  %362 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %363 = load i32, i32* %362, align 4, !tbaa !81
  %364 = icmp ugt i32 %363, 15
  %365 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %366 = load i8*, i8** %365, align 4
  %367 = select i1 %364, i8* %366, i8* %361
  %368 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %369 = load i32, i32* %368, align 4, !tbaa !83
  %370 = bitcast %"struct.std::pair.23"* %356 to i8*
  %371 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %372 = load i32, i32* %371, align 4, !tbaa !81
  %373 = icmp ugt i32 %372, 15
  %374 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %375 = load i8*, i8** %374, align 4
  %376 = select i1 %373, i8* %375, i8* %370
  %377 = icmp ult i32 %360, %369
  %378 = select i1 %377, i32 %360, i32 %369
  %379 = tail call i32 @memcmp(i8* %376, i8* %367, i32 %378) #14
  %380 = icmp eq i32 %379, 0
  %381 = icmp ult i32 %369, %360
  %382 = select i1 %381, i32 -2147483648, i32 0
  %383 = select i1 %380, i32 %382, i32 %379
  %384 = lshr i32 %383, 31
  %385 = trunc i32 %384 to i8
  %386 = bitcast %class.variant.43* %50 to i8*
  store i8 %385, i8* %386, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:387:                                    ; preds = %351
  %388 = bitcast %class.variant.43* %49 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %389 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %388, align 4, !tbaa !549
  %390 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1
  %391 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %392 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %391, align 4, !tbaa !542
  %393 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %394 = load i32, i32* %393, align 4, !tbaa !83
  %395 = bitcast %"struct.std::pair.23"* %392 to i8*
  %396 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %397 = load i32, i32* %396, align 4, !tbaa !81
  %398 = icmp ugt i32 %397, 15
  %399 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %400 = load i8*, i8** %399, align 4
  %401 = select i1 %398, i8* %400, i8* %395
  %402 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %403 = load i32, i32* %402, align 4, !tbaa !83
  %404 = bitcast %"class.std::basic_string"* %390 to i8*
  %405 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %406 = load i32, i32* %405, align 4, !tbaa !81
  %407 = icmp ugt i32 %406, 15
  %408 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %390, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %409 = load i8*, i8** %408, align 4
  %410 = select i1 %407, i8* %409, i8* %404
  %411 = icmp ult i32 %394, %403
  %412 = select i1 %411, i32 %394, i32 %403
  %413 = tail call i32 @memcmp(i8* %410, i8* %401, i32 %412) #14
  %414 = icmp eq i32 %413, 0
  %415 = icmp ult i32 %403, %394
  %416 = select i1 %415, i32 -2147483648, i32 0
  %417 = select i1 %414, i32 %416, i32 %413
  %418 = lshr i32 %417, 31
  %419 = trunc i32 %418 to i8
  %420 = bitcast %class.variant.43* %50 to i8*
  store i8 %419, i8* %420, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  %421 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 0
  %422 = load i32, i32* %421, align 4, !tbaa !547
  %423 = icmp eq i32 %422, 1
  br i1 %423, label %426, label %424

; <label>:424:                                    ; preds = %387
  %425 = add i32 %422, -1
  store i32 %425, i32* %421, align 4, !tbaa !547
  br label %652

; <label>:426:                                    ; preds = %387
  %427 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, null
  br i1 %427, label %652, label %428

; <label>:428:                                    ; preds = %426
  br i1 %407, label %429, label %454

; <label>:429:                                    ; preds = %428
  %430 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %431 = load i8*, i8** %430, align 4, !tbaa !12
  %432 = add i32 %406, 1
  %433 = icmp ugt i32 %432, 4095
  br i1 %433, label %434, label %451

; <label>:434:                                    ; preds = %429
  %435 = add i32 %406, 36
  %436 = icmp ugt i32 %432, -36
  br i1 %436, label %450, label %437

; <label>:437:                                    ; preds = %434
  %438 = ptrtoint i8* %431 to i32
  %439 = and i32 %438, 31
  %440 = icmp eq i32 %439, 0
  br i1 %440, label %441, label %450

; <label>:441:                                    ; preds = %437
  %442 = add i32 %438, -4
  %443 = inttoptr i32 %442 to i32*
  %444 = load i32, i32* %443, align 4, !tbaa !24
  %445 = icmp ult i32 %444, %438
  br i1 %445, label %446, label %450

; <label>:446:                                    ; preds = %441
  %447 = sub i32 %442, %444
  %448 = icmp ugt i32 %447, 31
  %449 = inttoptr i32 %444 to i8*
  br i1 %448, label %450, label %451

; <label>:450:                                    ; preds = %446, %441, %437, %434
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:451:                                    ; preds = %446, %429
  %452 = phi i8* [ %449, %446 ], [ %431, %429 ]
  %453 = phi i32 [ %435, %446 ], [ %432, %429 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %452, i32 %453) #14
  br label %454

; <label>:454:                                    ; preds = %451, %428
  %455 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %455) #21
  %456 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %457 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %652

; <label>:458:                                    ; preds = %351
  %459 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %460 = icmp eq i32 %459, 0
  br i1 %460, label %461, label %658

; <label>:461:                                    ; preds = %458
  %462 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %462) #14
  %463 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %464 = icmp ult i32 %463, 17
  br i1 %464, label %468, label %465

; <label>:465:                                    ; preds = %461
  %466 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %466, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %467 = getelementptr inbounds i8, i8* %466, i32 17
  store i8 0, i8* %467, align 1, !tbaa !12
  br label %470

; <label>:468:                                    ; preds = %461
  %469 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %470

; <label>:470:                                    ; preds = %468, %465
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %462) #14
  br label %658

; <label>:471:                                    ; preds = %46
  %472 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %473 = load i32, i32* %472, align 8, !tbaa !535
  switch i32 %473, label %575 [
    i32 13, label %474
    i32 14, label %507
  ]

; <label>:474:                                    ; preds = %471
  %475 = bitcast %class.variant.43* %49 to %"struct.std::pair.23"**
  %476 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %475, align 4, !tbaa !542
  %477 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %478 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %477, align 4, !tbaa !549
  %479 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1
  %480 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %481 = load i32, i32* %480, align 4, !tbaa !83
  %482 = bitcast %"class.std::basic_string"* %479 to i8*
  %483 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %484 = load i32, i32* %483, align 4, !tbaa !81
  %485 = icmp ugt i32 %484, 15
  %486 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %479, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %487 = load i8*, i8** %486, align 4
  %488 = select i1 %485, i8* %487, i8* %482
  %489 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %490 = load i32, i32* %489, align 4, !tbaa !83
  %491 = bitcast %"struct.std::pair.23"* %476 to i8*
  %492 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %493 = load i32, i32* %492, align 4, !tbaa !81
  %494 = icmp ugt i32 %493, 15
  %495 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %496 = load i8*, i8** %495, align 4
  %497 = select i1 %494, i8* %496, i8* %491
  %498 = icmp ult i32 %481, %490
  %499 = select i1 %498, i32 %481, i32 %490
  %500 = tail call i32 @memcmp(i8* %497, i8* %488, i32 %499) #14
  %501 = icmp eq i32 %500, 0
  %502 = icmp ult i32 %490, %481
  %503 = select i1 %502, i32 -2147483648, i32 0
  %504 = select i1 %501, i32 %503, i32 %500
  %505 = lshr i32 %504, 31
  %506 = trunc i32 %505 to i8
  br label %588

; <label>:507:                                    ; preds = %471
  %508 = bitcast %class.variant.43* %49 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %509 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %508, align 4, !tbaa !549
  %510 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1
  %511 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %512 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %511, align 4, !tbaa !549
  %513 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1
  %514 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %515 = load i32, i32* %514, align 4, !tbaa !83
  %516 = bitcast %"class.std::basic_string"* %513 to i8*
  %517 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %518 = load i32, i32* %517, align 4, !tbaa !81
  %519 = icmp ugt i32 %518, 15
  %520 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %513, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %521 = load i8*, i8** %520, align 4
  %522 = select i1 %519, i8* %521, i8* %516
  %523 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %524 = load i32, i32* %523, align 4, !tbaa !83
  %525 = bitcast %"class.std::basic_string"* %510 to i8*
  %526 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %527 = load i32, i32* %526, align 4, !tbaa !81
  %528 = icmp ugt i32 %527, 15
  %529 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %510, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %530 = load i8*, i8** %529, align 4
  %531 = select i1 %528, i8* %530, i8* %525
  %532 = icmp ult i32 %515, %524
  %533 = select i1 %532, i32 %515, i32 %524
  %534 = tail call i32 @memcmp(i8* %531, i8* %522, i32 %533) #14
  %535 = icmp eq i32 %534, 0
  %536 = icmp ult i32 %524, %515
  %537 = select i1 %536, i32 -2147483648, i32 0
  %538 = select i1 %535, i32 %537, i32 %534
  %539 = lshr i32 %538, 31
  %540 = trunc i32 %539 to i8
  %541 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 0
  %542 = load i32, i32* %541, align 4, !tbaa !547
  %543 = icmp eq i32 %542, 1
  br i1 %543, label %546, label %544

; <label>:544:                                    ; preds = %507
  %545 = add i32 %542, -1
  store i32 %545, i32* %541, align 4, !tbaa !547
  br label %588

; <label>:546:                                    ; preds = %507
  %547 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, null
  br i1 %547, label %588, label %548

; <label>:548:                                    ; preds = %546
  br i1 %528, label %549, label %572

; <label>:549:                                    ; preds = %548
  %550 = add i32 %527, 1
  %551 = icmp ugt i32 %550, 4095
  br i1 %551, label %552, label %569

; <label>:552:                                    ; preds = %549
  %553 = add i32 %527, 36
  %554 = icmp ugt i32 %550, -36
  br i1 %554, label %568, label %555

; <label>:555:                                    ; preds = %552
  %556 = ptrtoint i8* %530 to i32
  %557 = and i32 %556, 31
  %558 = icmp eq i32 %557, 0
  br i1 %558, label %559, label %568

; <label>:559:                                    ; preds = %555
  %560 = add i32 %556, -4
  %561 = inttoptr i32 %560 to i32*
  %562 = load i32, i32* %561, align 4, !tbaa !24
  %563 = icmp ult i32 %562, %556
  br i1 %563, label %564, label %568

; <label>:564:                                    ; preds = %559
  %565 = sub i32 %560, %562
  %566 = icmp ugt i32 %565, 31
  %567 = inttoptr i32 %562 to i8*
  br i1 %566, label %568, label %569

; <label>:568:                                    ; preds = %564, %559, %555, %552
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:569:                                    ; preds = %564, %549
  %570 = phi i8* [ %567, %564 ], [ %530, %549 ]
  %571 = phi i32 [ %553, %564 ], [ %550, %549 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %570, i32 %571) #14
  br label %572

; <label>:572:                                    ; preds = %569, %548
  %573 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %573) #21
  %574 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %511, align 4, !tbaa !549
  br label %588

; <label>:575:                                    ; preds = %471
  %576 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %577 = icmp eq i32 %576, 0
  br i1 %577, label %578, label %658

; <label>:578:                                    ; preds = %575
  %579 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %579) #14
  %580 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %581 = icmp ult i32 %580, 17
  br i1 %581, label %585, label %582

; <label>:582:                                    ; preds = %578
  %583 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %583, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %584 = getelementptr inbounds i8, i8* %583, i32 17
  store i8 0, i8* %584, align 1, !tbaa !12
  br label %587

; <label>:585:                                    ; preds = %578
  %586 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %587

; <label>:587:                                    ; preds = %585, %582
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %579) #14
  br label %658

; <label>:588:                                    ; preds = %572, %546, %544, %474
  %589 = phi %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* [ %478, %474 ], [ %512, %544 ], [ %512, %546 ], [ %574, %572 ]
  %590 = phi i8 [ %506, %474 ], [ %540, %544 ], [ %540, %546 ], [ %540, %572 ]
  %591 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 0
  %592 = load i32, i32* %591, align 4, !tbaa !547
  %593 = icmp eq i32 %592, 1
  br i1 %593, label %596, label %594

; <label>:594:                                    ; preds = %588
  %595 = add i32 %592, -1
  store i32 %595, i32* %591, align 4, !tbaa !547
  br label %629

; <label>:596:                                    ; preds = %588
  %597 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, null
  br i1 %597, label %629, label %598

; <label>:598:                                    ; preds = %596
  %599 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %600 = load i32, i32* %599, align 4, !tbaa !81
  %601 = icmp ugt i32 %600, 15
  br i1 %601, label %602, label %627

; <label>:602:                                    ; preds = %598
  %603 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %604 = load i8*, i8** %603, align 4, !tbaa !12
  %605 = add i32 %600, 1
  %606 = icmp ugt i32 %605, 4095
  br i1 %606, label %607, label %624

; <label>:607:                                    ; preds = %602
  %608 = add i32 %600, 36
  %609 = icmp ugt i32 %605, -36
  br i1 %609, label %623, label %610

; <label>:610:                                    ; preds = %607
  %611 = ptrtoint i8* %604 to i32
  %612 = and i32 %611, 31
  %613 = icmp eq i32 %612, 0
  br i1 %613, label %614, label %623

; <label>:614:                                    ; preds = %610
  %615 = add i32 %611, -4
  %616 = inttoptr i32 %615 to i32*
  %617 = load i32, i32* %616, align 4, !tbaa !24
  %618 = icmp ult i32 %617, %611
  br i1 %618, label %619, label %623

; <label>:619:                                    ; preds = %614
  %620 = sub i32 %615, %617
  %621 = icmp ugt i32 %620, 31
  %622 = inttoptr i32 %617 to i8*
  br i1 %621, label %623, label %624

; <label>:623:                                    ; preds = %619, %614, %610, %607
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:624:                                    ; preds = %619, %602
  %625 = phi i8* [ %622, %619 ], [ %604, %602 ]
  %626 = phi i32 [ %608, %619 ], [ %605, %602 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %625, i32 %626) #14
  br label %627

; <label>:627:                                    ; preds = %624, %598
  %628 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %628) #21
  br label %629

; <label>:629:                                    ; preds = %627, %596, %594
  %630 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %631 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %632 = sub i32 %630, %631
  %633 = ashr exact i32 %632, 4
  %634 = add nsw i32 %633, -2
  %635 = inttoptr i32 %631 to %class.variant.43*
  %636 = getelementptr inbounds %class.variant.43, %class.variant.43* %635, i32 %634
  %637 = bitcast %class.variant.43* %636 to i8*
  store i8 %590, i8* %637, align 8, !tbaa !566
  %638 = getelementptr inbounds %class.variant.43, %class.variant.43* %635, i32 %634, i32 1
  store i32 0, i32* %638, align 8, !tbaa !535
  br label %652

; <label>:639:                                    ; preds = %46
  %640 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %641 = icmp eq i32 %640, 0
  br i1 %641, label %642, label %658

; <label>:642:                                    ; preds = %639
  %643 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %643) #14
  %644 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %645 = icmp ult i32 %644, 17
  br i1 %645, label %649, label %646

; <label>:646:                                    ; preds = %642
  %647 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %647, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %648 = getelementptr inbounds i8, i8* %647, i32 17
  store i8 0, i8* %648, align 1, !tbaa !12
  br label %651

; <label>:649:                                    ; preds = %642
  %650 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %651

; <label>:651:                                    ; preds = %649, %646
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %643) #14
  br label %658

; <label>:652:                                    ; preds = %629, %454, %426, %424, %354, %343, %318, %293, %268, %243, %218, %194, %169, %144, %119, %94, %70
  %653 = phi i32 [ %457, %454 ], [ %18, %426 ], [ %18, %424 ], [ %18, %354 ], [ %631, %629 ], [ %18, %343 ], [ %18, %318 ], [ %18, %293 ], [ %18, %268 ], [ %18, %243 ], [ %18, %218 ], [ %18, %194 ], [ %18, %169 ], [ %18, %144 ], [ %18, %119 ], [ %18, %94 ], [ %18, %70 ]
  %654 = phi i32 [ %456, %454 ], [ %17, %426 ], [ %17, %424 ], [ %17, %354 ], [ %630, %629 ], [ %17, %343 ], [ %17, %318 ], [ %17, %293 ], [ %17, %268 ], [ %17, %243 ], [ %17, %218 ], [ %17, %194 ], [ %17, %169 ], [ %17, %144 ], [ %17, %119 ], [ %17, %94 ], [ %17, %70 ]
  %655 = sub i32 %654, %653
  %656 = ashr exact i32 %655, 4
  %657 = add nsw i32 %656, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %657, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %658

; <label>:658:                                    ; preds = %652, %651, %639, %587, %575, %470, %458, %342, %330, %317, %305, %292, %280, %267, %255, %242, %230, %217, %205, %193, %181, %168, %156, %143, %131, %118, %106, %93, %81, %69, %57, %43, %29
  %659 = phi i1 [ false, %43 ], [ false, %29 ], [ true, %652 ], [ false, %69 ], [ false, %57 ], [ false, %93 ], [ false, %81 ], [ false, %118 ], [ false, %106 ], [ false, %143 ], [ false, %131 ], [ false, %168 ], [ false, %156 ], [ false, %193 ], [ false, %181 ], [ false, %217 ], [ false, %205 ], [ false, %242 ], [ false, %230 ], [ false, %267 ], [ false, %255 ], [ false, %292 ], [ false, %280 ], [ false, %317 ], [ false, %305 ], [ false, %342 ], [ false, %330 ], [ false, %470 ], [ false, %458 ], [ false, %587 ], [ false, %575 ], [ false, %651 ], [ false, %639 ]
  ret i1 %659
}

; Function Attrs: nounwind
define zeroext i1 @builtinHas() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"class.std::basic_string", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %190

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %190

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = icmp eq i32 %39, 17
  br i1 %40, label %41, label %43

; <label>:41:                                     ; preds = %33
  %42 = tail call zeroext i1 @"\01?isAnyText@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %36) #14
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %41, %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %190

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %190

; <label>:56:                                     ; preds = %41
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %58 = load i32, i32* %57, align 8, !tbaa !535
  %59 = icmp eq i32 %58, 13
  br i1 %59, label %60, label %63

; <label>:60:                                     ; preds = %56
  %61 = bitcast %class.variant.43* %36 to %"struct.std::pair.23"**
  %62 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %61, align 4, !tbaa !542
  br label %173

; <label>:63:                                     ; preds = %56
  %64 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %64) #14
  %65 = bitcast %class.variant.43* %36 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %66 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %65, align 4, !tbaa !549
  %67 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %66, i32 0, i32 1
  %68 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %68, align 4, !tbaa !83
  %69 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %69, align 4, !tbaa !81
  %70 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %66, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %71 = load i32, i32* %70, align 4, !tbaa !83
  %72 = bitcast %"class.std::basic_string"* %67 to i8*
  %73 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %66, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %74 = load i32, i32* %73, align 4, !tbaa !81
  %75 = icmp ugt i32 %74, 15
  %76 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %67, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %77 = load i8*, i8** %76, align 4
  %78 = select i1 %75, i8* %77, i8* %72
  %79 = icmp ult i32 %71, 16
  br i1 %79, label %80, label %81

; <label>:80:                                     ; preds = %63
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %64, i8* %78, i32 16, i32 1, i1 false) #14
  br label %103

; <label>:81:                                     ; preds = %63
  %82 = or i32 %71, 15
  %83 = icmp ult i32 %82, 2147483647
  %84 = select i1 %83, i32 %82, i32 2147483647
  %85 = icmp ugt i32 %84, 4094
  br i1 %85, label %86, label %95

; <label>:86:                                     ; preds = %81
  %87 = add nuw i32 %84, 36
  %88 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %87) #14
  %89 = ptrtoint i8* %88 to i32
  %90 = add i32 %89, 35
  %91 = and i32 %90, -32
  %92 = inttoptr i32 %91 to i8*
  %93 = inttoptr i32 %91 to i32*
  %94 = getelementptr inbounds i32, i32* %93, i32 -1
  store i32 %89, i32* %94, align 4, !tbaa !24
  br label %98

; <label>:95:                                     ; preds = %81
  %96 = add nuw i32 %84, 1
  %97 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %96) #14
  br label %98

; <label>:98:                                     ; preds = %95, %86
  %99 = phi i8* [ %92, %86 ], [ %97, %95 ]
  %100 = ptrtoint i8* %99 to i32
  %101 = bitcast %"class.std::basic_string"* %3 to i32*
  store i32 %100, i32* %101, align 4, !tbaa !23
  %102 = add i32 %71, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %99, i8* %78, i32 %102, i32 1, i1 false) #14
  br label %103

; <label>:103:                                    ; preds = %98, %80
  %104 = phi i32 [ %84, %98 ], [ 15, %80 ]
  store i32 %71, i32* %68, align 4, !tbaa !83
  store i32 %104, i32* %69, align 4, !tbaa !81
  %105 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %3) #14
  %106 = load i32, i32* %69, align 4, !tbaa !81
  %107 = icmp ugt i32 %106, 15
  br i1 %107, label %108, label %133

; <label>:108:                                    ; preds = %103
  %109 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %110 = load i8*, i8** %109, align 4, !tbaa !12
  %111 = add i32 %106, 1
  %112 = icmp ugt i32 %111, 4095
  br i1 %112, label %113, label %130

; <label>:113:                                    ; preds = %108
  %114 = add i32 %106, 36
  %115 = icmp ugt i32 %111, -36
  br i1 %115, label %129, label %116

; <label>:116:                                    ; preds = %113
  %117 = ptrtoint i8* %110 to i32
  %118 = and i32 %117, 31
  %119 = icmp eq i32 %118, 0
  br i1 %119, label %120, label %129

; <label>:120:                                    ; preds = %116
  %121 = add i32 %117, -4
  %122 = inttoptr i32 %121 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !24
  %124 = icmp ult i32 %123, %117
  br i1 %124, label %125, label %129

; <label>:125:                                    ; preds = %120
  %126 = sub i32 %121, %123
  %127 = icmp ugt i32 %126, 31
  %128 = inttoptr i32 %123 to i8*
  br i1 %127, label %129, label %130

; <label>:129:                                    ; preds = %125, %120, %116, %113
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:130:                                    ; preds = %125, %108
  %131 = phi i8* [ %128, %125 ], [ %110, %108 ]
  %132 = phi i32 [ %114, %125 ], [ %111, %108 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %131, i32 %132) #14
  br label %133

; <label>:133:                                    ; preds = %130, %103
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14
  %134 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %65, align 4, !tbaa !549
  %135 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 0
  %136 = load i32, i32* %135, align 4, !tbaa !547
  %137 = icmp eq i32 %136, 1
  br i1 %137, label %140, label %138

; <label>:138:                                    ; preds = %133
  %139 = add i32 %136, -1
  store i32 %139, i32* %135, align 4, !tbaa !547
  br label %173

; <label>:140:                                    ; preds = %133
  %141 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, null
  br i1 %141, label %173, label %142

; <label>:142:                                    ; preds = %140
  %143 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %144 = load i32, i32* %143, align 4, !tbaa !81
  %145 = icmp ugt i32 %144, 15
  br i1 %145, label %146, label %171

; <label>:146:                                    ; preds = %142
  %147 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %148 = load i8*, i8** %147, align 4, !tbaa !12
  %149 = add i32 %144, 1
  %150 = icmp ugt i32 %149, 4095
  br i1 %150, label %151, label %168

; <label>:151:                                    ; preds = %146
  %152 = add i32 %144, 36
  %153 = icmp ugt i32 %149, -36
  br i1 %153, label %167, label %154

; <label>:154:                                    ; preds = %151
  %155 = ptrtoint i8* %148 to i32
  %156 = and i32 %155, 31
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %167

; <label>:158:                                    ; preds = %154
  %159 = add i32 %155, -4
  %160 = inttoptr i32 %159 to i32*
  %161 = load i32, i32* %160, align 4, !tbaa !24
  %162 = icmp ult i32 %161, %155
  br i1 %162, label %163, label %167

; <label>:163:                                    ; preds = %158
  %164 = sub i32 %159, %161
  %165 = icmp ugt i32 %164, 31
  %166 = inttoptr i32 %161 to i8*
  br i1 %165, label %167, label %168

; <label>:167:                                    ; preds = %163, %158, %154, %151
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:168:                                    ; preds = %163, %146
  %169 = phi i8* [ %166, %163 ], [ %148, %146 ]
  %170 = phi i32 [ %152, %163 ], [ %149, %146 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %169, i32 %170) #14
  br label %171

; <label>:171:                                    ; preds = %168, %142
  %172 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %172) #21
  br label %173

; <label>:173:                                    ; preds = %171, %140, %138, %60
  %174 = phi %"struct.std::pair.23"* [ %62, %60 ], [ %105, %138 ], [ %105, %140 ], [ %105, %171 ]
  %175 = bitcast %class.variant.43* %37 to %struct.Combined**
  %176 = load %struct.Combined*, %struct.Combined** %175, align 4, !tbaa !23
  %177 = getelementptr inbounds %struct.Combined, %struct.Combined* %176, i32 0, i32 4
  %178 = call zeroext i1 @"\01?hasField@@YA_NABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %177, %"struct.std::pair.23"* dereferenceable(48) %174) #14
  %179 = zext i1 %178 to i8
  %180 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %181 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %182 = sub i32 %180, %181
  %183 = ashr exact i32 %182, 4
  %184 = add nsw i32 %183, -2
  %185 = inttoptr i32 %181 to %class.variant.43*
  %186 = getelementptr inbounds %class.variant.43, %class.variant.43* %185, i32 %184
  %187 = bitcast %class.variant.43* %186 to i8*
  store i8 %179, i8* %187, align 8, !tbaa !566
  %188 = getelementptr inbounds %class.variant.43, %class.variant.43* %185, i32 %184, i32 1
  store i32 0, i32* %188, align 8, !tbaa !535
  %189 = add nsw i32 %183, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %189, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %176) #14
  br label %190

; <label>:190:                                    ; preds = %173, %55, %43, %30, %16
  %191 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %173 ], [ false, %55 ], [ false, %43 ]
  ret i1 %191
}

; Function Attrs: nounwind
define zeroext i1 @builtinIf() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = sub i32 %6, %7
  %9 = icmp ult i32 %8, 3
  %10 = inttoptr i32 %4 to %class.variant.43*
  br i1 %9, label %13, label %11

; <label>:11:                                     ; preds = %0
  %12 = add nsw i32 %6, -3
  br label %32

; <label>:13:                                     ; preds = %0
  %14 = icmp ult i32 %6, 3
  br i1 %14, label %15, label %30

; <label>:15:                                     ; preds = %13
  %16 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %17 = icmp eq i32 %16, 0
  br i1 %17, label %18, label %70

; <label>:18:                                     ; preds = %15
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %20 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %21 = icmp ult i32 %20, 15
  br i1 %21, label %27, label %22

; <label>:22:                                     ; preds = %18
  %23 = icmp eq i32 %20, 15
  %24 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %25 = select i1 %23, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %24
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %26 = getelementptr inbounds i8, i8* %25, i32 15
  store i8 0, i8* %26, align 1, !tbaa !12
  br label %29

; <label>:27:                                     ; preds = %18
  %28 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %29

; <label>:29:                                     ; preds = %27, %22
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  br label %70

; <label>:30:                                     ; preds = %13
  %31 = add nsw i32 %6, -3
  store i32 %31, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %32

; <label>:32:                                     ; preds = %30, %11
  %33 = phi i32 [ %12, %11 ], [ %31, %30 ]
  %34 = add nsw i32 %6, -1
  %35 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %34
  %36 = add nsw i32 %6, -2
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %36
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = icmp eq i32 %39, 0
  br i1 %40, label %54, label %41

; <label>:41:                                     ; preds = %32
  %42 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %43 = icmp eq i32 %42, 0
  br i1 %43, label %44, label %70

; <label>:44:                                     ; preds = %41
  %45 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %45) #14
  %46 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %47 = icmp ult i32 %46, 16
  br i1 %47, label %51, label %48

; <label>:48:                                     ; preds = %44
  %49 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %49, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %50 = getelementptr inbounds i8, i8* %49, i32 16
  store i8 0, i8* %50, align 1, !tbaa !12
  br label %53

; <label>:51:                                     ; preds = %44
  %52 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %53

; <label>:53:                                     ; preds = %51, %48
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %45) #14
  br label %70

; <label>:54:                                     ; preds = %32
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33
  %56 = bitcast %class.variant.43* %55 to i8*
  %57 = load i8, i8* %56, align 1, !tbaa !566, !range !382
  %58 = icmp eq i8 %57, 0
  br i1 %58, label %61, label %59

; <label>:59:                                     ; preds = %54
  %60 = bitcast %class.variant.43* %37 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %56, i8* %60, i32 16, i32 8, i1 false), !tbaa.struct !567
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %35) #14
  br label %63

; <label>:61:                                     ; preds = %54
  %62 = bitcast %class.variant.43* %35 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %56, i8* %62, i32 16, i32 8, i1 false), !tbaa.struct !567
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %37) #14
  br label %63

; <label>:63:                                     ; preds = %61, %59
  %64 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %65 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %66 = sub i32 %64, %65
  %67 = ashr exact i32 %66, 4
  %68 = add nsw i32 %67, -2
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %68, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %69 = tail call zeroext i1 @builtinCall()
  br label %70

; <label>:70:                                     ; preds = %63, %53, %41, %29, %15
  %71 = phi i1 [ false, %29 ], [ false, %15 ], [ %69, %63 ], [ false, %53 ], [ false, %41 ]
  ret i1 %71
}

; Function Attrs: nounwind
define zeroext i1 @builtinImportDynamic() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::vector.34", align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::vector.34", align 4
  %18 = alloca i32, align 4
  %19 = alloca i8*, align 4
  %20 = alloca %"class.std::basic_string", align 4
  %21 = alloca %"struct.std::pair.40", align 4
  %22 = alloca %"struct.std::pair.41", align 4
  %23 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %24 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %25 = sub i32 %23, %24
  %26 = ashr exact i32 %25, 4
  %27 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %28 = sub i32 %26, %27
  %29 = icmp ult i32 %28, 4
  %30 = inttoptr i32 %24 to %class.variant.43*
  br i1 %29, label %33, label %31

; <label>:31:                                     ; preds = %0
  %32 = add nsw i32 %26, -4
  br label %52

; <label>:33:                                     ; preds = %0
  %34 = icmp ult i32 %26, 4
  br i1 %34, label %35, label %50

; <label>:35:                                     ; preds = %33
  %36 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %37 = icmp eq i32 %36, 0
  br i1 %37, label %38, label %753

; <label>:38:                                     ; preds = %35
  %39 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %39) #14
  %40 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %41 = icmp ult i32 %40, 15
  br i1 %41, label %47, label %42

; <label>:42:                                     ; preds = %38
  %43 = icmp eq i32 %40, 15
  %44 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %45 = select i1 %43, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %44
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %46 = getelementptr inbounds i8, i8* %45, i32 15
  store i8 0, i8* %46, align 1, !tbaa !12
  br label %49

; <label>:47:                                     ; preds = %38
  %48 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %49

; <label>:49:                                     ; preds = %47, %42
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %39) #14
  br label %753

; <label>:50:                                     ; preds = %33
  %51 = add nsw i32 %26, -4
  store i32 %51, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %52

; <label>:52:                                     ; preds = %50, %31
  %53 = phi i32 [ %32, %31 ], [ %51, %50 ]
  %54 = add nsw i32 %26, -1
  %55 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %54
  %56 = add nsw i32 %26, -2
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %56
  %58 = add nsw i32 %26, -3
  %59 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %58
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %53
  %61 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %53, i32 1
  %62 = load i32, i32* %61, align 8, !tbaa !535
  %63 = icmp eq i32 %62, 17
  br i1 %63, label %64, label %68

; <label>:64:                                     ; preds = %52
  %65 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %58, i32 1
  %66 = load i32, i32* %65, align 8, !tbaa !535
  %67 = icmp eq i32 %66, 17
  br i1 %67, label %81, label %68

; <label>:68:                                     ; preds = %64, %52
  %69 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %70 = icmp eq i32 %69, 0
  br i1 %70, label %71, label %753

; <label>:71:                                     ; preds = %68
  %72 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %72) #14
  %73 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %74 = icmp ult i32 %73, 17
  br i1 %74, label %78, label %75

; <label>:75:                                     ; preds = %71
  %76 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %76, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %77 = getelementptr inbounds i8, i8* %76, i32 17
  store i8 0, i8* %77, align 1, !tbaa !12
  br label %80

; <label>:78:                                     ; preds = %71
  %79 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %80

; <label>:80:                                     ; preds = %78, %75
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %72) #14
  br label %753

; <label>:81:                                     ; preds = %64
  %82 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %82) #14
  %83 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %84 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %85 = bitcast i32* %83 to i64*
  store i64 0, i64* %85, align 4
  store i32 15, i32* %84, align 4, !tbaa !81
  store i8 0, i8* %82, align 4, !tbaa !12
  %86 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %56, i32 1
  %87 = load i32, i32* %86, align 8, !tbaa !535
  switch i32 %87, label %173 [
    i32 13, label %88
    i32 14, label %110
  ]

; <label>:88:                                     ; preds = %81
  %89 = bitcast %class.variant.43* %57 to %"struct.std::pair.23"**
  %90 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %89, align 4, !tbaa !542
  %91 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %90, i32 0, i32 0
  %92 = icmp eq %"class.std::basic_string"* %91, %13
  br i1 %92, label %186, label %93

; <label>:93:                                     ; preds = %88
  %94 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %90, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %95 = load i32, i32* %94, align 4, !tbaa !83
  %96 = bitcast %"struct.std::pair.23"* %90 to i8*
  %97 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %90, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %98 = load i32, i32* %97, align 4, !tbaa !81
  %99 = icmp ugt i32 %98, 15
  %100 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %90, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %101 = load i8*, i8** %100, align 4
  %102 = select i1 %99, i8* %101, i8* %96
  %103 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %103) #14
  %104 = icmp ugt i32 %95, 15
  br i1 %104, label %107, label %105

; <label>:105:                                    ; preds = %93
  store i32 %95, i32* %83, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %82, i8* %102, i32 %95, i32 1, i1 false) #14
  %106 = getelementptr inbounds i8, i8* %82, i32 %95
  store i8 0, i8* %106, align 1, !tbaa !12
  br label %109

; <label>:107:                                    ; preds = %93
  %108 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %13, i32 %95, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %102) #14
  br label %109

; <label>:109:                                    ; preds = %107, %105
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %103) #14
  br label %186

; <label>:110:                                    ; preds = %81
  %111 = bitcast %class.variant.43* %57 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %112 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %111, align 4, !tbaa !549
  %113 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %112, i32 0, i32 1
  %114 = icmp eq %"class.std::basic_string"* %113, %13
  br i1 %114, label %133, label %115

; <label>:115:                                    ; preds = %110
  %116 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %112, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %117 = load i32, i32* %116, align 4, !tbaa !83
  %118 = bitcast %"class.std::basic_string"* %113 to i8*
  %119 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %112, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %120 = load i32, i32* %119, align 4, !tbaa !81
  %121 = icmp ugt i32 %120, 15
  %122 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %113, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %123 = load i8*, i8** %122, align 4
  %124 = select i1 %121, i8* %123, i8* %118
  %125 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %125) #14
  %126 = icmp ugt i32 %117, 15
  br i1 %126, label %129, label %127

; <label>:127:                                    ; preds = %115
  store i32 %117, i32* %83, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %82, i8* %124, i32 %117, i32 1, i1 false) #14
  %128 = getelementptr inbounds i8, i8* %82, i32 %117
  store i8 0, i8* %128, align 1, !tbaa !12
  br label %131

; <label>:129:                                    ; preds = %115
  %130 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %13, i32 %117, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %124) #14
  br label %131

; <label>:131:                                    ; preds = %129, %127
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %125) #14
  %132 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %111, align 4, !tbaa !549
  br label %133

; <label>:133:                                    ; preds = %131, %110
  %134 = phi %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* [ %112, %110 ], [ %132, %131 ]
  %135 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 0
  %136 = load i32, i32* %135, align 4, !tbaa !547
  %137 = icmp eq i32 %136, 1
  br i1 %137, label %140, label %138

; <label>:138:                                    ; preds = %133
  %139 = add i32 %136, -1
  store i32 %139, i32* %135, align 4, !tbaa !547
  br label %186

; <label>:140:                                    ; preds = %133
  %141 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, null
  br i1 %141, label %186, label %142

; <label>:142:                                    ; preds = %140
  %143 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %144 = load i32, i32* %143, align 4, !tbaa !81
  %145 = icmp ugt i32 %144, 15
  br i1 %145, label %146, label %171

; <label>:146:                                    ; preds = %142
  %147 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %148 = load i8*, i8** %147, align 4, !tbaa !12
  %149 = add i32 %144, 1
  %150 = icmp ugt i32 %149, 4095
  br i1 %150, label %151, label %168

; <label>:151:                                    ; preds = %146
  %152 = add i32 %144, 36
  %153 = icmp ugt i32 %149, -36
  br i1 %153, label %167, label %154

; <label>:154:                                    ; preds = %151
  %155 = ptrtoint i8* %148 to i32
  %156 = and i32 %155, 31
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %167

; <label>:158:                                    ; preds = %154
  %159 = add i32 %155, -4
  %160 = inttoptr i32 %159 to i32*
  %161 = load i32, i32* %160, align 4, !tbaa !24
  %162 = icmp ult i32 %161, %155
  br i1 %162, label %163, label %167

; <label>:163:                                    ; preds = %158
  %164 = sub i32 %159, %161
  %165 = icmp ugt i32 %164, 31
  %166 = inttoptr i32 %161 to i8*
  br i1 %165, label %167, label %168

; <label>:167:                                    ; preds = %163, %158, %154, %151
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:168:                                    ; preds = %163, %146
  %169 = phi i8* [ %166, %163 ], [ %148, %146 ]
  %170 = phi i32 [ %152, %163 ], [ %149, %146 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %169, i32 %170) #14
  br label %171

; <label>:171:                                    ; preds = %168, %142
  %172 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %134 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %172) #21
  br label %186

; <label>:173:                                    ; preds = %81
  %174 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %175 = icmp eq i32 %174, 0
  br i1 %175, label %176, label %723

; <label>:176:                                    ; preds = %173
  %177 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %177) #14
  %178 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %179 = icmp ult i32 %178, 17
  br i1 %179, label %183, label %180

; <label>:180:                                    ; preds = %176
  %181 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %181, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %182 = getelementptr inbounds i8, i8* %181, i32 17
  store i8 0, i8* %182, align 1, !tbaa !12
  br label %185

; <label>:183:                                    ; preds = %176
  %184 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %185

; <label>:185:                                    ; preds = %183, %180
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %177) #14
  br label %723

; <label>:186:                                    ; preds = %171, %140, %138, %109, %88
  %187 = getelementptr inbounds %class.variant.43, %class.variant.43* %30, i32 %54, i32 1
  %188 = load i32, i32* %187, align 8, !tbaa !535
  switch i32 %188, label %303 [
    i32 13, label %189
    i32 14, label %192
  ]

; <label>:189:                                    ; preds = %186
  %190 = bitcast %class.variant.43* %55 to i32*
  %191 = load i32, i32* %190, align 4, !tbaa !542
  br label %316

; <label>:192:                                    ; preds = %186
  %193 = bitcast %"class.std::basic_string"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %193) #14
  %194 = bitcast %class.variant.43* %55 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %195 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %194, align 4, !tbaa !549
  %196 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %195, i32 0, i32 1
  %197 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %197, align 4, !tbaa !83
  %198 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %198, align 4, !tbaa !81
  %199 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %195, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %200 = load i32, i32* %199, align 4, !tbaa !83
  %201 = bitcast %"class.std::basic_string"* %196 to i8*
  %202 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %195, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %203 = load i32, i32* %202, align 4, !tbaa !81
  %204 = icmp ugt i32 %203, 15
  %205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %196, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %206 = load i8*, i8** %205, align 4
  %207 = select i1 %204, i8* %206, i8* %201
  %208 = icmp ult i32 %200, 16
  br i1 %208, label %209, label %210

; <label>:209:                                    ; preds = %192
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %193, i8* %207, i32 16, i32 1, i1 false) #14
  br label %232

; <label>:210:                                    ; preds = %192
  %211 = or i32 %200, 15
  %212 = icmp ult i32 %211, 2147483647
  %213 = select i1 %212, i32 %211, i32 2147483647
  %214 = icmp ugt i32 %213, 4094
  br i1 %214, label %215, label %224

; <label>:215:                                    ; preds = %210
  %216 = add nuw i32 %213, 36
  %217 = call i8* @"\01??2@YAPAXI@Z"(i32 %216) #14
  %218 = ptrtoint i8* %217 to i32
  %219 = add i32 %218, 35
  %220 = and i32 %219, -32
  %221 = inttoptr i32 %220 to i8*
  %222 = inttoptr i32 %220 to i32*
  %223 = getelementptr inbounds i32, i32* %222, i32 -1
  store i32 %218, i32* %223, align 4, !tbaa !24
  br label %227

; <label>:224:                                    ; preds = %210
  %225 = add nuw i32 %213, 1
  %226 = call i8* @"\01??2@YAPAXI@Z"(i32 %225) #14
  br label %227

; <label>:227:                                    ; preds = %224, %215
  %228 = phi i8* [ %221, %215 ], [ %226, %224 ]
  %229 = ptrtoint i8* %228 to i32
  %230 = bitcast %"class.std::basic_string"* %14 to i32*
  store i32 %229, i32* %230, align 4, !tbaa !23
  %231 = add i32 %200, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %228, i8* %207, i32 %231, i32 1, i1 false) #14
  br label %232

; <label>:232:                                    ; preds = %227, %209
  %233 = phi i32 [ %213, %227 ], [ 15, %209 ]
  store i32 %200, i32* %197, align 4, !tbaa !83
  store i32 %233, i32* %198, align 4, !tbaa !81
  %234 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %14) #14
  %235 = ptrtoint %"struct.std::pair.23"* %234 to i32
  %236 = load i32, i32* %198, align 4, !tbaa !81
  %237 = icmp ugt i32 %236, 15
  br i1 %237, label %238, label %263

; <label>:238:                                    ; preds = %232
  %239 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %240 = load i8*, i8** %239, align 4, !tbaa !12
  %241 = add i32 %236, 1
  %242 = icmp ugt i32 %241, 4095
  br i1 %242, label %243, label %260

; <label>:243:                                    ; preds = %238
  %244 = add i32 %236, 36
  %245 = icmp ugt i32 %241, -36
  br i1 %245, label %259, label %246

; <label>:246:                                    ; preds = %243
  %247 = ptrtoint i8* %240 to i32
  %248 = and i32 %247, 31
  %249 = icmp eq i32 %248, 0
  br i1 %249, label %250, label %259

; <label>:250:                                    ; preds = %246
  %251 = add i32 %247, -4
  %252 = inttoptr i32 %251 to i32*
  %253 = load i32, i32* %252, align 4, !tbaa !24
  %254 = icmp ult i32 %253, %247
  br i1 %254, label %255, label %259

; <label>:255:                                    ; preds = %250
  %256 = sub i32 %251, %253
  %257 = icmp ugt i32 %256, 31
  %258 = inttoptr i32 %253 to i8*
  br i1 %257, label %259, label %260

; <label>:259:                                    ; preds = %255, %250, %246, %243
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:260:                                    ; preds = %255, %238
  %261 = phi i8* [ %258, %255 ], [ %240, %238 ]
  %262 = phi i32 [ %244, %255 ], [ %241, %238 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %261, i32 %262) #14
  br label %263

; <label>:263:                                    ; preds = %260, %232
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %193) #14
  %264 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %194, align 4, !tbaa !549
  %265 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %264, i32 0, i32 0
  %266 = load i32, i32* %265, align 4, !tbaa !547
  %267 = icmp eq i32 %266, 1
  br i1 %267, label %270, label %268

; <label>:268:                                    ; preds = %263
  %269 = add i32 %266, -1
  store i32 %269, i32* %265, align 4, !tbaa !547
  br label %316

; <label>:270:                                    ; preds = %263
  %271 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %264, null
  br i1 %271, label %316, label %272

; <label>:272:                                    ; preds = %270
  %273 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %264, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %274 = load i32, i32* %273, align 4, !tbaa !81
  %275 = icmp ugt i32 %274, 15
  br i1 %275, label %276, label %301

; <label>:276:                                    ; preds = %272
  %277 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %264, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %278 = load i8*, i8** %277, align 4, !tbaa !12
  %279 = add i32 %274, 1
  %280 = icmp ugt i32 %279, 4095
  br i1 %280, label %281, label %298

; <label>:281:                                    ; preds = %276
  %282 = add i32 %274, 36
  %283 = icmp ugt i32 %279, -36
  br i1 %283, label %297, label %284

; <label>:284:                                    ; preds = %281
  %285 = ptrtoint i8* %278 to i32
  %286 = and i32 %285, 31
  %287 = icmp eq i32 %286, 0
  br i1 %287, label %288, label %297

; <label>:288:                                    ; preds = %284
  %289 = add i32 %285, -4
  %290 = inttoptr i32 %289 to i32*
  %291 = load i32, i32* %290, align 4, !tbaa !24
  %292 = icmp ult i32 %291, %285
  br i1 %292, label %293, label %297

; <label>:293:                                    ; preds = %288
  %294 = sub i32 %289, %291
  %295 = icmp ugt i32 %294, 31
  %296 = inttoptr i32 %291 to i8*
  br i1 %295, label %297, label %298

; <label>:297:                                    ; preds = %293, %288, %284, %281
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:298:                                    ; preds = %293, %276
  %299 = phi i8* [ %296, %293 ], [ %278, %276 ]
  %300 = phi i32 [ %282, %293 ], [ %279, %276 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %299, i32 %300) #14
  br label %301

; <label>:301:                                    ; preds = %298, %272
  %302 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %264 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %302) #21
  br label %316

; <label>:303:                                    ; preds = %186
  %304 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %305 = icmp eq i32 %304, 0
  br i1 %305, label %306, label %723

; <label>:306:                                    ; preds = %303
  %307 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %307) #14
  %308 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %309 = icmp ult i32 %308, 17
  br i1 %309, label %313, label %310

; <label>:310:                                    ; preds = %306
  %311 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %311, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %312 = getelementptr inbounds i8, i8* %311, i32 17
  store i8 0, i8* %312, align 1, !tbaa !12
  br label %315

; <label>:313:                                    ; preds = %306
  %314 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %315

; <label>:315:                                    ; preds = %313, %310
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %307) #14
  br label %723

; <label>:316:                                    ; preds = %301, %270, %268, %189
  %317 = phi i32 [ %191, %189 ], [ %235, %268 ], [ %235, %270 ], [ %235, %301 ]
  %318 = and i32 %317, 255
  %319 = xor i32 %318, -2128831035
  %320 = mul i32 %319, 16777619
  %321 = lshr i32 %317, 8
  %322 = and i32 %321, 255
  %323 = xor i32 %320, %322
  %324 = mul i32 %323, 16777619
  %325 = lshr i32 %317, 16
  %326 = and i32 %325, 255
  %327 = xor i32 %324, %326
  %328 = mul i32 %327, 16777619
  %329 = lshr i32 %317, 24
  %330 = xor i32 %328, %329
  %331 = mul i32 %330, 16777619
  %332 = load i32, i32* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 3), align 4, !tbaa !574, !noalias !579
  %333 = and i32 %331, %332
  %334 = shl i32 %333, 1
  %335 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23, !noalias !582
  %336 = load i32, i32* bitcast (%"class.std::list.27"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !585
  %337 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %335, i32 %334, i32 0, i32 0
  %338 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %337, align 4, !tbaa !592, !noalias !594
  %339 = inttoptr i32 %336 to %"struct.std::_List_node.32"*
  %340 = icmp eq %"struct.std::_List_node.32"* %338, %339
  %341 = inttoptr i32 %317 to %"struct.std::pair.23"*
  br i1 %340, label %383, label %342

; <label>:342:                                    ; preds = %316
  %343 = or i32 %334, 1
  %344 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %335, i32 %343, i32 0
  %345 = bitcast %"class.std::_List_unchecked_const_iterator.33"* %344 to %"struct.std::_List_node.32"***
  %346 = load %"struct.std::_List_node.32"**, %"struct.std::_List_node.32"*** %345, align 4, !noalias !594
  %347 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %346, align 4, !tbaa !595, !noalias !594
  %348 = icmp eq %"struct.std::_List_node.32"* %347, %338
  br i1 %348, label %383, label %349

; <label>:349:                                    ; preds = %342
  %350 = ptrtoint %"struct.std::_List_node.32"* %338 to i32
  br label %351

; <label>:351:                                    ; preds = %378, %349
  %352 = phi %"struct.std::_List_node.32"* [ %381, %378 ], [ %338, %349 ]
  %353 = phi i32 [ %380, %378 ], [ %350, %349 ]
  %354 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %352, i32 0, i32 2, i32 0
  %355 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %354, align 4, !tbaa !23, !noalias !579
  %356 = icmp eq %"struct.std::pair.23"* %355, %341
  br i1 %356, label %357, label %378

; <label>:357:                                    ; preds = %351
  %358 = inttoptr i32 %353 to %"struct.std::_List_node.32"*
  %359 = icmp eq %"struct.std::_List_node.32"* %347, %358
  br i1 %359, label %372, label %360

; <label>:360:                                    ; preds = %357
  br label %361

; <label>:361:                                    ; preds = %367, %360
  %362 = phi %"struct.std::_List_node.32"* [ %370, %367 ], [ %358, %360 ]
  %363 = phi i32 [ %369, %367 ], [ %353, %360 ]
  %364 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %362, i32 0, i32 2, i32 0
  %365 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %364, align 4, !tbaa !23, !noalias !579
  %366 = icmp eq %"struct.std::pair.23"* %365, %341
  br i1 %366, label %367, label %372

; <label>:367:                                    ; preds = %361
  %368 = inttoptr i32 %363 to i32*
  %369 = load i32, i32* %368, align 4, !tbaa !595, !noalias !579
  %370 = inttoptr i32 %369 to %"struct.std::_List_node.32"*
  %371 = icmp eq %"struct.std::_List_node.32"* %347, %370
  br i1 %371, label %372, label %361

; <label>:372:                                    ; preds = %367, %361, %357
  %373 = phi %"struct.std::_List_node.32"* [ %347, %357 ], [ %362, %361 ], [ %347, %367 ]
  %374 = phi i32 [ %353, %357 ], [ %363, %361 ], [ %369, %367 ]
  %375 = icmp eq %"struct.std::_List_node.32"* %352, %373
  %376 = select i1 %375, i32 %336, i32 %353
  %377 = select i1 %375, i32 %336, i32 %374
  br label %383

; <label>:378:                                    ; preds = %351
  %379 = inttoptr i32 %353 to i32*
  %380 = load i32, i32* %379, align 4, !noalias !579
  %381 = inttoptr i32 %380 to %"struct.std::_List_node.32"*
  %382 = icmp eq %"struct.std::_List_node.32"* %347, %381
  br i1 %382, label %383, label %351

; <label>:383:                                    ; preds = %378, %372, %342, %316
  %384 = phi i32 [ %376, %372 ], [ %336, %316 ], [ %336, %342 ], [ %336, %378 ]
  %385 = phi i32 [ %377, %372 ], [ %336, %316 ], [ %336, %342 ], [ %336, %378 ]
  %386 = inttoptr i32 %385 to %"struct.std::_List_node.32"*
  %387 = inttoptr i32 %384 to %"struct.std::_List_node.32"*
  %388 = icmp eq %"struct.std::_List_node.32"* %387, %386
  br i1 %388, label %409, label %389

; <label>:389:                                    ; preds = %383
  br label %390

; <label>:390:                                    ; preds = %390, %389
  %391 = phi i32 [ %393, %390 ], [ %384, %389 ]
  %392 = inttoptr i32 %391 to i32*
  %393 = load i32, i32* %392, align 4, !tbaa !595
  %394 = inttoptr i32 %393 to %"struct.std::_List_node.32"*
  %395 = icmp eq %"struct.std::_List_node.32"* %394, %386
  br i1 %395, label %396, label %390

; <label>:396:                                    ; preds = %390
  %397 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %398 = icmp eq i32 %397, 0
  br i1 %398, label %399, label %723

; <label>:399:                                    ; preds = %396
  %400 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %400) #14
  %401 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %402 = icmp ult i32 %401, 40
  br i1 %402, label %406, label %403

; <label>:403:                                    ; preds = %399
  %404 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 40, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %404, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @"\01??_C@_0CJ@CILIKIOE@already?5imported?5function?5with?5s@", i32 0, i32 0), i32 40, i32 1, i1 false) #14
  %405 = getelementptr inbounds i8, i8* %404, i32 40
  store i8 0, i8* %405, align 1, !tbaa !12
  br label %408

; <label>:406:                                    ; preds = %399
  %407 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 40, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @"\01??_C@_0CJ@CILIKIOE@already?5imported?5function?5with?5s@", i32 0, i32 0)) #14
  br label %408

; <label>:408:                                    ; preds = %406, %403
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %400) #14
  br label %723

; <label>:409:                                    ; preds = %383
  %410 = bitcast %class.variant.43* %60 to %struct.Combined**
  %411 = load %struct.Combined*, %struct.Combined** %410, align 4, !tbaa !23
  %412 = bitcast %"class.std::vector.34"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %412) #14
  %413 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %15, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32* null, i32** %413, align 4, !tbaa !600
  %414 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32* null, i32** %414, align 4, !tbaa !602
  %415 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32* null, i32** %415, align 4, !tbaa !603
  %416 = getelementptr inbounds %struct.Combined, %struct.Combined* %411, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %417 = load %struct.Field*, %struct.Field** %416, align 4, !tbaa !23, !noalias !604
  %418 = getelementptr inbounds %struct.Combined, %struct.Combined* %411, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %419 = load %struct.Field*, %struct.Field** %418, align 4, !tbaa !23, !noalias !607
  %420 = icmp eq %struct.Field* %419, %417
  br i1 %420, label %445, label %421

; <label>:421:                                    ; preds = %409
  %422 = bitcast i32* %16 to i8*
  br label %423

; <label>:423:                                    ; preds = %440, %421
  %424 = phi %struct.Field* [ %417, %421 ], [ %442, %440 ]
  %425 = getelementptr inbounds %struct.Field, %struct.Field* %424, i32 0, i32 1, i32 1
  %426 = load i32, i32* %425, align 8, !tbaa !535
  switch i32 %426, label %440 [
    i32 17, label %427
    i32 5, label %427
  ]

; <label>:427:                                    ; preds = %423, %423
  %428 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %429 = icmp eq i32 %428, 0
  br i1 %429, label %430, label %689

; <label>:430:                                    ; preds = %427
  %431 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %431) #14
  %432 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %433 = icmp ult i32 %432, 21
  br i1 %433, label %437, label %434

; <label>:434:                                    ; preds = %430
  %435 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 21, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %435, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@NGANBCHN@invalid?5argument?5type?$AA@", i32 0, i32 0), i32 21, i32 1, i1 false) #14
  %436 = getelementptr inbounds i8, i8* %435, i32 21
  store i8 0, i8* %436, align 1, !tbaa !12
  br label %439

; <label>:437:                                    ; preds = %430
  %438 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 21, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@NGANBCHN@invalid?5argument?5type?$AA@", i32 0, i32 0)) #14
  br label %439

; <label>:439:                                    ; preds = %437, %434
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %431) #14
  br label %689

; <label>:440:                                    ; preds = %423
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %422) #14
  store i32 %426, i32* %16, align 4, !tbaa !568
  %441 = call x86_thiscallcc dereferenceable(4) i32* @"\01??$emplace_back@W4ValueType@@@?$vector@W4ValueType@@V?$allocator@W4ValueType@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAW4ValueType@@@Z"(%"class.std::vector.34"* nonnull %15, i32* nonnull dereferenceable(4) %16) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %422) #14
  %442 = getelementptr inbounds %struct.Field, %struct.Field* %424, i32 1
  %443 = load %struct.Field*, %struct.Field** %418, align 4, !tbaa !23, !noalias !607
  %444 = icmp eq %struct.Field* %443, %442
  br i1 %444, label %445, label %423

; <label>:445:                                    ; preds = %440, %409
  %446 = bitcast %class.variant.43* %59 to %struct.Combined**
  %447 = load %struct.Combined*, %struct.Combined** %446, align 4, !tbaa !23
  %448 = getelementptr inbounds %struct.Combined, %struct.Combined* %447, i32 0, i32 4
  %449 = getelementptr inbounds %struct.Combined, %struct.Combined* %447, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %450 = bitcast %struct.Field** %449 to i32*
  %451 = load i32, i32* %450, align 4, !tbaa !23
  %452 = bitcast %"class.std::vector.17"* %448 to i32*
  %453 = load i32, i32* %452, align 4, !tbaa !23
  %454 = sub i32 %451, %453
  %455 = sdiv exact i32 %454, 24
  %456 = icmp ugt i32 %455, 1
  %457 = inttoptr i32 %453 to %struct.Field*
  br i1 %456, label %458, label %471

; <label>:458:                                    ; preds = %445
  %459 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %460 = icmp eq i32 %459, 0
  br i1 %460, label %461, label %689

; <label>:461:                                    ; preds = %458
  %462 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %462) #14
  %463 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %464 = icmp ult i32 %463, 23
  br i1 %464, label %468, label %465

; <label>:465:                                    ; preds = %461
  %466 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 23, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %466, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@FMHIGIAA@unsupported?5output?5size?$AA@", i32 0, i32 0), i32 23, i32 1, i1 false) #14
  %467 = getelementptr inbounds i8, i8* %466, i32 23
  store i8 0, i8* %467, align 1, !tbaa !12
  br label %470

; <label>:468:                                    ; preds = %461
  %469 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 23, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @"\01??_C@_0BI@FMHIGIAA@unsupported?5output?5size?$AA@", i32 0, i32 0)) #14
  br label %470

; <label>:470:                                    ; preds = %468, %465
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %462) #14
  br label %689

; <label>:471:                                    ; preds = %445
  %472 = bitcast %"class.std::vector.34"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %472) #14
  %473 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %17, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32* null, i32** %473, align 4, !tbaa !600
  %474 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32* null, i32** %474, align 4, !tbaa !602
  %475 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32* null, i32** %475, align 4, !tbaa !603
  %476 = icmp eq i32 %454, 24
  br i1 %476, label %477, label %496

; <label>:477:                                    ; preds = %471
  %478 = getelementptr inbounds %struct.Field, %struct.Field* %457, i32 0, i32 1, i32 1
  %479 = load i32, i32* %478, align 8, !tbaa !535
  switch i32 %479, label %493 [
    i32 17, label %480
    i32 5, label %480
  ]

; <label>:480:                                    ; preds = %477, %477
  %481 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %482 = icmp eq i32 %481, 0
  br i1 %482, label %483, label %655

; <label>:483:                                    ; preds = %480
  %484 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %484) #14
  %485 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %486 = icmp ult i32 %485, 19
  br i1 %486, label %490, label %487

; <label>:487:                                    ; preds = %483
  %488 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 19, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %488, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"\01??_C@_0BE@BAIDNNBL@invalid?5output?5type?$AA@", i32 0, i32 0), i32 19, i32 1, i1 false) #14
  %489 = getelementptr inbounds i8, i8* %488, i32 19
  store i8 0, i8* %489, align 1, !tbaa !12
  br label %492

; <label>:490:                                    ; preds = %483
  %491 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 19, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"\01??_C@_0BE@BAIDNNBL@invalid?5output?5type?$AA@", i32 0, i32 0)) #14
  br label %492

; <label>:492:                                    ; preds = %490, %487
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %484) #14
  br label %655

; <label>:493:                                    ; preds = %477
  %494 = bitcast i32* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %494) #14
  store i32 %479, i32* %18, align 4, !tbaa !568
  %495 = call x86_thiscallcc dereferenceable(4) i32* @"\01??$emplace_back@W4ValueType@@@?$vector@W4ValueType@@V?$allocator@W4ValueType@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAW4ValueType@@@Z"(%"class.std::vector.34"* nonnull %17, i32* nonnull dereferenceable(4) %18) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %494) #14
  br label %496

; <label>:496:                                    ; preds = %493, %471
  %497 = bitcast i8** %19 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %497) #14
  store i8* null, i8** %19, align 4, !tbaa !23
  %498 = bitcast %"class.std::basic_string"* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %498) #14
  %499 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %341, i32 0, i32 0
  call void @"\01?getLocation@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@0AAPAX@Z"(%"class.std::basic_string"* nonnull sret %20, %"class.std::basic_string"* nonnull dereferenceable(24) %13, %"class.std::basic_string"* dereferenceable(24) %499, i8** nonnull dereferenceable(4) %19) #14
  %500 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 1
  %501 = load i32, i32* %500, align 4, !tbaa !83
  %502 = icmp eq i32 %501, 0
  br i1 %502, label %521, label %503

; <label>:503:                                    ; preds = %496
  %504 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 2
  %505 = load i32, i32* %504, align 4, !tbaa !81
  %506 = icmp ugt i32 %505, 15
  %507 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %508 = load i8*, i8** %507, align 4
  %509 = select i1 %506, i8* %508, i8* %498
  %510 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %510) #14
  %511 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %512 = icmp ult i32 %511, %501
  br i1 %512, label %518, label %513

; <label>:513:                                    ; preds = %503
  %514 = icmp ugt i32 %511, 15
  %515 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %516 = select i1 %514, i8* %515, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 %501, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %516, i8* %509, i32 %501, i32 1, i1 false) #14
  %517 = getelementptr inbounds i8, i8* %516, i32 %501
  store i8 0, i8* %517, align 1, !tbaa !12
  br label %520

; <label>:518:                                    ; preds = %503
  %519 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 %501, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %509) #14
  br label %520

; <label>:520:                                    ; preds = %518, %513
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %510) #14
  br label %624

; <label>:521:                                    ; preds = %496
  %522 = bitcast %"struct.std::pair.40"* %21 to i8*
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %522) #14
  %523 = bitcast i8** %19 to i32*
  %524 = load i32, i32* %523, align 4, !tbaa !23
  %525 = bitcast %"class.std::vector.34"* %15 to i32*
  %526 = load i32, i32* %525, align 4, !tbaa !23
  %527 = bitcast i32** %414 to i32*
  %528 = load i32, i32* %527, align 4, !tbaa !23
  %529 = bitcast i32** %415 to i32*
  %530 = load i32, i32* %529, align 4, !tbaa !23
  store i32* null, i32** %413, align 4, !tbaa !23
  store i32* null, i32** %414, align 4, !tbaa !23
  store i32* null, i32** %415, align 4, !tbaa !23
  %531 = bitcast %"class.std::vector.34"* %17 to i32*
  %532 = load i32, i32* %531, align 4, !tbaa !23
  %533 = bitcast i32** %474 to i32*
  %534 = load i32, i32* %533, align 4, !tbaa !23
  %535 = bitcast i32** %475 to i32*
  %536 = load i32, i32* %535, align 4, !tbaa !23
  store i32* null, i32** %473, align 4, !tbaa !23
  store i32* null, i32** %474, align 4, !tbaa !23
  store i32* null, i32** %475, align 4, !tbaa !23
  %537 = bitcast %"struct.std::pair.40"* %21 to i32*
  store i32 %317, i32* %537, align 4, !tbaa !610
  %538 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1
  %539 = bitcast %struct.ImportedFunction* %538 to i32*
  store i32 %524, i32* %539, align 4, !tbaa !611
  %540 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 1
  %541 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 1
  %542 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 2
  %543 = bitcast %"class.std::vector.34"* %540 to i32*
  store i32 %526, i32* %543, align 4, !tbaa !23
  %544 = bitcast i32** %541 to i32*
  store i32 %528, i32* %544, align 4, !tbaa !23
  %545 = bitcast i32** %542 to i32*
  store i32 %530, i32* %545, align 4, !tbaa !23
  %546 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 2
  %547 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %548 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 2
  %549 = bitcast %"class.std::vector.34"* %546 to i32*
  store i32 %532, i32* %549, align 4, !tbaa !23
  %550 = bitcast i32** %547 to i32*
  store i32 %534, i32* %550, align 4, !tbaa !23
  %551 = bitcast i32** %548 to i32*
  store i32 %536, i32* %551, align 4, !tbaa !23
  %552 = bitcast %"struct.std::pair.41"* %22 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %552) #14
  %553 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %553)
  call x86_thiscallcc void @"\01??$_Insert@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash.26"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.41"* nonnull sret %22, %"struct.std::pair.40"* nonnull dereferenceable(32) %21, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %553)
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %552) #14
  %554 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0
  %555 = load i32*, i32** %554, align 4, !tbaa !23
  %556 = icmp eq i32* %555, null
  %557 = ptrtoint i32* %555 to i32
  br i1 %556, label %585, label %558

; <label>:558:                                    ; preds = %521
  %559 = load i32, i32* %551, align 4, !tbaa !23
  %560 = sub i32 %559, %557
  %561 = ashr exact i32 %560, 2
  %562 = icmp ugt i32 %561, 1073741823
  br i1 %562, label %581, label %563

; <label>:563:                                    ; preds = %558
  %564 = bitcast i32* %555 to i8*
  %565 = icmp ugt i32 %560, 4095
  br i1 %565, label %566, label %582

; <label>:566:                                    ; preds = %563
  %567 = add i32 %560, 35
  %568 = icmp ult i32 %560, -35
  %569 = and i32 %557, 31
  %570 = icmp eq i32 %569, 0
  %571 = and i1 %570, %568
  br i1 %571, label %572, label %581

; <label>:572:                                    ; preds = %566
  %573 = add i32 %557, -4
  %574 = inttoptr i32 %573 to i32*
  %575 = load i32, i32* %574, align 4, !tbaa !24
  %576 = icmp ult i32 %575, %557
  br i1 %576, label %577, label %581

; <label>:577:                                    ; preds = %572
  %578 = sub i32 %573, %575
  %579 = icmp ugt i32 %578, 31
  %580 = inttoptr i32 %575 to i8*
  br i1 %579, label %581, label %582

; <label>:581:                                    ; preds = %577, %572, %566, %558
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:582:                                    ; preds = %577, %563
  %583 = phi i8* [ %580, %577 ], [ %564, %563 ]
  %584 = phi i32 [ %567, %577 ], [ %560, %563 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %583, i32 %584) #14
  store i32* null, i32** %554, align 4, !tbaa !23
  store i32* null, i32** %547, align 4, !tbaa !23
  store i32* null, i32** %548, align 4, !tbaa !23
  br label %585

; <label>:585:                                    ; preds = %582, %521
  %586 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %21, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0
  %587 = load i32*, i32** %586, align 4, !tbaa !23
  %588 = icmp eq i32* %587, null
  %589 = ptrtoint i32* %587 to i32
  br i1 %588, label %617, label %590

; <label>:590:                                    ; preds = %585
  %591 = load i32, i32* %545, align 4, !tbaa !23
  %592 = sub i32 %591, %589
  %593 = ashr exact i32 %592, 2
  %594 = icmp ugt i32 %593, 1073741823
  br i1 %594, label %613, label %595

; <label>:595:                                    ; preds = %590
  %596 = bitcast i32* %587 to i8*
  %597 = icmp ugt i32 %592, 4095
  br i1 %597, label %598, label %614

; <label>:598:                                    ; preds = %595
  %599 = add i32 %592, 35
  %600 = icmp ult i32 %592, -35
  %601 = and i32 %589, 31
  %602 = icmp eq i32 %601, 0
  %603 = and i1 %602, %600
  br i1 %603, label %604, label %613

; <label>:604:                                    ; preds = %598
  %605 = add i32 %589, -4
  %606 = inttoptr i32 %605 to i32*
  %607 = load i32, i32* %606, align 4, !tbaa !24
  %608 = icmp ult i32 %607, %589
  br i1 %608, label %609, label %613

; <label>:609:                                    ; preds = %604
  %610 = sub i32 %605, %607
  %611 = icmp ugt i32 %610, 31
  %612 = inttoptr i32 %607 to i8*
  br i1 %611, label %613, label %614

; <label>:613:                                    ; preds = %609, %604, %598, %590
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:614:                                    ; preds = %609, %595
  %615 = phi i8* [ %612, %609 ], [ %596, %595 ]
  %616 = phi i32 [ %599, %609 ], [ %592, %595 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %615, i32 %616) #14
  store i32* null, i32** %586, align 4, !tbaa !23
  store i32* null, i32** %541, align 4, !tbaa !23
  store i32* null, i32** %542, align 4, !tbaa !23
  br label %617

; <label>:617:                                    ; preds = %614, %585
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %522) #14
  %618 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %619 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %620 = sub i32 %618, %619
  %621 = ashr exact i32 %620, 4
  %622 = add nsw i32 %621, -4
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %622, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %411) #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %447) #14
  %623 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 2
  br label %624

; <label>:624:                                    ; preds = %617, %520
  %625 = phi i32* [ %623, %617 ], [ %504, %520 ]
  %626 = phi i1 [ true, %617 ], [ false, %520 ]
  %627 = load i32, i32* %625, align 4, !tbaa !81
  %628 = icmp ugt i32 %627, 15
  br i1 %628, label %629, label %654

; <label>:629:                                    ; preds = %624
  %630 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %631 = load i8*, i8** %630, align 4, !tbaa !12
  %632 = add i32 %627, 1
  %633 = icmp ugt i32 %632, 4095
  br i1 %633, label %634, label %651

; <label>:634:                                    ; preds = %629
  %635 = add i32 %627, 36
  %636 = icmp ugt i32 %632, -36
  br i1 %636, label %650, label %637

; <label>:637:                                    ; preds = %634
  %638 = ptrtoint i8* %631 to i32
  %639 = and i32 %638, 31
  %640 = icmp eq i32 %639, 0
  br i1 %640, label %641, label %650

; <label>:641:                                    ; preds = %637
  %642 = add i32 %638, -4
  %643 = inttoptr i32 %642 to i32*
  %644 = load i32, i32* %643, align 4, !tbaa !24
  %645 = icmp ult i32 %644, %638
  br i1 %645, label %646, label %650

; <label>:646:                                    ; preds = %641
  %647 = sub i32 %642, %644
  %648 = icmp ugt i32 %647, 31
  %649 = inttoptr i32 %644 to i8*
  br i1 %648, label %650, label %651

; <label>:650:                                    ; preds = %646, %641, %637, %634
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:651:                                    ; preds = %646, %629
  %652 = phi i8* [ %649, %646 ], [ %631, %629 ]
  %653 = phi i32 [ %635, %646 ], [ %632, %629 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %652, i32 %653) #14
  br label %654

; <label>:654:                                    ; preds = %651, %624
  store i32 15, i32* %625, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %498) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %497) #14
  br label %655

; <label>:655:                                    ; preds = %654, %492, %480
  %656 = phi i1 [ %626, %654 ], [ false, %492 ], [ false, %480 ]
  %657 = load i32*, i32** %473, align 4, !tbaa !23
  %658 = icmp eq i32* %657, null
  %659 = ptrtoint i32* %657 to i32
  br i1 %658, label %688, label %660

; <label>:660:                                    ; preds = %655
  %661 = bitcast i32** %475 to i32*
  %662 = load i32, i32* %661, align 4, !tbaa !23
  %663 = sub i32 %662, %659
  %664 = ashr exact i32 %663, 2
  %665 = icmp ugt i32 %664, 1073741823
  br i1 %665, label %684, label %666

; <label>:666:                                    ; preds = %660
  %667 = bitcast i32* %657 to i8*
  %668 = icmp ugt i32 %663, 4095
  br i1 %668, label %669, label %685

; <label>:669:                                    ; preds = %666
  %670 = add i32 %663, 35
  %671 = icmp ult i32 %663, -35
  %672 = and i32 %659, 31
  %673 = icmp eq i32 %672, 0
  %674 = and i1 %673, %671
  br i1 %674, label %675, label %684

; <label>:675:                                    ; preds = %669
  %676 = add i32 %659, -4
  %677 = inttoptr i32 %676 to i32*
  %678 = load i32, i32* %677, align 4, !tbaa !24
  %679 = icmp ult i32 %678, %659
  br i1 %679, label %680, label %684

; <label>:680:                                    ; preds = %675
  %681 = sub i32 %676, %678
  %682 = icmp ugt i32 %681, 31
  %683 = inttoptr i32 %678 to i8*
  br i1 %682, label %684, label %685

; <label>:684:                                    ; preds = %680, %675, %669, %660
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:685:                                    ; preds = %680, %666
  %686 = phi i8* [ %683, %680 ], [ %667, %666 ]
  %687 = phi i32 [ %670, %680 ], [ %663, %666 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %686, i32 %687) #14
  store i32* null, i32** %473, align 4, !tbaa !23
  store i32* null, i32** %474, align 4, !tbaa !23
  store i32* null, i32** %475, align 4, !tbaa !23
  br label %688

; <label>:688:                                    ; preds = %685, %655
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %472) #14
  br label %689

; <label>:689:                                    ; preds = %688, %470, %458, %439, %427
  %690 = phi i1 [ %656, %688 ], [ false, %470 ], [ false, %458 ], [ false, %427 ], [ false, %439 ]
  %691 = load i32*, i32** %413, align 4, !tbaa !23
  %692 = icmp eq i32* %691, null
  %693 = ptrtoint i32* %691 to i32
  br i1 %692, label %722, label %694

; <label>:694:                                    ; preds = %689
  %695 = bitcast i32** %415 to i32*
  %696 = load i32, i32* %695, align 4, !tbaa !23
  %697 = sub i32 %696, %693
  %698 = ashr exact i32 %697, 2
  %699 = icmp ugt i32 %698, 1073741823
  br i1 %699, label %718, label %700

; <label>:700:                                    ; preds = %694
  %701 = bitcast i32* %691 to i8*
  %702 = icmp ugt i32 %697, 4095
  br i1 %702, label %703, label %719

; <label>:703:                                    ; preds = %700
  %704 = add i32 %697, 35
  %705 = icmp ult i32 %697, -35
  %706 = and i32 %693, 31
  %707 = icmp eq i32 %706, 0
  %708 = and i1 %707, %705
  br i1 %708, label %709, label %718

; <label>:709:                                    ; preds = %703
  %710 = add i32 %693, -4
  %711 = inttoptr i32 %710 to i32*
  %712 = load i32, i32* %711, align 4, !tbaa !24
  %713 = icmp ult i32 %712, %693
  br i1 %713, label %714, label %718

; <label>:714:                                    ; preds = %709
  %715 = sub i32 %710, %712
  %716 = icmp ugt i32 %715, 31
  %717 = inttoptr i32 %712 to i8*
  br i1 %716, label %718, label %719

; <label>:718:                                    ; preds = %714, %709, %703, %694
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:719:                                    ; preds = %714, %700
  %720 = phi i8* [ %717, %714 ], [ %701, %700 ]
  %721 = phi i32 [ %704, %714 ], [ %697, %700 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %720, i32 %721) #14
  store i32* null, i32** %413, align 4, !tbaa !23
  store i32* null, i32** %414, align 4, !tbaa !23
  store i32* null, i32** %415, align 4, !tbaa !23
  br label %722

; <label>:722:                                    ; preds = %719, %689
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %412) #14
  br label %723

; <label>:723:                                    ; preds = %722, %408, %396, %315, %303, %185, %173
  %724 = phi i1 [ false, %185 ], [ false, %173 ], [ %690, %722 ], [ false, %315 ], [ false, %303 ], [ false, %408 ], [ false, %396 ]
  %725 = load i32, i32* %84, align 4, !tbaa !81
  %726 = icmp ugt i32 %725, 15
  br i1 %726, label %727, label %752

; <label>:727:                                    ; preds = %723
  %728 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %729 = load i8*, i8** %728, align 4, !tbaa !12
  %730 = add i32 %725, 1
  %731 = icmp ugt i32 %730, 4095
  br i1 %731, label %732, label %749

; <label>:732:                                    ; preds = %727
  %733 = add i32 %725, 36
  %734 = icmp ugt i32 %730, -36
  br i1 %734, label %748, label %735

; <label>:735:                                    ; preds = %732
  %736 = ptrtoint i8* %729 to i32
  %737 = and i32 %736, 31
  %738 = icmp eq i32 %737, 0
  br i1 %738, label %739, label %748

; <label>:739:                                    ; preds = %735
  %740 = add i32 %736, -4
  %741 = inttoptr i32 %740 to i32*
  %742 = load i32, i32* %741, align 4, !tbaa !24
  %743 = icmp ult i32 %742, %736
  br i1 %743, label %744, label %748

; <label>:744:                                    ; preds = %739
  %745 = sub i32 %740, %742
  %746 = icmp ugt i32 %745, 31
  %747 = inttoptr i32 %742 to i8*
  br i1 %746, label %748, label %749

; <label>:748:                                    ; preds = %744, %739, %735, %732
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:749:                                    ; preds = %744, %727
  %750 = phi i8* [ %747, %744 ], [ %729, %727 ]
  %751 = phi i32 [ %733, %744 ], [ %730, %727 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %750, i32 %751) #14
  br label %752

; <label>:752:                                    ; preds = %749, %723
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %82) #14
  br label %753

; <label>:753:                                    ; preds = %752, %80, %68, %49, %35
  %754 = phi i1 [ false, %49 ], [ false, %35 ], [ %724, %752 ], [ false, %80 ], [ false, %68 ]
  ret i1 %754
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(4) i32* @"\01??$emplace_back@W4ValueType@@@?$vector@W4ValueType@@V?$allocator@W4ValueType@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAW4ValueType@@@Z"(%"class.std::vector.34"*, i32* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load i32*, i32** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32*, i32** %5, align 4, !tbaa !23
  %7 = icmp eq i32* %4, %6
  br i1 %7, label %11, label %8

; <label>:8:                                      ; preds = %2
  %9 = load i32, i32* %1, align 4, !tbaa !568
  store i32 %9, i32* %6, align 4, !tbaa !568
  %10 = getelementptr inbounds i32, i32* %6, i32 1
  br label %98

; <label>:11:                                     ; preds = %2
  %12 = ptrtoint i32* %4 to i32
  %13 = ptrtoint i32* %6 to i32
  %14 = bitcast i32** %5 to i32*
  %15 = bitcast %"class.std::vector.34"* %0 to i32*
  %16 = load i32, i32* %15, align 4, !tbaa !23
  %17 = sub i32 %13, %16
  %18 = ashr exact i32 %17, 2
  %19 = add nsw i32 %18, 1
  %20 = bitcast i32** %3 to i32*
  %21 = sub i32 %12, %16
  %22 = ashr exact i32 %21, 2
  %23 = lshr i32 %22, 1
  %24 = sub nsw i32 1073741823, %23
  %25 = icmp ugt i32 %22, %24
  br i1 %25, label %30, label %26

; <label>:26:                                     ; preds = %11
  %27 = add i32 %23, %22
  %28 = icmp ult i32 %27, %19
  %29 = select i1 %28, i32 %19, i32 %27
  br label %30

; <label>:30:                                     ; preds = %26, %11
  %31 = phi i32 [ %29, %26 ], [ %19, %11 ]
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %53, label %33

; <label>:33:                                     ; preds = %30
  %34 = icmp ugt i32 %31, 1073741823
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %33
  %37 = shl i32 %31, 2
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42, %30
  %54 = phi i8* [ null, %30 ], [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to i32*
  %56 = getelementptr inbounds i32, i32* %55, i32 %18
  %57 = load i32, i32* %1, align 4, !tbaa !568
  store i32 %57, i32* %56, align 4, !tbaa !568
  %58 = load i32, i32* %14, align 4, !tbaa !23
  %59 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %60 = load i32*, i32** %59, align 4, !tbaa !23
  %61 = bitcast i32* %60 to i8*
  %62 = ptrtoint i32* %60 to i32
  %63 = sub i32 %58, %62
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %54, i8* %61, i32 %63, i32 1, i1 false) #14
  %64 = load i32*, i32** %59, align 4, !tbaa !23
  %65 = icmp eq i32* %64, null
  %66 = ptrtoint i32* %64 to i32
  br i1 %65, label %94, label %67

; <label>:67:                                     ; preds = %53
  %68 = load i32, i32* %20, align 4, !tbaa !23
  %69 = sub i32 %68, %66
  %70 = ashr exact i32 %69, 2
  %71 = icmp ugt i32 %70, 1073741823
  br i1 %71, label %90, label %72

; <label>:72:                                     ; preds = %67
  %73 = bitcast i32* %64 to i8*
  %74 = icmp ugt i32 %69, 4095
  br i1 %74, label %75, label %91

; <label>:75:                                     ; preds = %72
  %76 = add i32 %69, 35
  %77 = icmp ult i32 %69, -35
  %78 = and i32 %66, 31
  %79 = icmp eq i32 %78, 0
  %80 = and i1 %79, %77
  br i1 %80, label %81, label %90

; <label>:81:                                     ; preds = %75
  %82 = add i32 %66, -4
  %83 = inttoptr i32 %82 to i32*
  %84 = load i32, i32* %83, align 4, !tbaa !24
  %85 = icmp ult i32 %84, %66
  br i1 %85, label %86, label %90

; <label>:86:                                     ; preds = %81
  %87 = sub i32 %82, %84
  %88 = icmp ugt i32 %87, 31
  %89 = inttoptr i32 %84 to i8*
  br i1 %88, label %90, label %91

; <label>:90:                                     ; preds = %86, %81, %75, %67
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:91:                                     ; preds = %86, %72
  %92 = phi i8* [ %89, %86 ], [ %73, %72 ]
  %93 = phi i32 [ %76, %86 ], [ %69, %72 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %92, i32 %93) #14
  br label %94

; <label>:94:                                     ; preds = %91, %53
  %95 = bitcast %"class.std::vector.34"* %0 to i8**
  store i8* %54, i8** %95, align 4, !tbaa !23
  %96 = getelementptr inbounds i32, i32* %55, i32 %19
  store i32* %96, i32** %5, align 4, !tbaa !23
  %97 = getelementptr inbounds i32, i32* %55, i32 %31
  br label %98

; <label>:98:                                     ; preds = %94, %8
  %99 = phi i32** [ %3, %94 ], [ %5, %8 ]
  %100 = phi i32* [ %97, %94 ], [ %10, %8 ]
  store i32* %100, i32** %99, align 4, !tbaa !23
  %101 = load i32*, i32** %5, align 4, !tbaa !23
  %102 = getelementptr inbounds i32, i32* %101, i32 -1
  ret i32* %102
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@U_Not_a_node_tag@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@$$QAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Hash.26"*, %"struct.std::pair.41"* noalias sret, %"struct.std::pair.40"* dereferenceable(32), %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 0
  %6 = bitcast %"struct.std::pair.40"* %2 to i8*
  %7 = load i8, i8* %6, align 1, !tbaa !12
  %8 = zext i8 %7 to i32
  %9 = xor i32 %8, -2128831035
  %10 = mul i32 %9, 16777619
  %11 = getelementptr inbounds i8, i8* %6, i32 1
  %12 = load i8, i8* %11, align 1, !tbaa !12
  %13 = zext i8 %12 to i32
  %14 = xor i32 %10, %13
  %15 = mul i32 %14, 16777619
  %16 = getelementptr inbounds i8, i8* %6, i32 2
  %17 = load i8, i8* %16, align 1, !tbaa !12
  %18 = zext i8 %17 to i32
  %19 = xor i32 %15, %18
  %20 = mul i32 %19, 16777619
  %21 = getelementptr inbounds i8, i8* %6, i32 3
  %22 = load i8, i8* %21, align 1, !tbaa !12
  %23 = zext i8 %22 to i32
  %24 = xor i32 %20, %23
  %25 = mul i32 %24, 16777619
  %26 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 3
  %27 = load i32, i32* %26, align 4, !tbaa !574
  %28 = and i32 %25, %27
  %29 = shl i32 %28, 1
  %30 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %31 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23, !noalias !612
  %32 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1
  %33 = bitcast %"class.std::list.27"* %32 to i32*
  %34 = load i32, i32* %33, align 4, !tbaa !23, !noalias !615
  %35 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %31, i32 %29, i32 0, i32 0
  %36 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %35, align 4, !tbaa !592, !noalias !612
  %37 = inttoptr i32 %34 to %"struct.std::_List_node.32"*
  %38 = icmp eq %"struct.std::_List_node.32"* %36, %37
  %39 = inttoptr i32 %34 to i32*
  br i1 %38, label %46, label %40

; <label>:40:                                     ; preds = %4
  %41 = or i32 %29, 1
  %42 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %31, i32 %41
  %43 = bitcast %"class.std::_List_const_iterator.40"* %42 to i32**
  %44 = load i32*, i32** %43, align 4, !noalias !612
  %45 = load i32, i32* %44, align 4, !tbaa !595, !noalias !612
  br label %46

; <label>:46:                                     ; preds = %40, %4
  %47 = phi i32 [ %45, %40 ], [ %34, %4 ]
  %48 = inttoptr i32 %47 to %"struct.std::_List_node.32"*
  %49 = icmp eq %"struct.std::_List_node.32"* %36, %48
  br i1 %49, label %63, label %50

; <label>:50:                                     ; preds = %46
  %51 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %5, align 4, !tbaa !23
  br label %54

; <label>:52:                                     ; preds = %54
  %53 = icmp eq %"struct.std::_List_node.32"* %36, %59
  br i1 %53, label %63, label %54

; <label>:54:                                     ; preds = %52, %50
  %55 = phi %"struct.std::_List_node.32"* [ %48, %50 ], [ %59, %52 ]
  %56 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %55, i32 0, i32 1
  %57 = bitcast %"struct.std::_List_node.32"** %56 to i32*
  %58 = load i32, i32* %57, align 4, !tbaa !620
  %59 = inttoptr i32 %58 to %"struct.std::_List_node.32"*
  %60 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %59, i32 0, i32 2, i32 0
  %61 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %60, align 4, !tbaa !23
  %62 = icmp eq %"struct.std::pair.23"* %51, %61
  br i1 %62, label %163, label %52

; <label>:63:                                     ; preds = %52, %46
  %64 = load i32, i32* %39, align 4, !tbaa !595, !noalias !621
  %65 = inttoptr i32 %64 to %"struct.std::_List_node.32"*
  %66 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %65, i32 0, i32 1
  %67 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %66, align 4, !tbaa !620, !noalias !626
  %68 = ptrtoint %"struct.std::_List_node.32"* %67 to i32
  %69 = tail call i8* @"\01??2@YAPAXI@Z"(i32 40) #14, !noalias !626
  %70 = icmp eq i32 %64, 0
  %71 = ptrtoint i8* %69 to i32
  %72 = select i1 %70, i32 %71, i32 %68
  %73 = select i1 %70, i32 %71, i32 %64
  %74 = bitcast i8* %69 to i32*
  store i32 %73, i32* %74, align 4, !tbaa !23, !noalias !626
  %75 = getelementptr inbounds i8, i8* %69, i32 4
  %76 = bitcast i8* %75 to i32*
  store i32 %72, i32* %76, align 4, !tbaa !23, !noalias !626
  %77 = getelementptr inbounds i8, i8* %69, i32 8
  %78 = getelementptr inbounds i8, i8* %69, i32 24
  %79 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0
  %80 = bitcast %"struct.std::pair.40"* %2 to <4 x i32>*
  %81 = load <4 x i32>, <4 x i32>* %80, align 4, !tbaa !23, !noalias !626
  %82 = bitcast i8* %77 to <4 x i32>*
  store <4 x i32> %81, <4 x i32>* %82, align 4, !tbaa !23, !noalias !626
  %83 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 2
  %84 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %85 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 2
  %86 = bitcast i32** %83 to <4 x i32>*
  %87 = load <4 x i32>, <4 x i32>* %86, align 4, !tbaa !23, !noalias !626
  %88 = bitcast i8* %78 to <4 x i32>*
  store <4 x i32> %87, <4 x i32>* %88, align 4, !tbaa !23, !noalias !626
  %89 = bitcast i32** %79 to <4 x i32*>*
  store <4 x i32*> zeroinitializer, <4 x i32*>* %89, align 4, !tbaa !23, !noalias !626
  store i32* null, i32** %84, align 4, !tbaa !23, !noalias !626
  store i32* null, i32** %85, align 4, !tbaa !23, !noalias !626
  %90 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %91 = load i32, i32* %90, align 4, !tbaa !24, !noalias !626
  %92 = icmp eq i32 %91, 107374181
  br i1 %92, label %93, label %94

; <label>:93:                                     ; preds = %63
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12, !noalias !626
  unreachable

; <label>:94:                                     ; preds = %63
  %95 = bitcast %"class.std::list.27"* %32 to i32**
  %96 = add i32 %91, 1
  store i32 %96, i32* %90, align 4, !tbaa !24, !noalias !626
  %97 = bitcast %"struct.std::_List_node.32"** %66 to i8**
  store i8* %69, i8** %97, align 4, !tbaa !620, !noalias !626
  %98 = bitcast %"struct.std::_List_node.32"* %67 to i8**
  store i8* %69, i8** %98, align 4, !tbaa !595, !noalias !626
  %99 = load i32*, i32** %95, align 4, !tbaa !23, !noalias !627
  %100 = load i32, i32* %99, align 4, !tbaa !595, !noalias !627
  %101 = inttoptr i32 %100 to %"struct.std::_List_node.32"**
  %102 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %101, align 4, !tbaa !595
  %103 = icmp eq %"struct.std::_List_node.32"* %102, %36
  br i1 %103, label %104, label %107

; <label>:104:                                    ; preds = %94
  %105 = bitcast i32* %99 to %"struct.std::_List_node.32"*
  %106 = inttoptr i32 %100 to %"struct.std::_List_node.32"*
  br label %126

; <label>:107:                                    ; preds = %94
  %108 = inttoptr i32 %100 to %"struct.std::_List_node.32"*
  %109 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %108, i32 0, i32 1
  %110 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %109, align 4, !tbaa !620
  %111 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %110, i32 0, i32 0
  store %"struct.std::_List_node.32"* %102, %"struct.std::_List_node.32"** %111, align 4, !tbaa !595
  %112 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %102, i32 0, i32 1
  %113 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %112, align 4, !tbaa !620
  %114 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %113, i32 0, i32 0
  store %"struct.std::_List_node.32"* %36, %"struct.std::_List_node.32"** %114, align 4, !tbaa !595
  %115 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %36, i32 0, i32 1
  %116 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %115, align 4, !tbaa !620
  %117 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %116, i32 0, i32 0
  store %"struct.std::_List_node.32"* %108, %"struct.std::_List_node.32"** %117, align 4, !tbaa !595
  %118 = bitcast %"struct.std::_List_node.32"** %115 to i32*
  %119 = ptrtoint %"struct.std::_List_node.32"* %116 to i32
  %120 = bitcast %"struct.std::_List_node.32"** %112 to i32*
  %121 = ptrtoint %"struct.std::_List_node.32"* %113 to i32
  store i32 %121, i32* %118, align 4, !tbaa !620
  %122 = bitcast %"struct.std::_List_node.32"** %109 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !620
  store i32 %123, i32* %120, align 4, !tbaa !620
  store i32 %119, i32* %122, align 4, !tbaa !620
  %124 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %125 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %124, align 4, !tbaa !23, !noalias !632
  br label %126

; <label>:126:                                    ; preds = %107, %104
  %127 = phi %"struct.std::_List_node.32"* [ %106, %104 ], [ %108, %107 ]
  %128 = phi %"struct.std::_List_node.32"* [ %105, %104 ], [ %125, %107 ]
  %129 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %129, i32 %29
  %131 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %130, i32 0, i32 0, i32 0
  %132 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %131, align 4, !tbaa !592
  %133 = icmp eq %"struct.std::_List_node.32"* %132, %128
  br i1 %133, label %134, label %139

; <label>:134:                                    ; preds = %126
  %135 = bitcast %"class.std::_List_const_iterator.40"* %130 to i32*
  store i32 %100, i32* %135, align 4
  %136 = or i32 %29, 1
  %137 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %138 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %137, i32 %136
  br label %158

; <label>:139:                                    ; preds = %126
  %140 = icmp eq %"struct.std::_List_node.32"* %132, %36
  br i1 %140, label %158, label %141

; <label>:141:                                    ; preds = %139
  %142 = or i32 %29, 1
  %143 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %129, i32 %142
  %144 = bitcast %"class.std::_List_const_iterator.40"* %143 to i32**
  %145 = load i32*, i32** %144, align 4, !tbaa !592
  %146 = load i32, i32* %145, align 4, !tbaa !595
  %147 = bitcast %"class.std::_List_const_iterator.40"* %143 to i32*
  store i32 %146, i32* %147, align 4, !tbaa !592
  %148 = inttoptr i32 %146 to %"struct.std::_List_node.32"*
  %149 = icmp eq %"struct.std::_List_node.32"* %127, %148
  br i1 %149, label %162, label %150

; <label>:150:                                    ; preds = %141
  %151 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %152 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %151, i32 %142
  %153 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %152, i32 0, i32 0, i32 0
  %154 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %153, align 4, !tbaa !592
  %155 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %154, i32 0, i32 1
  %156 = bitcast %"struct.std::_List_node.32"** %155 to i32*
  %157 = load i32, i32* %156, align 4, !tbaa !620
  br label %158

; <label>:158:                                    ; preds = %150, %139, %134
  %159 = phi %"class.std::_List_const_iterator.40"* [ %152, %150 ], [ %138, %134 ], [ %130, %139 ]
  %160 = phi i32 [ %157, %150 ], [ %100, %134 ], [ %100, %139 ]
  %161 = bitcast %"class.std::_List_const_iterator.40"* %159 to i32*
  store i32 %160, i32* %161, align 4
  br label %162

; <label>:162:                                    ; preds = %158, %141
  tail call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.26"* nonnull %0)
  br label %163

; <label>:163:                                    ; preds = %162, %54
  %164 = phi i32 [ %100, %162 ], [ %58, %54 ]
  %165 = phi i8 [ 1, %162 ], [ 0, %54 ]
  %166 = bitcast %"struct.std::pair.41"* %1 to i32*
  store i32 %164, i32* %166, align 4
  %167 = getelementptr inbounds %"struct.std::pair.41", %"struct.std::pair.41"* %1, i32 0, i32 1
  store i8 %165, i8* %167, align 4, !tbaa !637
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.26"*) local_unnamed_addr #2 comdat align 2 {
  %2 = alloca %"struct.std::pair.41", align 4
  %3 = alloca %"class.std::_List_const_iterator.40", align 4
  %4 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %5 = load float, float* %4, align 4, !tbaa !70
  %6 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !24
  %8 = uitofp i32 %7 to float
  %9 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 4
  %10 = load i32, i32* %9, align 4, !tbaa !640
  %11 = uitofp i32 %10 to float
  %12 = fdiv float %8, %11
  %13 = fcmp olt float %5, %12
  br i1 %13, label %14, label %60

; <label>:14:                                     ; preds = %1
  %15 = icmp ult i32 %10, 512
  %16 = icmp ult i32 %10, 536870911
  %17 = zext i1 %16 to i32
  %18 = select i1 %15, i32 3, i32 %17
  %19 = shl i32 %10, %18
  %20 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2
  %21 = shl i32 %19, 1
  %22 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %23 = bitcast %"class.std::_List_const_iterator.40"** %22 to i32*
  %24 = load i32, i32* %23, align 4, !tbaa !23
  %25 = bitcast %"class.std::vector.28"* %20 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !23
  %27 = sub i32 %24, %26
  %28 = ashr exact i32 %27, 2
  %29 = icmp ult i32 %28, %21
  br i1 %29, label %30, label %34

; <label>:30:                                     ; preds = %14
  %31 = icmp ugt i32 %21, 1073741823
  br i1 %31, label %32, label %33

; <label>:32:                                     ; preds = %30
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:33:                                     ; preds = %30
  tail call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.28"* nonnull %20, i32 %21) #14
  br label %34

; <label>:34:                                     ; preds = %33, %14
  %35 = bitcast %"class.std::_List_const_iterator.40"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %35) #14
  %36 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1
  %37 = bitcast %"class.std::list.27"* %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23, !noalias !641
  %39 = bitcast %"class.std::_List_const_iterator.40"* %3 to i32*
  store i32 %38, i32* %39, align 4, !tbaa !592, !alias.scope !641
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.28"* %20, i32 %21, %"class.std::_List_const_iterator.40"* nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %35) #14
  %40 = add i32 %19, -1
  %41 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 3
  store i32 %40, i32* %41, align 4, !tbaa !574
  store i32 %19, i32* %9, align 4, !tbaa !640
  %42 = getelementptr inbounds %"class.std::list.27", %"class.std::list.27"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %43 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %42, align 4, !tbaa !23, !noalias !84
  %44 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %43, i32 0, i32 0
  %45 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %44, align 4, !tbaa !595, !noalias !646
  %46 = icmp eq %"struct.std::_List_node.32"* %45, %43
  br i1 %46, label %60, label %47

; <label>:47:                                     ; preds = %34
  %48 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %43, i32 0, i32 1
  %49 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %48, align 4, !tbaa !620
  %50 = bitcast %"class.std::list.27"* %36 to %"struct.std::_List_node.32"***
  %51 = bitcast %"struct.std::pair.41"* %2 to i8*
  %52 = icmp eq %"struct.std::_List_node.32"* %45, %49
  %53 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %45, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.26"* nonnull %0, %"struct.std::pair.41"* nonnull sret %2, %"struct.std::pair.40"* nonnull dereferenceable(32) %53, %"struct.std::_List_node.32"* %45) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %52, label %60, label %54

; <label>:54:                                     ; preds = %47
  br label %55

; <label>:55:                                     ; preds = %55, %54
  %56 = load %"struct.std::_List_node.32"**, %"struct.std::_List_node.32"*** %50, align 4, !tbaa !23, !noalias !651
  %57 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %56, align 4, !tbaa !595, !noalias !651
  %58 = icmp eq %"struct.std::_List_node.32"* %57, %49
  %59 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %57, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %51) #14
  call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.26"* nonnull %0, %"struct.std::pair.41"* nonnull sret %2, %"struct.std::pair.40"* nonnull dereferenceable(32) %59, %"struct.std::_List_node.32"* %57) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %51) #14
  br i1 %58, label %60, label %55

; <label>:60:                                     ; preds = %55, %47, %34, %1
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.28"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = bitcast %"class.std::_List_const_iterator.40"** %3 to i32*
  %5 = load i32, i32* %4, align 4, !tbaa !23
  %6 = bitcast %"class.std::vector.28"* %0 to i32*
  %7 = load i32, i32* %6, align 4, !tbaa !23
  %8 = sub i32 %5, %7
  %9 = ashr exact i32 %8, 2
  %10 = icmp eq i32 %1, 0
  br i1 %10, label %31, label %11

; <label>:11:                                     ; preds = %2
  %12 = icmp ugt i32 %1, 1073741823
  br i1 %12, label %13, label %14

; <label>:13:                                     ; preds = %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:14:                                     ; preds = %11
  %15 = shl i32 %1, 2
  %16 = icmp ugt i32 %15, 4095
  br i1 %16, label %17, label %29

; <label>:17:                                     ; preds = %14
  %18 = icmp ugt i32 %15, -36
  br i1 %18, label %19, label %20

; <label>:19:                                     ; preds = %17
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:20:                                     ; preds = %17
  %21 = add i32 %15, 35
  %22 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %21) #14
  %23 = ptrtoint i8* %22 to i32
  %24 = add i32 %23, 35
  %25 = and i32 %24, -32
  %26 = inttoptr i32 %25 to i8*
  %27 = inttoptr i32 %25 to i32*
  %28 = getelementptr inbounds i32, i32* %27, i32 -1
  store i32 %23, i32* %28, align 4, !tbaa !24
  br label %31

; <label>:29:                                     ; preds = %14
  %30 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %15) #14
  br label %31

; <label>:31:                                     ; preds = %29, %20, %2
  %32 = phi i8* [ null, %2 ], [ %26, %20 ], [ %30, %29 ]
  %33 = bitcast i8* %32 to %"class.std::_List_const_iterator.40"*
  %34 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %3, align 4, !tbaa !23
  %35 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %36 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %35, align 4, !tbaa !23
  %37 = bitcast %"class.std::_List_const_iterator.40"* %36 to i8*
  %38 = ptrtoint %"class.std::_List_const_iterator.40"* %36 to i32
  %39 = icmp eq %"class.std::_List_const_iterator.40"* %36, %34
  br i1 %39, label %95, label %40

; <label>:40:                                     ; preds = %31
  %41 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %34, i32 -1, i32 0, i32 0
  %42 = ptrtoint %"struct.std::_List_node.32"** %41 to i32
  %43 = sub i32 %42, %38
  %44 = lshr i32 %43, 2
  %45 = add nuw nsw i32 %44, 1
  %46 = icmp ult i32 %45, 8
  br i1 %46, label %81, label %47

; <label>:47:                                     ; preds = %40
  %48 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %34, i32 -1, i32 0, i32 0
  %49 = ptrtoint %"struct.std::_List_node.32"** %48 to i32
  %50 = sub i32 %49, %38
  %51 = lshr i32 %50, 2
  %52 = add i32 %50, 4
  %53 = and i32 %52, -4
  %54 = getelementptr i8, i8* %32, i32 %53
  %55 = add nuw nsw i32 %51, 1
  %56 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %36, i32 %55
  %57 = bitcast %"class.std::_List_const_iterator.40"* %56 to i8*
  %58 = icmp ult i8* %32, %57
  %59 = icmp ugt i8* %54, %37
  %60 = and i1 %58, %59
  br i1 %60, label %81, label %61

; <label>:61:                                     ; preds = %47
  %62 = and i32 %45, 2147483640
  %63 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %33, i32 %62
  %64 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %36, i32 %62
  br label %65

; <label>:65:                                     ; preds = %65, %61
  %66 = phi i32 [ 0, %61 ], [ %77, %65 ]
  %67 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %33, i32 %66
  %68 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %36, i32 %66
  %69 = bitcast %"class.std::_List_const_iterator.40"* %68 to <4 x i32>*
  %70 = load <4 x i32>, <4 x i32>* %69, align 4, !alias.scope !656
  %71 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %68, i32 4
  %72 = bitcast %"class.std::_List_const_iterator.40"* %71 to <4 x i32>*
  %73 = load <4 x i32>, <4 x i32>* %72, align 4, !alias.scope !656
  %74 = bitcast %"class.std::_List_const_iterator.40"* %67 to <4 x i32>*
  store <4 x i32> %70, <4 x i32>* %74, align 4, !alias.scope !659, !noalias !656
  %75 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %67, i32 4
  %76 = bitcast %"class.std::_List_const_iterator.40"* %75 to <4 x i32>*
  store <4 x i32> %73, <4 x i32>* %76, align 4, !alias.scope !659, !noalias !656
  %77 = add i32 %66, 8
  %78 = icmp eq i32 %77, %62
  br i1 %78, label %79, label %65, !llvm.loop !661

; <label>:79:                                     ; preds = %65
  %80 = icmp eq i32 %45, %62
  br i1 %80, label %93, label %81

; <label>:81:                                     ; preds = %79, %47, %40
  %82 = phi %"class.std::_List_const_iterator.40"* [ %33, %47 ], [ %33, %40 ], [ %63, %79 ]
  %83 = phi %"class.std::_List_const_iterator.40"* [ %36, %47 ], [ %36, %40 ], [ %64, %79 ]
  br label %84

; <label>:84:                                     ; preds = %84, %81
  %85 = phi %"class.std::_List_const_iterator.40"* [ %90, %84 ], [ %82, %81 ]
  %86 = phi %"class.std::_List_const_iterator.40"* [ %91, %84 ], [ %83, %81 ]
  %87 = bitcast %"class.std::_List_const_iterator.40"* %86 to i32*
  %88 = bitcast %"class.std::_List_const_iterator.40"* %85 to i32*
  %89 = load i32, i32* %87, align 4
  store i32 %89, i32* %88, align 4
  %90 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %85, i32 1
  %91 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %86, i32 1
  %92 = icmp eq %"class.std::_List_const_iterator.40"* %91, %34
  br i1 %92, label %93, label %84, !llvm.loop !662

; <label>:93:                                     ; preds = %84, %79
  %94 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %35, align 4, !tbaa !23
  br label %95

; <label>:95:                                     ; preds = %93, %31
  %96 = phi %"class.std::_List_const_iterator.40"* [ %94, %93 ], [ %34, %31 ]
  %97 = icmp eq %"class.std::_List_const_iterator.40"* %96, null
  %98 = ptrtoint %"class.std::_List_const_iterator.40"* %96 to i32
  %99 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  br i1 %97, label %128, label %100

; <label>:100:                                    ; preds = %95
  %101 = bitcast %"class.std::_List_const_iterator.40"** %99 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !23
  %103 = sub i32 %102, %98
  %104 = ashr exact i32 %103, 2
  %105 = icmp ugt i32 %104, 1073741823
  br i1 %105, label %124, label %106

; <label>:106:                                    ; preds = %100
  %107 = bitcast %"class.std::_List_const_iterator.40"* %96 to i8*
  %108 = icmp ugt i32 %103, 4095
  br i1 %108, label %109, label %125

; <label>:109:                                    ; preds = %106
  %110 = add i32 %103, 35
  %111 = icmp ult i32 %103, -35
  %112 = and i32 %98, 31
  %113 = icmp eq i32 %112, 0
  %114 = and i1 %113, %111
  br i1 %114, label %115, label %124

; <label>:115:                                    ; preds = %109
  %116 = add i32 %98, -4
  %117 = inttoptr i32 %116 to i32*
  %118 = load i32, i32* %117, align 4, !tbaa !24
  %119 = icmp ult i32 %118, %98
  br i1 %119, label %120, label %124

; <label>:120:                                    ; preds = %115
  %121 = sub i32 %116, %118
  %122 = icmp ugt i32 %121, 31
  %123 = inttoptr i32 %118 to i8*
  br i1 %122, label %124, label %125

; <label>:124:                                    ; preds = %120, %115, %109, %100
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:125:                                    ; preds = %120, %106
  %126 = phi i8* [ %123, %120 ], [ %107, %106 ]
  %127 = phi i32 [ %110, %120 ], [ %103, %106 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %126, i32 %127) #14
  br label %128

; <label>:128:                                    ; preds = %125, %95
  %129 = bitcast %"class.std::vector.28"* %0 to i8**
  store i8* %32, i8** %129, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %33, i32 %9
  store %"class.std::_List_const_iterator.40"* %130, %"class.std::_List_const_iterator.40"** %3, align 4, !tbaa !23
  %131 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %33, i32 %1
  store %"class.std::_List_const_iterator.40"* %131, %"class.std::_List_const_iterator.40"** %99, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.28"*, i32, %"class.std::_List_const_iterator.40"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_List_const_iterator.40"** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.28"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %"class.std::_List_const_iterator.40"** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 2
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %"class.std::_List_const_iterator.40"*
  %18 = inttoptr i32 %8 to i8*
  %19 = inttoptr i32 %6 to %"class.std::_List_const_iterator.40"*
  br i1 %16, label %20, label %130

; <label>:20:                                     ; preds = %3
  %21 = icmp ugt i32 %1, 1073741823
  br i1 %21, label %22, label %23

; <label>:22:                                     ; preds = %20
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #22
  unreachable

; <label>:23:                                     ; preds = %20
  %24 = lshr i32 %15, 1
  %25 = sub nsw i32 1073741823, %24
  %26 = icmp ugt i32 %15, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %23
  %28 = add i32 %24, %15
  %29 = icmp ult i32 %28, %1
  %30 = select i1 %29, i32 %1, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %23
  %32 = phi i32 [ %30, %27 ], [ %1, %23 ]
  %33 = getelementptr inbounds %"class.std::vector.28", %"class.std::vector.28"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = icmp eq i32 %8, 0
  br i1 %34, label %58, label %35

; <label>:35:                                     ; preds = %31
  %36 = icmp ugt i32 %15, 1073741823
  br i1 %36, label %53, label %37

; <label>:37:                                     ; preds = %35
  %38 = icmp ugt i32 %14, 4095
  br i1 %38, label %39, label %54

; <label>:39:                                     ; preds = %37
  %40 = icmp ult i32 %14, -35
  %41 = and i32 %8, 31
  %42 = icmp eq i32 %41, 0
  %43 = and i1 %40, %42
  br i1 %43, label %44, label %53

; <label>:44:                                     ; preds = %39
  %45 = add i32 %14, 35
  %46 = add i32 %8, -4
  %47 = inttoptr i32 %46 to i32*
  %48 = load i32, i32* %47, align 4, !tbaa !24
  %49 = icmp uge i32 %48, %8
  %50 = sub i32 %46, %48
  %51 = icmp ugt i32 %50, 31
  %52 = or i1 %49, %51
  br i1 %52, label %53, label %54

; <label>:53:                                     ; preds = %44, %39, %35
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:54:                                     ; preds = %44, %37
  %55 = phi i32 [ %8, %37 ], [ %48, %44 ]
  %56 = phi i32 [ %14, %37 ], [ %45, %44 ]
  %57 = inttoptr i32 %55 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %57, i32 %56) #14
  br label %58

; <label>:58:                                     ; preds = %54, %31
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %33, align 4, !tbaa !23
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %4, align 4, !tbaa !23
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %11, align 4, !tbaa !23
  %59 = icmp eq i32 %32, 0
  br i1 %59, label %86, label %60

; <label>:60:                                     ; preds = %58
  %61 = icmp ugt i32 %32, 1073741823
  br i1 %61, label %62, label %63

; <label>:62:                                     ; preds = %60
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:63:                                     ; preds = %60
  %64 = shl i32 %32, 2
  %65 = icmp ugt i32 %64, 4095
  br i1 %65, label %66, label %78

; <label>:66:                                     ; preds = %63
  %67 = icmp ugt i32 %64, -36
  br i1 %67, label %68, label %69

; <label>:68:                                     ; preds = %66
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:69:                                     ; preds = %66
  %70 = add i32 %64, 35
  %71 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %70) #14
  %72 = ptrtoint i8* %71 to i32
  %73 = add i32 %72, 35
  %74 = and i32 %73, -32
  %75 = inttoptr i32 %74 to i8*
  %76 = inttoptr i32 %74 to i32*
  %77 = getelementptr inbounds i32, i32* %76, i32 -1
  store i32 %72, i32* %77, align 4, !tbaa !24
  br label %80

; <label>:78:                                     ; preds = %63
  %79 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %64) #14
  br label %80

; <label>:80:                                     ; preds = %78, %69
  %81 = phi i8* [ %75, %69 ], [ %79, %78 ]
  %82 = bitcast i8* %81 to %"class.std::_List_const_iterator.40"*
  %83 = bitcast %"class.std::vector.28"* %0 to i8**
  store i8* %81, i8** %83, align 4, !tbaa !23
  %84 = ptrtoint i8* %81 to i32
  store i32 %84, i32* %5, align 4, !tbaa !23
  %85 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %82, i32 %32
  store %"class.std::_List_const_iterator.40"* %85, %"class.std::_List_const_iterator.40"** %11, align 4, !tbaa !23
  br label %86

; <label>:86:                                     ; preds = %80, %58
  %87 = phi i8* [ %81, %80 ], [ null, %58 ]
  %88 = phi %"class.std::_List_const_iterator.40"* [ %82, %80 ], [ null, %58 ]
  %89 = bitcast %"class.std::_List_const_iterator.40"* %2 to i32*
  %90 = icmp ult i32 %1, 8
  br i1 %90, label %117, label %91

; <label>:91:                                     ; preds = %86
  %92 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %88, i32 %1
  %93 = bitcast %"class.std::_List_const_iterator.40"* %2 to i8*
  %94 = getelementptr i8, i8* %93, i32 1
  %95 = icmp ult i8* %87, %94
  %96 = icmp ugt %"class.std::_List_const_iterator.40"* %92, %2
  %97 = and i1 %95, %96
  br i1 %97, label %117, label %98

; <label>:98:                                     ; preds = %91
  %99 = and i32 %1, -8
  %100 = sub i32 %1, %99
  %101 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %88, i32 %99
  %102 = load i32, i32* %89, align 4, !alias.scope !663
  %103 = insertelement <4 x i32> undef, i32 %102, i32 0
  %104 = shufflevector <4 x i32> %103, <4 x i32> undef, <4 x i32> zeroinitializer
  %105 = insertelement <4 x i32> undef, i32 %102, i32 0
  %106 = shufflevector <4 x i32> %105, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %107

; <label>:107:                                    ; preds = %107, %98
  %108 = phi i32 [ 0, %98 ], [ %113, %107 ]
  %109 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %88, i32 %108
  %110 = bitcast %"class.std::_List_const_iterator.40"* %109 to <4 x i32>*
  store <4 x i32> %104, <4 x i32>* %110, align 4, !alias.scope !666, !noalias !663
  %111 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %109, i32 4
  %112 = bitcast %"class.std::_List_const_iterator.40"* %111 to <4 x i32>*
  store <4 x i32> %106, <4 x i32>* %112, align 4, !alias.scope !666, !noalias !663
  %113 = add i32 %108, 8
  %114 = icmp eq i32 %113, %99
  br i1 %114, label %115, label %107, !llvm.loop !668

; <label>:115:                                    ; preds = %107
  %116 = icmp eq i32 %99, %1
  br i1 %116, label %128, label %117

; <label>:117:                                    ; preds = %115, %91, %86
  %118 = phi i32 [ %1, %91 ], [ %1, %86 ], [ %100, %115 ]
  %119 = phi %"class.std::_List_const_iterator.40"* [ %88, %91 ], [ %88, %86 ], [ %101, %115 ]
  br label %120

; <label>:120:                                    ; preds = %120, %117
  %121 = phi i32 [ %125, %120 ], [ %118, %117 ]
  %122 = phi %"class.std::_List_const_iterator.40"* [ %126, %120 ], [ %119, %117 ]
  %123 = bitcast %"class.std::_List_const_iterator.40"* %122 to i32*
  %124 = load i32, i32* %89, align 4
  store i32 %124, i32* %123, align 4
  %125 = add i32 %121, -1
  %126 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %122, i32 1
  %127 = icmp eq i32 %125, 0
  br i1 %127, label %128, label %120, !llvm.loop !669

; <label>:128:                                    ; preds = %120, %115
  %129 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %88, i32 %1
  br label %280

; <label>:130:                                    ; preds = %3
  %131 = icmp ult i32 %10, %1
  br i1 %131, label %132, label %233

; <label>:132:                                    ; preds = %130
  %133 = icmp eq %"class.std::_List_const_iterator.40"* %17, %19
  br i1 %133, label %186, label %134

; <label>:134:                                    ; preds = %132
  %135 = bitcast %"class.std::_List_const_iterator.40"* %2 to i32*
  %136 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %19, i32 -1, i32 0, i32 0
  %137 = bitcast %"struct.std::_List_node.32"** %136 to i8*
  %138 = sub i32 0, %8
  %139 = getelementptr i8, i8* %137, i32 %138
  %140 = ptrtoint i8* %139 to i32
  %141 = lshr i32 %140, 2
  %142 = add nuw nsw i32 %141, 1
  %143 = icmp ult i32 %142, 8
  br i1 %143, label %176, label %144

; <label>:144:                                    ; preds = %134
  %145 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %19, i32 -1, i32 0, i32 0
  %146 = bitcast %"struct.std::_List_node.32"** %145 to i8*
  %147 = sub i32 0, %8
  %148 = getelementptr i8, i8* %146, i32 %147
  %149 = ptrtoint i8* %148 to i32
  %150 = lshr i32 %149, 2
  %151 = add nuw nsw i32 %150, 1
  %152 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %151
  %153 = bitcast %"class.std::_List_const_iterator.40"* %2 to i8*
  %154 = getelementptr i8, i8* %153, i32 1
  %155 = icmp ugt i8* %154, %18
  %156 = icmp ugt %"class.std::_List_const_iterator.40"* %152, %2
  %157 = and i1 %155, %156
  br i1 %157, label %176, label %158

; <label>:158:                                    ; preds = %144
  %159 = and i32 %142, 2147483640
  %160 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %159
  %161 = load i32, i32* %135, align 4, !alias.scope !670
  %162 = insertelement <4 x i32> undef, i32 %161, i32 0
  %163 = shufflevector <4 x i32> %162, <4 x i32> undef, <4 x i32> zeroinitializer
  %164 = insertelement <4 x i32> undef, i32 %161, i32 0
  %165 = shufflevector <4 x i32> %164, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %166

; <label>:166:                                    ; preds = %166, %158
  %167 = phi i32 [ 0, %158 ], [ %172, %166 ]
  %168 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %167
  %169 = bitcast %"class.std::_List_const_iterator.40"* %168 to <4 x i32>*
  store <4 x i32> %163, <4 x i32>* %169, align 4, !alias.scope !673, !noalias !670
  %170 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %168, i32 4
  %171 = bitcast %"class.std::_List_const_iterator.40"* %170 to <4 x i32>*
  store <4 x i32> %165, <4 x i32>* %171, align 4, !alias.scope !673, !noalias !670
  %172 = add i32 %167, 8
  %173 = icmp eq i32 %172, %159
  br i1 %173, label %174, label %166, !llvm.loop !675

; <label>:174:                                    ; preds = %166
  %175 = icmp eq i32 %142, %159
  br i1 %175, label %184, label %176

; <label>:176:                                    ; preds = %174, %144, %134
  %177 = phi %"class.std::_List_const_iterator.40"* [ %17, %144 ], [ %17, %134 ], [ %160, %174 ]
  br label %178

; <label>:178:                                    ; preds = %178, %176
  %179 = phi %"class.std::_List_const_iterator.40"* [ %182, %178 ], [ %177, %176 ]
  %180 = bitcast %"class.std::_List_const_iterator.40"* %179 to i32*
  %181 = load i32, i32* %135, align 4
  store i32 %181, i32* %180, align 4
  %182 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %179, i32 1
  %183 = icmp eq %"class.std::_List_const_iterator.40"* %182, %19
  br i1 %183, label %184, label %178, !llvm.loop !676

; <label>:184:                                    ; preds = %178, %174
  %185 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %4, align 4, !tbaa !23
  br label %186

; <label>:186:                                    ; preds = %184, %132
  %187 = phi %"class.std::_List_const_iterator.40"* [ %185, %184 ], [ %17, %132 ]
  %188 = bitcast %"class.std::_List_const_iterator.40"* %187 to i8*
  %189 = sub i32 %1, %10
  %190 = icmp eq i32 %189, 0
  br i1 %190, label %280, label %191

; <label>:191:                                    ; preds = %186
  %192 = bitcast %"class.std::_List_const_iterator.40"* %2 to i32*
  %193 = icmp ult i32 %189, 8
  br i1 %193, label %220, label %194

; <label>:194:                                    ; preds = %191
  %195 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %187, i32 %189
  %196 = bitcast %"class.std::_List_const_iterator.40"* %2 to i8*
  %197 = getelementptr i8, i8* %196, i32 1
  %198 = icmp ugt i8* %197, %188
  %199 = icmp ugt %"class.std::_List_const_iterator.40"* %195, %2
  %200 = and i1 %198, %199
  br i1 %200, label %220, label %201

; <label>:201:                                    ; preds = %194
  %202 = and i32 %189, -8
  %203 = sub i32 %189, %202
  %204 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %187, i32 %202
  %205 = load i32, i32* %192, align 4, !alias.scope !677
  %206 = insertelement <4 x i32> undef, i32 %205, i32 0
  %207 = shufflevector <4 x i32> %206, <4 x i32> undef, <4 x i32> zeroinitializer
  %208 = insertelement <4 x i32> undef, i32 %205, i32 0
  %209 = shufflevector <4 x i32> %208, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %210

; <label>:210:                                    ; preds = %210, %201
  %211 = phi i32 [ 0, %201 ], [ %216, %210 ]
  %212 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %187, i32 %211
  %213 = bitcast %"class.std::_List_const_iterator.40"* %212 to <4 x i32>*
  store <4 x i32> %207, <4 x i32>* %213, align 4, !alias.scope !680, !noalias !677
  %214 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %212, i32 4
  %215 = bitcast %"class.std::_List_const_iterator.40"* %214 to <4 x i32>*
  store <4 x i32> %209, <4 x i32>* %215, align 4, !alias.scope !680, !noalias !677
  %216 = add i32 %211, 8
  %217 = icmp eq i32 %216, %202
  br i1 %217, label %218, label %210, !llvm.loop !682

; <label>:218:                                    ; preds = %210
  %219 = icmp eq i32 %189, %202
  br i1 %219, label %231, label %220

; <label>:220:                                    ; preds = %218, %194, %191
  %221 = phi i32 [ %189, %194 ], [ %189, %191 ], [ %203, %218 ]
  %222 = phi %"class.std::_List_const_iterator.40"* [ %187, %194 ], [ %187, %191 ], [ %204, %218 ]
  br label %223

; <label>:223:                                    ; preds = %223, %220
  %224 = phi i32 [ %228, %223 ], [ %221, %220 ]
  %225 = phi %"class.std::_List_const_iterator.40"* [ %229, %223 ], [ %222, %220 ]
  %226 = bitcast %"class.std::_List_const_iterator.40"* %225 to i32*
  %227 = load i32, i32* %192, align 4
  store i32 %227, i32* %226, align 4
  %228 = add i32 %224, -1
  %229 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %225, i32 1
  %230 = icmp eq i32 %228, 0
  br i1 %230, label %231, label %223, !llvm.loop !683

; <label>:231:                                    ; preds = %223, %218
  %232 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %187, i32 %189
  br label %280

; <label>:233:                                    ; preds = %130
  %234 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %1
  %235 = icmp eq i32 %1, 0
  br i1 %235, label %280, label %236

; <label>:236:                                    ; preds = %233
  %237 = bitcast %"class.std::_List_const_iterator.40"* %2 to i32*
  %238 = shl i32 %1, 2
  %239 = add i32 %238, -4
  %240 = lshr exact i32 %239, 2
  %241 = add nuw nsw i32 %240, 1
  %242 = icmp ult i32 %241, 8
  br i1 %242, label %272, label %243

; <label>:243:                                    ; preds = %236
  %244 = shl i32 %1, 2
  %245 = add i32 %244, -4
  %246 = lshr exact i32 %245, 2
  %247 = add nuw nsw i32 %246, 1
  %248 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %247
  %249 = bitcast %"class.std::_List_const_iterator.40"* %2 to i8*
  %250 = getelementptr i8, i8* %249, i32 1
  %251 = icmp ugt i8* %250, %18
  %252 = icmp ugt %"class.std::_List_const_iterator.40"* %248, %2
  %253 = and i1 %251, %252
  br i1 %253, label %272, label %254

; <label>:254:                                    ; preds = %243
  %255 = and i32 %241, 2147483640
  %256 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %255
  %257 = load i32, i32* %237, align 4, !alias.scope !684
  %258 = insertelement <4 x i32> undef, i32 %257, i32 0
  %259 = shufflevector <4 x i32> %258, <4 x i32> undef, <4 x i32> zeroinitializer
  %260 = insertelement <4 x i32> undef, i32 %257, i32 0
  %261 = shufflevector <4 x i32> %260, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %262

; <label>:262:                                    ; preds = %262, %254
  %263 = phi i32 [ 0, %254 ], [ %268, %262 ]
  %264 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %17, i32 %263
  %265 = bitcast %"class.std::_List_const_iterator.40"* %264 to <4 x i32>*
  store <4 x i32> %259, <4 x i32>* %265, align 4, !alias.scope !687, !noalias !684
  %266 = getelementptr %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %264, i32 4
  %267 = bitcast %"class.std::_List_const_iterator.40"* %266 to <4 x i32>*
  store <4 x i32> %261, <4 x i32>* %267, align 4, !alias.scope !687, !noalias !684
  %268 = add i32 %263, 8
  %269 = icmp eq i32 %268, %255
  br i1 %269, label %270, label %262, !llvm.loop !689

; <label>:270:                                    ; preds = %262
  %271 = icmp eq i32 %241, %255
  br i1 %271, label %280, label %272

; <label>:272:                                    ; preds = %270, %243, %236
  %273 = phi %"class.std::_List_const_iterator.40"* [ %17, %243 ], [ %17, %236 ], [ %256, %270 ]
  br label %274

; <label>:274:                                    ; preds = %274, %272
  %275 = phi %"class.std::_List_const_iterator.40"* [ %278, %274 ], [ %273, %272 ]
  %276 = bitcast %"class.std::_List_const_iterator.40"* %275 to i32*
  %277 = load i32, i32* %237, align 4
  store i32 %277, i32* %276, align 4
  %278 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %275, i32 1
  %279 = icmp eq %"class.std::_List_const_iterator.40"* %278, %234
  br i1 %279, label %280, label %274, !llvm.loop !690

; <label>:280:                                    ; preds = %274, %270, %233, %231, %186, %128
  %281 = phi %"class.std::_List_const_iterator.40"* [ %129, %128 ], [ %187, %186 ], [ %232, %231 ], [ %234, %233 ], [ %234, %270 ], [ %234, %274 ]
  store %"class.std::_List_const_iterator.40"* %281, %"class.std::_List_const_iterator.40"** %4, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.26"*, %"struct.std::pair.41"* noalias sret, %"struct.std::pair.40"* dereferenceable(32), %"struct.std::_List_node.32"*) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"struct.std::pair.40", %"struct.std::pair.40"* %2, i32 0, i32 0
  %6 = bitcast %"struct.std::pair.40"* %2 to i8*
  %7 = load i8, i8* %6, align 1, !tbaa !12
  %8 = zext i8 %7 to i32
  %9 = xor i32 %8, -2128831035
  %10 = mul i32 %9, 16777619
  %11 = getelementptr inbounds i8, i8* %6, i32 1
  %12 = load i8, i8* %11, align 1, !tbaa !12
  %13 = zext i8 %12 to i32
  %14 = xor i32 %10, %13
  %15 = mul i32 %14, 16777619
  %16 = getelementptr inbounds i8, i8* %6, i32 2
  %17 = load i8, i8* %16, align 1, !tbaa !12
  %18 = zext i8 %17 to i32
  %19 = xor i32 %15, %18
  %20 = mul i32 %19, 16777619
  %21 = getelementptr inbounds i8, i8* %6, i32 3
  %22 = load i8, i8* %21, align 1, !tbaa !12
  %23 = zext i8 %22 to i32
  %24 = xor i32 %20, %23
  %25 = mul i32 %24, 16777619
  %26 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 3
  %27 = load i32, i32* %26, align 4, !tbaa !574
  %28 = and i32 %25, %27
  %29 = shl i32 %28, 1
  %30 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %31 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23, !noalias !691
  %32 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1
  %33 = bitcast %"class.std::list.27"* %32 to i32*
  %34 = load i32, i32* %33, align 4, !tbaa !23, !noalias !694
  %35 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %31, i32 %29, i32 0, i32 0
  %36 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %35, align 4, !tbaa !592, !noalias !691
  %37 = inttoptr i32 %34 to %"struct.std::_List_node.32"*
  %38 = icmp eq %"struct.std::_List_node.32"* %36, %37
  br i1 %38, label %45, label %39

; <label>:39:                                     ; preds = %4
  %40 = or i32 %29, 1
  %41 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %31, i32 %40
  %42 = bitcast %"class.std::_List_const_iterator.40"* %41 to i32**
  %43 = load i32*, i32** %42, align 4, !noalias !691
  %44 = load i32, i32* %43, align 4, !tbaa !595, !noalias !691
  br label %45

; <label>:45:                                     ; preds = %39, %4
  %46 = phi i32 [ %44, %39 ], [ %34, %4 ]
  %47 = inttoptr i32 %46 to %"struct.std::_List_node.32"*
  %48 = icmp eq %"struct.std::_List_node.32"* %36, %47
  br i1 %48, label %78, label %49

; <label>:49:                                     ; preds = %45
  %50 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %5, align 4, !tbaa !23
  br label %53

; <label>:51:                                     ; preds = %53
  %52 = icmp eq %"struct.std::_List_node.32"* %36, %58
  br i1 %52, label %78, label %53

; <label>:53:                                     ; preds = %51, %49
  %54 = phi %"struct.std::_List_node.32"* [ %47, %49 ], [ %58, %51 ]
  %55 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %54, i32 0, i32 1
  %56 = bitcast %"struct.std::_List_node.32"** %55 to i32*
  %57 = load i32, i32* %56, align 4, !tbaa !620
  %58 = inttoptr i32 %57 to %"struct.std::_List_node.32"*
  %59 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %58, i32 0, i32 2, i32 0
  %60 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %59, align 4, !tbaa !23
  %61 = icmp eq %"struct.std::pair.23"* %50, %60
  br i1 %61, label %62, label %51

; <label>:62:                                     ; preds = %53
  %63 = bitcast %"struct.std::_List_node.32"* %3 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !595, !noalias !699
  %65 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %3, i32 0, i32 0
  %66 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %3, i32 0, i32 1
  %67 = bitcast %"struct.std::_List_node.32"** %66 to i32**
  %68 = load i32*, i32** %67, align 4, !tbaa !620, !noalias !699
  store i32 %64, i32* %68, align 4, !tbaa !595, !noalias !699
  %69 = ptrtoint i32* %68 to i32
  %70 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %65, align 4, !tbaa !595, !noalias !699
  %71 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %70, i32 0, i32 1
  %72 = bitcast %"struct.std::_List_node.32"** %71 to i32*
  store i32 %69, i32* %72, align 4, !tbaa !620, !noalias !699
  %73 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %74 = load i32, i32* %73, align 4, !tbaa !24, !noalias !699
  %75 = add i32 %74, -1
  store i32 %75, i32* %73, align 4, !tbaa !24, !noalias !699
  %76 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %3, i32 0, i32 2, i32 1
  tail call x86_thiscallcc void @"\01??1ImportedFunction@@QAE@XZ"(%struct.ImportedFunction* %76) #14, !noalias !699
  %77 = bitcast %"struct.std::_List_node.32"* %3 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %77, i32 40) #14, !noalias !699
  br label %138

; <label>:78:                                     ; preds = %51, %45
  %79 = ptrtoint %"struct.std::_List_node.32"* %3 to i32
  %80 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %3, i32 0, i32 0
  %81 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %80, align 4, !tbaa !595
  %82 = icmp eq %"struct.std::_List_node.32"* %81, %36
  br i1 %82, label %102, label %83

; <label>:83:                                     ; preds = %78
  %84 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %3, i32 0, i32 1
  %85 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %84, align 4, !tbaa !620
  %86 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %85, i32 0, i32 0
  store %"struct.std::_List_node.32"* %81, %"struct.std::_List_node.32"** %86, align 4, !tbaa !595
  %87 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %81, i32 0, i32 1
  %88 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %87, align 4, !tbaa !620
  %89 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %88, i32 0, i32 0
  store %"struct.std::_List_node.32"* %36, %"struct.std::_List_node.32"** %89, align 4, !tbaa !595
  %90 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %36, i32 0, i32 1
  %91 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %90, align 4, !tbaa !620
  %92 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %91, i32 0, i32 0
  store %"struct.std::_List_node.32"* %3, %"struct.std::_List_node.32"** %92, align 4, !tbaa !595
  %93 = bitcast %"struct.std::_List_node.32"** %90 to i32*
  %94 = ptrtoint %"struct.std::_List_node.32"* %91 to i32
  %95 = bitcast %"struct.std::_List_node.32"** %87 to i32*
  %96 = ptrtoint %"struct.std::_List_node.32"* %88 to i32
  store i32 %96, i32* %93, align 4, !tbaa !620
  %97 = bitcast %"struct.std::_List_node.32"** %84 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !620
  store i32 %98, i32* %95, align 4, !tbaa !620
  store i32 %94, i32* %97, align 4, !tbaa !620
  %99 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %100 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %101 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %100, align 4, !tbaa !23, !noalias !702
  br label %102

; <label>:102:                                    ; preds = %83, %78
  %103 = phi %"struct.std::_List_node.32"* [ %101, %83 ], [ %37, %78 ]
  %104 = phi %"class.std::_List_const_iterator.40"* [ %99, %83 ], [ %31, %78 ]
  %105 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %104, i32 %29
  %106 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %105, i32 0, i32 0, i32 0
  %107 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %106, align 4, !tbaa !592
  %108 = icmp eq %"struct.std::_List_node.32"* %107, %103
  br i1 %108, label %109, label %114

; <label>:109:                                    ; preds = %102
  %110 = bitcast %"class.std::_List_const_iterator.40"* %105 to i32*
  store i32 %79, i32* %110, align 4
  %111 = or i32 %29, 1
  %112 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %113 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %112, i32 %111
  br label %133

; <label>:114:                                    ; preds = %102
  %115 = icmp eq %"struct.std::_List_node.32"* %107, %36
  br i1 %115, label %133, label %116

; <label>:116:                                    ; preds = %114
  %117 = or i32 %29, 1
  %118 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %104, i32 %117
  %119 = bitcast %"class.std::_List_const_iterator.40"* %118 to i32**
  %120 = load i32*, i32** %119, align 4, !tbaa !592
  %121 = load i32, i32* %120, align 4, !tbaa !595
  %122 = bitcast %"class.std::_List_const_iterator.40"* %118 to i32*
  store i32 %121, i32* %122, align 4, !tbaa !592
  %123 = inttoptr i32 %121 to %"struct.std::_List_node.32"*
  %124 = icmp eq %"struct.std::_List_node.32"* %123, %3
  br i1 %124, label %137, label %125

; <label>:125:                                    ; preds = %116
  %126 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %30, align 4, !tbaa !23
  %127 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %126, i32 %117
  %128 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %127, i32 0, i32 0, i32 0
  %129 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %128, align 4, !tbaa !592
  %130 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %129, i32 0, i32 1
  %131 = bitcast %"struct.std::_List_node.32"** %130 to i32*
  %132 = load i32, i32* %131, align 4, !tbaa !620
  br label %133

; <label>:133:                                    ; preds = %125, %114, %109
  %134 = phi %"class.std::_List_const_iterator.40"* [ %127, %125 ], [ %113, %109 ], [ %105, %114 ]
  %135 = phi i32 [ %132, %125 ], [ %79, %109 ], [ %79, %114 ]
  %136 = bitcast %"class.std::_List_const_iterator.40"* %134 to i32*
  store i32 %135, i32* %136, align 4
  br label %137

; <label>:137:                                    ; preds = %133, %116
  tail call x86_thiscallcc void @"\01?_Check_size@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAEXXZ"(%"class.std::_Hash.26"* nonnull %0)
  br label %138

; <label>:138:                                    ; preds = %137, %62
  %139 = phi i32 [ %79, %137 ], [ %57, %62 ]
  %140 = phi i8 [ 1, %137 ], [ 0, %62 ]
  %141 = bitcast %"struct.std::pair.41"* %1 to i32*
  store i32 %139, i32* %141, align 4
  %142 = getelementptr inbounds %"struct.std::pair.41", %"struct.std::pair.41"* %1, i32 0, i32 1
  store i8 %140, i8* %142, align 4, !tbaa !637
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc void @"\01??1ImportedFunction@@QAE@XZ"(%struct.ImportedFunction*) unnamed_addr #1 comdat align 2 {
  %2 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %3 = load i32*, i32** %2, align 4, !tbaa !23
  %4 = icmp eq i32* %3, null
  %5 = ptrtoint i32* %3 to i32
  br i1 %4, label %36, label %6

; <label>:6:                                      ; preds = %1
  %7 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %8 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %9 = bitcast i32** %8 to i32*
  %10 = load i32, i32* %9, align 4, !tbaa !23
  %11 = sub i32 %10, %5
  %12 = ashr exact i32 %11, 2
  %13 = icmp ugt i32 %12, 1073741823
  br i1 %13, label %32, label %14

; <label>:14:                                     ; preds = %6
  %15 = bitcast i32* %3 to i8*
  %16 = icmp ugt i32 %11, 4095
  br i1 %16, label %17, label %33

; <label>:17:                                     ; preds = %14
  %18 = add i32 %11, 35
  %19 = icmp ult i32 %11, -35
  %20 = and i32 %5, 31
  %21 = icmp eq i32 %20, 0
  %22 = and i1 %21, %19
  br i1 %22, label %23, label %32

; <label>:23:                                     ; preds = %17
  %24 = add i32 %5, -4
  %25 = inttoptr i32 %24 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !24
  %27 = icmp ult i32 %26, %5
  br i1 %27, label %28, label %32

; <label>:28:                                     ; preds = %23
  %29 = sub i32 %24, %26
  %30 = icmp ugt i32 %29, 31
  %31 = inttoptr i32 %26 to i8*
  br i1 %30, label %32, label %33

; <label>:32:                                     ; preds = %28, %23, %17, %6
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:33:                                     ; preds = %28, %14
  %34 = phi i8* [ %31, %28 ], [ %15, %14 ]
  %35 = phi i32 [ %18, %28 ], [ %11, %14 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %34, i32 %35) #14
  store i32* null, i32** %2, align 4, !tbaa !23
  store i32* null, i32** %7, align 4, !tbaa !23
  store i32* null, i32** %8, align 4, !tbaa !23
  br label %36

; <label>:36:                                     ; preds = %33, %1
  %37 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %38 = load i32*, i32** %37, align 4, !tbaa !23
  %39 = icmp eq i32* %38, null
  %40 = ptrtoint i32* %38 to i32
  br i1 %39, label %71, label %41

; <label>:41:                                     ; preds = %36
  %42 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %43 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %44 = bitcast i32** %43 to i32*
  %45 = load i32, i32* %44, align 4, !tbaa !23
  %46 = sub i32 %45, %40
  %47 = ashr exact i32 %46, 2
  %48 = icmp ugt i32 %47, 1073741823
  br i1 %48, label %67, label %49

; <label>:49:                                     ; preds = %41
  %50 = bitcast i32* %38 to i8*
  %51 = icmp ugt i32 %46, 4095
  br i1 %51, label %52, label %68

; <label>:52:                                     ; preds = %49
  %53 = add i32 %46, 35
  %54 = icmp ult i32 %46, -35
  %55 = and i32 %40, 31
  %56 = icmp eq i32 %55, 0
  %57 = and i1 %56, %54
  br i1 %57, label %58, label %67

; <label>:58:                                     ; preds = %52
  %59 = add i32 %40, -4
  %60 = inttoptr i32 %59 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !24
  %62 = icmp ult i32 %61, %40
  br i1 %62, label %63, label %67

; <label>:63:                                     ; preds = %58
  %64 = sub i32 %59, %61
  %65 = icmp ugt i32 %64, 31
  %66 = inttoptr i32 %61 to i8*
  br i1 %65, label %67, label %68

; <label>:67:                                     ; preds = %63, %58, %52, %41
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:68:                                     ; preds = %63, %49
  %69 = phi i8* [ %66, %63 ], [ %50, %49 ]
  %70 = phi i32 [ %53, %63 ], [ %46, %49 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %69, i32 %70) #14
  store i32* null, i32** %37, align 4, !tbaa !23
  store i32* null, i32** %42, align 4, !tbaa !23
  store i32* null, i32** %43, align 4, !tbaa !23
  br label %71

; <label>:71:                                     ; preds = %68, %36
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @builtinInsert() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = ashr exact i32 %7, 4
  %9 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %10 = sub i32 %8, %9
  %11 = icmp ult i32 %10, 3
  %12 = inttoptr i32 %6 to %class.variant.43*
  br i1 %11, label %15, label %13

; <label>:13:                                     ; preds = %0
  %14 = add nsw i32 %8, -3
  br label %34

; <label>:15:                                     ; preds = %0
  %16 = icmp ult i32 %8, 3
  br i1 %16, label %17, label %32

; <label>:17:                                     ; preds = %15
  %18 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %19 = icmp eq i32 %18, 0
  br i1 %19, label %20, label %234

; <label>:20:                                     ; preds = %17
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14
  %22 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %23 = icmp ult i32 %22, 15
  br i1 %23, label %29, label %24

; <label>:24:                                     ; preds = %20
  %25 = icmp eq i32 %22, 15
  %26 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %27 = select i1 %25, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %26
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %27, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %28 = getelementptr inbounds i8, i8* %27, i32 15
  store i8 0, i8* %28, align 1, !tbaa !12
  br label %31

; <label>:29:                                     ; preds = %20
  %30 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %31

; <label>:31:                                     ; preds = %29, %24
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14
  br label %234

; <label>:32:                                     ; preds = %15
  %33 = add nsw i32 %8, -3
  store i32 %33, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %34

; <label>:34:                                     ; preds = %32, %13
  %35 = phi i32 [ %14, %13 ], [ %33, %32 ]
  %36 = add nsw i32 %8, -1
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %36
  %38 = add nsw i32 %8, -2
  %39 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %38
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %35
  %41 = tail call zeroext i1 @"\01?isAnyText@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %39) #14
  br i1 %41, label %57, label %42

; <label>:42:                                     ; preds = %34
  %43 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %44 = icmp eq i32 %43, 0
  br i1 %44, label %45, label %234

; <label>:45:                                     ; preds = %42
  %46 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %46) #14
  %47 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %48 = icmp ult i32 %47, 12
  br i1 %48, label %54, label %49

; <label>:49:                                     ; preds = %45
  %50 = icmp ugt i32 %47, 15
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %52 = select i1 %50, i8* %51, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@GAIHBLBI@invalid?5name?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %52, i32 12
  store i8 0, i8* %53, align 1, !tbaa !12
  br label %56

; <label>:54:                                     ; preds = %45
  %55 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@GAIHBLBI@invalid?5name?$AA@", i32 0, i32 0)) #14
  br label %56

; <label>:56:                                     ; preds = %54, %49
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %46) #14
  br label %234

; <label>:57:                                     ; preds = %34
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %36, i32 1
  %59 = load i32, i32* %58, align 8, !tbaa !535
  %60 = icmp eq i32 %59, 17
  br i1 %60, label %76, label %61

; <label>:61:                                     ; preds = %57
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %234

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 10
  br i1 %67, label %73, label %68

; <label>:68:                                     ; preds = %64
  %69 = icmp ugt i32 %66, 15
  %70 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %71 = select i1 %69, i8* %70, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %72 = getelementptr inbounds i8, i8* %71, i32 10
  store i8 0, i8* %72, align 1, !tbaa !12
  br label %75

; <label>:73:                                     ; preds = %64
  %74 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %75

; <label>:75:                                     ; preds = %73, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %234

; <label>:76:                                     ; preds = %57
  %77 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %38, i32 1
  %78 = load i32, i32* %77, align 8, !tbaa !535
  %79 = icmp eq i32 %78, 13
  br i1 %79, label %80, label %83

; <label>:80:                                     ; preds = %76
  %81 = bitcast %class.variant.43* %39 to %"struct.std::pair.23"**
  %82 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %81, align 4, !tbaa !542
  br label %193

; <label>:83:                                     ; preds = %76
  %84 = bitcast %"class.std::basic_string"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %84) #14
  %85 = bitcast %class.variant.43* %39 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %86 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %85, align 4, !tbaa !549
  %87 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %86, i32 0, i32 1
  %88 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %88, align 4, !tbaa !83
  %89 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %89, align 4, !tbaa !81
  %90 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %86, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %91 = load i32, i32* %90, align 4, !tbaa !83
  %92 = bitcast %"class.std::basic_string"* %87 to i8*
  %93 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %86, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %94 = load i32, i32* %93, align 4, !tbaa !81
  %95 = icmp ugt i32 %94, 15
  %96 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %87, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %97 = load i8*, i8** %96, align 4
  %98 = select i1 %95, i8* %97, i8* %92
  %99 = icmp ult i32 %91, 16
  br i1 %99, label %100, label %101

; <label>:100:                                    ; preds = %83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %84, i8* %98, i32 16, i32 1, i1 false) #14
  br label %123

; <label>:101:                                    ; preds = %83
  %102 = or i32 %91, 15
  %103 = icmp ult i32 %102, 2147483647
  %104 = select i1 %103, i32 %102, i32 2147483647
  %105 = icmp ugt i32 %104, 4094
  br i1 %105, label %106, label %115

; <label>:106:                                    ; preds = %101
  %107 = add nuw i32 %104, 36
  %108 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %107) #14
  %109 = ptrtoint i8* %108 to i32
  %110 = add i32 %109, 35
  %111 = and i32 %110, -32
  %112 = inttoptr i32 %111 to i8*
  %113 = inttoptr i32 %111 to i32*
  %114 = getelementptr inbounds i32, i32* %113, i32 -1
  store i32 %109, i32* %114, align 4, !tbaa !24
  br label %118

; <label>:115:                                    ; preds = %101
  %116 = add nuw i32 %104, 1
  %117 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %116) #14
  br label %118

; <label>:118:                                    ; preds = %115, %106
  %119 = phi i8* [ %112, %106 ], [ %117, %115 ]
  %120 = ptrtoint i8* %119 to i32
  %121 = bitcast %"class.std::basic_string"* %4 to i32*
  store i32 %120, i32* %121, align 4, !tbaa !23
  %122 = add i32 %91, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %119, i8* %98, i32 %122, i32 1, i1 false) #14
  br label %123

; <label>:123:                                    ; preds = %118, %100
  %124 = phi i32 [ %104, %118 ], [ 15, %100 ]
  store i32 %91, i32* %88, align 4, !tbaa !83
  store i32 %124, i32* %89, align 4, !tbaa !81
  %125 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %4) #14
  %126 = load i32, i32* %89, align 4, !tbaa !81
  %127 = icmp ugt i32 %126, 15
  br i1 %127, label %128, label %153

; <label>:128:                                    ; preds = %123
  %129 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %130 = load i8*, i8** %129, align 4, !tbaa !12
  %131 = add i32 %126, 1
  %132 = icmp ugt i32 %131, 4095
  br i1 %132, label %133, label %150

; <label>:133:                                    ; preds = %128
  %134 = add i32 %126, 36
  %135 = icmp ugt i32 %131, -36
  br i1 %135, label %149, label %136

; <label>:136:                                    ; preds = %133
  %137 = ptrtoint i8* %130 to i32
  %138 = and i32 %137, 31
  %139 = icmp eq i32 %138, 0
  br i1 %139, label %140, label %149

; <label>:140:                                    ; preds = %136
  %141 = add i32 %137, -4
  %142 = inttoptr i32 %141 to i32*
  %143 = load i32, i32* %142, align 4, !tbaa !24
  %144 = icmp ult i32 %143, %137
  br i1 %144, label %145, label %149

; <label>:145:                                    ; preds = %140
  %146 = sub i32 %141, %143
  %147 = icmp ugt i32 %146, 31
  %148 = inttoptr i32 %143 to i8*
  br i1 %147, label %149, label %150

; <label>:149:                                    ; preds = %145, %140, %136, %133
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:150:                                    ; preds = %145, %128
  %151 = phi i8* [ %148, %145 ], [ %130, %128 ]
  %152 = phi i32 [ %134, %145 ], [ %131, %128 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %151, i32 %152) #14
  br label %153

; <label>:153:                                    ; preds = %150, %123
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %84) #14
  %154 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %85, align 4, !tbaa !549
  %155 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 0
  %156 = load i32, i32* %155, align 4, !tbaa !547
  %157 = icmp eq i32 %156, 1
  br i1 %157, label %160, label %158

; <label>:158:                                    ; preds = %153
  %159 = add i32 %156, -1
  store i32 %159, i32* %155, align 4, !tbaa !547
  br label %193

; <label>:160:                                    ; preds = %153
  %161 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, null
  br i1 %161, label %193, label %162

; <label>:162:                                    ; preds = %160
  %163 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %164 = load i32, i32* %163, align 4, !tbaa !81
  %165 = icmp ugt i32 %164, 15
  br i1 %165, label %166, label %191

; <label>:166:                                    ; preds = %162
  %167 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %168 = load i8*, i8** %167, align 4, !tbaa !12
  %169 = add i32 %164, 1
  %170 = icmp ugt i32 %169, 4095
  br i1 %170, label %171, label %188

; <label>:171:                                    ; preds = %166
  %172 = add i32 %164, 36
  %173 = icmp ugt i32 %169, -36
  br i1 %173, label %187, label %174

; <label>:174:                                    ; preds = %171
  %175 = ptrtoint i8* %168 to i32
  %176 = and i32 %175, 31
  %177 = icmp eq i32 %176, 0
  br i1 %177, label %178, label %187

; <label>:178:                                    ; preds = %174
  %179 = add i32 %175, -4
  %180 = inttoptr i32 %179 to i32*
  %181 = load i32, i32* %180, align 4, !tbaa !24
  %182 = icmp ult i32 %181, %175
  br i1 %182, label %183, label %187

; <label>:183:                                    ; preds = %178
  %184 = sub i32 %179, %181
  %185 = icmp ugt i32 %184, 31
  %186 = inttoptr i32 %181 to i8*
  br i1 %185, label %187, label %188

; <label>:187:                                    ; preds = %183, %178, %174, %171
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:188:                                    ; preds = %183, %166
  %189 = phi i8* [ %186, %183 ], [ %168, %166 ]
  %190 = phi i32 [ %172, %183 ], [ %169, %166 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %189, i32 %190) #14
  br label %191

; <label>:191:                                    ; preds = %188, %162
  %192 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %192) #21
  br label %193

; <label>:193:                                    ; preds = %191, %160, %158, %80
  %194 = phi %"struct.std::pair.23"* [ %82, %80 ], [ %125, %158 ], [ %125, %160 ], [ %125, %191 ]
  %195 = bitcast %class.variant.43* %37 to %struct.Combined**
  %196 = load %struct.Combined*, %struct.Combined** %195, align 4, !tbaa !23
  %197 = getelementptr inbounds %struct.Combined, %struct.Combined* %196, i32 0, i32 1
  %198 = load i32, i32* %197, align 4, !tbaa !563
  %199 = getelementptr inbounds %struct.Combined, %struct.Combined* %196, i32 0, i32 4
  %200 = getelementptr inbounds %struct.Combined, %struct.Combined* %196, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %201 = bitcast %struct.Field** %200 to i32*
  %202 = load i32, i32* %201, align 4, !tbaa !23
  %203 = bitcast %"class.std::vector.17"* %199 to i32*
  %204 = load i32, i32* %203, align 4, !tbaa !23
  %205 = sub i32 %202, %204
  %206 = sdiv exact i32 %205, 24
  %207 = icmp eq i32 %198, %206
  br i1 %207, label %208, label %210

; <label>:208:                                    ; preds = %193
  %209 = add i32 %198, 1
  store i32 %209, i32* %197, align 4, !tbaa !563
  br label %210

; <label>:210:                                    ; preds = %208, %193
  %211 = getelementptr inbounds %struct.Combined, %struct.Combined* %196, i32 0, i32 2
  %212 = load i32, i32* %211, align 4, !tbaa !564
  %213 = icmp eq i32 %212, %206
  br i1 %213, label %214, label %216

; <label>:214:                                    ; preds = %210
  %215 = add nsw i32 %206, 1
  store i32 %215, i32* %211, align 4, !tbaa !564
  br label %216

; <label>:216:                                    ; preds = %214, %210
  %217 = getelementptr inbounds %struct.Combined, %struct.Combined* %196, i32 0, i32 3
  %218 = load i32, i32* %217, align 4, !tbaa !565
  %219 = icmp eq i32 %218, %206
  %220 = add nsw i32 %206, 1
  br i1 %219, label %221, label %222

; <label>:221:                                    ; preds = %216
  store i32 %220, i32* %217, align 4, !tbaa !565
  br label %222

; <label>:222:                                    ; preds = %221, %216
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* nonnull %199, i32 %220, %"class.std::vector.17"* nonnull %199) #14
  %223 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %224 = getelementptr inbounds %struct.Field, %struct.Field* %223, i32 -1, i32 0
  store %"struct.std::pair.23"* %194, %"struct.std::pair.23"** %224, align 8, !tbaa !561
  %225 = load %struct.Field*, %struct.Field** %200, align 4, !tbaa !23
  %226 = getelementptr inbounds %struct.Field, %struct.Field* %225, i32 -1, i32 1
  %227 = bitcast %class.variant.43* %226 to i8*
  %228 = bitcast %class.variant.43* %40 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %227, i8* %228, i32 16, i32 8, i1 false), !tbaa.struct !567
  %229 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %230 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %231 = sub i32 %229, %230
  %232 = ashr exact i32 %231, 4
  %233 = add nsw i32 %232, -3
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %233, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %196) #14
  br label %234

; <label>:234:                                    ; preds = %222, %75, %61, %56, %42, %31, %17
  %235 = phi i1 [ false, %31 ], [ false, %17 ], [ true, %222 ], [ false, %56 ], [ false, %42 ], [ false, %75 ], [ false, %61 ]
  ret i1 %235
}

; Function Attrs: nounwind
define zeroext i1 @builtinIs() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %class.variant.43, align 8
  %3 = alloca %class.variant.43, align 8
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %284

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %284

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %48, label %43

; <label>:43:                                     ; preds = %33
  %44 = bitcast %class.variant.43* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %44) #14
  %45 = bitcast %class.variant.43* %37 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %44, i8* %45, i32 16, i32 8, i1 false), !tbaa.struct !567
  %46 = bitcast %class.variant.43* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %46) #14
  %47 = bitcast %class.variant.43* %36 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %46, i8* %47, i32 16, i32 8, i1 false), !tbaa.struct !567
  store i8 0, i8* %45, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %35, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %3) #14
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %46) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %44) #14
  br label %284

; <label>:48:                                     ; preds = %33
  switch i32 %39, label %278 [
    i32 0, label %49
    i32 1, label %56
    i32 2, label %63
    i32 3, label %71
    i32 4, label %79
    i32 5, label %87
    i32 6, label %95
    i32 7, label %102
    i32 8, label %110
    i32 9, label %118
    i32 10, label %126
    i32 11, label %134
    i32 12, label %142
    i32 13, label %150
    i32 14, label %158
    i32 15, label %254
    i32 16, label %262
    i32 17, label %270
  ]

; <label>:49:                                     ; preds = %48
  %50 = bitcast %class.variant.43* %37 to i8*
  %51 = load i8, i8* %50, align 1, !tbaa !566, !range !382
  %52 = bitcast %class.variant.43* %36 to i8*
  %53 = load i8, i8* %52, align 1, !tbaa !566, !range !382
  %54 = xor i8 %51, 1
  %55 = xor i8 %54, %53
  store i8 %55, i8* %50, align 1, !tbaa !566
  br label %278

; <label>:56:                                     ; preds = %48
  %57 = bitcast %class.variant.43* %37 to i8*
  %58 = load i8, i8* %57, align 1, !tbaa !12
  %59 = bitcast %class.variant.43* %36 to i8*
  %60 = load i8, i8* %59, align 1, !tbaa !12
  %61 = icmp eq i8 %58, %60
  %62 = zext i1 %61 to i8
  store i8 %62, i8* %57, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:63:                                     ; preds = %48
  %64 = bitcast %class.variant.43* %37 to i16*
  %65 = load i16, i16* %64, align 2, !tbaa !59
  %66 = bitcast %class.variant.43* %36 to i16*
  %67 = load i16, i16* %66, align 2, !tbaa !59
  %68 = icmp eq i16 %65, %67
  %69 = zext i1 %68 to i8
  %70 = bitcast %class.variant.43* %37 to i8*
  store i8 %69, i8* %70, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:71:                                     ; preds = %48
  %72 = bitcast %class.variant.43* %37 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = bitcast %class.variant.43* %36 to i32*
  %75 = load i32, i32* %74, align 4, !tbaa !24
  %76 = icmp eq i32 %73, %75
  %77 = zext i1 %76 to i8
  %78 = bitcast %class.variant.43* %37 to i8*
  store i8 %77, i8* %78, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:79:                                     ; preds = %48
  %80 = bitcast %class.variant.43* %37 to i64*
  %81 = load i64, i64* %80, align 8, !tbaa !61
  %82 = bitcast %class.variant.43* %36 to i64*
  %83 = load i64, i64* %82, align 8, !tbaa !61
  %84 = icmp eq i64 %81, %83
  %85 = zext i1 %84 to i8
  %86 = bitcast %class.variant.43* %37 to i8*
  store i8 %85, i8* %86, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:87:                                     ; preds = %48
  %88 = bitcast %class.variant.43* %37 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !538
  %90 = bitcast %class.variant.43* %36 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !538
  %92 = icmp eq i32 %89, %91
  %93 = zext i1 %92 to i8
  %94 = bitcast %class.variant.43* %37 to i8*
  store i8 %93, i8* %94, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:95:                                     ; preds = %48
  %96 = bitcast %class.variant.43* %37 to i8*
  %97 = load i8, i8* %96, align 1, !tbaa !12
  %98 = bitcast %class.variant.43* %36 to i8*
  %99 = load i8, i8* %98, align 1, !tbaa !12
  %100 = icmp eq i8 %97, %99
  %101 = zext i1 %100 to i8
  store i8 %101, i8* %96, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:102:                                    ; preds = %48
  %103 = bitcast %class.variant.43* %37 to i16*
  %104 = load i16, i16* %103, align 2, !tbaa !59
  %105 = bitcast %class.variant.43* %36 to i16*
  %106 = load i16, i16* %105, align 2, !tbaa !59
  %107 = icmp eq i16 %104, %106
  %108 = zext i1 %107 to i8
  %109 = bitcast %class.variant.43* %37 to i8*
  store i8 %108, i8* %109, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:110:                                    ; preds = %48
  %111 = bitcast %class.variant.43* %37 to i32*
  %112 = load i32, i32* %111, align 4, !tbaa !24
  %113 = bitcast %class.variant.43* %36 to i32*
  %114 = load i32, i32* %113, align 4, !tbaa !24
  %115 = icmp eq i32 %112, %114
  %116 = zext i1 %115 to i8
  %117 = bitcast %class.variant.43* %37 to i8*
  store i8 %116, i8* %117, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:118:                                    ; preds = %48
  %119 = bitcast %class.variant.43* %37 to i64*
  %120 = load i64, i64* %119, align 8, !tbaa !61
  %121 = bitcast %class.variant.43* %36 to i64*
  %122 = load i64, i64* %121, align 8, !tbaa !61
  %123 = icmp eq i64 %120, %122
  %124 = zext i1 %123 to i8
  %125 = bitcast %class.variant.43* %37 to i8*
  store i8 %124, i8* %125, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:126:                                    ; preds = %48
  %127 = bitcast %class.variant.43* %37 to i32*
  %128 = load i32, i32* %127, align 4, !tbaa !540
  %129 = bitcast %class.variant.43* %36 to i32*
  %130 = load i32, i32* %129, align 4, !tbaa !540
  %131 = icmp eq i32 %128, %130
  %132 = zext i1 %131 to i8
  %133 = bitcast %class.variant.43* %37 to i8*
  store i8 %132, i8* %133, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:134:                                    ; preds = %48
  %135 = bitcast %class.variant.43* %37 to float*
  %136 = load float, float* %135, align 4, !tbaa !70
  %137 = bitcast %class.variant.43* %36 to float*
  %138 = load float, float* %137, align 4, !tbaa !70
  %139 = fcmp oeq float %136, %138
  %140 = zext i1 %139 to i8
  %141 = bitcast %class.variant.43* %37 to i8*
  store i8 %140, i8* %141, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:142:                                    ; preds = %48
  %143 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %144 = load double, double* %143, align 8, !tbaa !72
  %145 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %146 = load double, double* %145, align 8, !tbaa !72
  %147 = fcmp oeq double %144, %146
  %148 = zext i1 %147 to i8
  %149 = bitcast %class.variant.43* %37 to i8*
  store i8 %148, i8* %149, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:150:                                    ; preds = %48
  %151 = bitcast %class.variant.43* %37 to %"struct.std::pair.23"**
  %152 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %151, align 4, !tbaa !542
  %153 = bitcast %class.variant.43* %36 to %"struct.std::pair.23"**
  %154 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %153, align 4, !tbaa !542
  %155 = icmp eq %"struct.std::pair.23"* %152, %154
  %156 = zext i1 %155 to i8
  %157 = bitcast %class.variant.43* %37 to i8*
  store i8 %156, i8* %157, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:158:                                    ; preds = %48
  %159 = bitcast %class.variant.43* %37 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %160 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %159, align 4, !tbaa !549
  %161 = bitcast %class.variant.43* %36 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %162 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %161, align 4, !tbaa !549
  %163 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160, %162
  %164 = zext i1 %163 to i8
  %165 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160, i32 0, i32 0
  %166 = load i32, i32* %165, align 4, !tbaa !547
  %167 = icmp eq i32 %166, 1
  br i1 %167, label %170, label %168

; <label>:168:                                    ; preds = %158
  %169 = add i32 %166, -1
  store i32 %169, i32* %165, align 4, !tbaa !547
  br label %204

; <label>:170:                                    ; preds = %158
  %171 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160, null
  br i1 %171, label %204, label %172

; <label>:172:                                    ; preds = %170
  %173 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %174 = load i32, i32* %173, align 4, !tbaa !81
  %175 = icmp ugt i32 %174, 15
  br i1 %175, label %176, label %201

; <label>:176:                                    ; preds = %172
  %177 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %178 = load i8*, i8** %177, align 4, !tbaa !12
  %179 = add i32 %174, 1
  %180 = icmp ugt i32 %179, 4095
  br i1 %180, label %181, label %198

; <label>:181:                                    ; preds = %176
  %182 = add i32 %174, 36
  %183 = icmp ugt i32 %179, -36
  br i1 %183, label %197, label %184

; <label>:184:                                    ; preds = %181
  %185 = ptrtoint i8* %178 to i32
  %186 = and i32 %185, 31
  %187 = icmp eq i32 %186, 0
  br i1 %187, label %188, label %197

; <label>:188:                                    ; preds = %184
  %189 = add i32 %185, -4
  %190 = inttoptr i32 %189 to i32*
  %191 = load i32, i32* %190, align 4, !tbaa !24
  %192 = icmp ult i32 %191, %185
  br i1 %192, label %193, label %197

; <label>:193:                                    ; preds = %188
  %194 = sub i32 %189, %191
  %195 = icmp ugt i32 %194, 31
  %196 = inttoptr i32 %191 to i8*
  br i1 %195, label %197, label %198

; <label>:197:                                    ; preds = %193, %188, %184, %181
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:198:                                    ; preds = %193, %176
  %199 = phi i8* [ %196, %193 ], [ %178, %176 ]
  %200 = phi i32 [ %182, %193 ], [ %179, %176 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %199, i32 %200) #14
  br label %201

; <label>:201:                                    ; preds = %198, %172
  %202 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %160 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %202) #21
  %203 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %161, align 4, !tbaa !549
  br label %204

; <label>:204:                                    ; preds = %201, %170, %168
  %205 = phi %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* [ %162, %168 ], [ %162, %170 ], [ %203, %201 ]
  %206 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %205, i32 0, i32 0
  %207 = load i32, i32* %206, align 4, !tbaa !547
  %208 = icmp eq i32 %207, 1
  br i1 %208, label %211, label %209

; <label>:209:                                    ; preds = %204
  %210 = add i32 %207, -1
  store i32 %210, i32* %206, align 4, !tbaa !547
  br label %244

; <label>:211:                                    ; preds = %204
  %212 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %205, null
  br i1 %212, label %244, label %213

; <label>:213:                                    ; preds = %211
  %214 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %205, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %215 = load i32, i32* %214, align 4, !tbaa !81
  %216 = icmp ugt i32 %215, 15
  br i1 %216, label %217, label %242

; <label>:217:                                    ; preds = %213
  %218 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %205, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %219 = load i8*, i8** %218, align 4, !tbaa !12
  %220 = add i32 %215, 1
  %221 = icmp ugt i32 %220, 4095
  br i1 %221, label %222, label %239

; <label>:222:                                    ; preds = %217
  %223 = add i32 %215, 36
  %224 = icmp ugt i32 %220, -36
  br i1 %224, label %238, label %225

; <label>:225:                                    ; preds = %222
  %226 = ptrtoint i8* %219 to i32
  %227 = and i32 %226, 31
  %228 = icmp eq i32 %227, 0
  br i1 %228, label %229, label %238

; <label>:229:                                    ; preds = %225
  %230 = add i32 %226, -4
  %231 = inttoptr i32 %230 to i32*
  %232 = load i32, i32* %231, align 4, !tbaa !24
  %233 = icmp ult i32 %232, %226
  br i1 %233, label %234, label %238

; <label>:234:                                    ; preds = %229
  %235 = sub i32 %230, %232
  %236 = icmp ugt i32 %235, 31
  %237 = inttoptr i32 %232 to i8*
  br i1 %236, label %238, label %239

; <label>:238:                                    ; preds = %234, %229, %225, %222
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:239:                                    ; preds = %234, %217
  %240 = phi i8* [ %237, %234 ], [ %219, %217 ]
  %241 = phi i32 [ %223, %234 ], [ %220, %217 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %240, i32 %241) #14
  br label %242

; <label>:242:                                    ; preds = %239, %213
  %243 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %205 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %243) #21
  br label %244

; <label>:244:                                    ; preds = %242, %211, %209
  %245 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %246 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %247 = sub i32 %245, %246
  %248 = ashr exact i32 %247, 4
  %249 = add nsw i32 %248, -2
  %250 = inttoptr i32 %246 to %class.variant.43*
  %251 = getelementptr inbounds %class.variant.43, %class.variant.43* %250, i32 %249
  %252 = bitcast %class.variant.43* %251 to i8*
  store i8 %164, i8* %252, align 8, !tbaa !566
  %253 = getelementptr inbounds %class.variant.43, %class.variant.43* %250, i32 %249, i32 1
  store i32 0, i32* %253, align 8, !tbaa !535
  br label %278

; <label>:254:                                    ; preds = %48
  %255 = bitcast %class.variant.43* %37 to %"class.std::vector.4"**
  %256 = load %"class.std::vector.4"*, %"class.std::vector.4"** %255, align 4, !tbaa !572
  %257 = bitcast %class.variant.43* %36 to %"class.std::vector.4"**
  %258 = load %"class.std::vector.4"*, %"class.std::vector.4"** %257, align 4, !tbaa !572
  %259 = icmp eq %"class.std::vector.4"* %256, %258
  %260 = zext i1 %259 to i8
  %261 = bitcast %class.variant.43* %37 to i8*
  store i8 %260, i8* %261, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:262:                                    ; preds = %48
  %263 = bitcast %class.variant.43* %37 to i1 ()**
  %264 = load i1 ()*, i1 ()** %263, align 4, !tbaa !23
  %265 = bitcast %class.variant.43* %36 to i1 ()**
  %266 = load i1 ()*, i1 ()** %265, align 4, !tbaa !23
  %267 = icmp eq i1 ()* %264, %266
  %268 = zext i1 %267 to i8
  %269 = bitcast %class.variant.43* %37 to i8*
  store i8 %268, i8* %269, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  br label %278

; <label>:270:                                    ; preds = %48
  %271 = bitcast %class.variant.43* %37 to %struct.Combined**
  %272 = load %struct.Combined*, %struct.Combined** %271, align 4, !tbaa !23
  %273 = bitcast %class.variant.43* %36 to %struct.Combined**
  %274 = load %struct.Combined*, %struct.Combined** %273, align 4, !tbaa !23
  %275 = icmp eq %struct.Combined* %272, %274
  %276 = zext i1 %275 to i8
  %277 = bitcast %class.variant.43* %37 to i8*
  store i8 %276, i8* %277, align 8, !tbaa !566
  store i32 0, i32* %38, align 8, !tbaa !535
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %35, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %274) #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %272) #14
  br label %284

; <label>:278:                                    ; preds = %262, %254, %244, %150, %142, %134, %126, %118, %110, %102, %95, %87, %79, %71, %63, %56, %49, %48
  %279 = phi i32 [ %5, %48 ], [ %5, %262 ], [ %5, %254 ], [ %246, %244 ], [ %5, %150 ], [ %5, %142 ], [ %5, %134 ], [ %5, %126 ], [ %5, %118 ], [ %5, %110 ], [ %5, %102 ], [ %5, %95 ], [ %5, %87 ], [ %5, %79 ], [ %5, %71 ], [ %5, %63 ], [ %5, %56 ], [ %5, %49 ]
  %280 = phi i32 [ %4, %48 ], [ %4, %262 ], [ %4, %254 ], [ %245, %244 ], [ %4, %150 ], [ %4, %142 ], [ %4, %134 ], [ %4, %126 ], [ %4, %118 ], [ %4, %110 ], [ %4, %102 ], [ %4, %95 ], [ %4, %87 ], [ %4, %79 ], [ %4, %71 ], [ %4, %63 ], [ %4, %56 ], [ %4, %49 ]
  %281 = sub i32 %280, %279
  %282 = ashr exact i32 %281, 4
  %283 = add nsw i32 %282, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %283, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %284

; <label>:284:                                    ; preds = %278, %270, %43, %30, %16
  %285 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %278 ], [ true, %270 ], [ true, %43 ]
  ret i1 %285
}

; Function Attrs: nounwind
define zeroext i1 @builtinLess() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %18 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %19 = sub i32 %17, %18
  %20 = ashr exact i32 %19, 4
  %21 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %22 = sub i32 %20, %21
  %23 = icmp ult i32 %22, 2
  %24 = inttoptr i32 %18 to %class.variant.43*
  br i1 %23, label %27, label %25

; <label>:25:                                     ; preds = %0
  %26 = add nsw i32 %20, -2
  br label %46

; <label>:27:                                     ; preds = %0
  %28 = icmp ult i32 %20, 2
  br i1 %28, label %29, label %44

; <label>:29:                                     ; preds = %27
  %30 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %31 = icmp eq i32 %30, 0
  br i1 %31, label %32, label %658

; <label>:32:                                     ; preds = %29
  %33 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %33) #14
  %34 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %35 = icmp ult i32 %34, 15
  br i1 %35, label %41, label %36

; <label>:36:                                     ; preds = %32
  %37 = icmp eq i32 %34, 15
  %38 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %39 = select i1 %37, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %38
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %39, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %40 = getelementptr inbounds i8, i8* %39, i32 15
  store i8 0, i8* %40, align 1, !tbaa !12
  br label %43

; <label>:41:                                     ; preds = %32
  %42 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %43

; <label>:43:                                     ; preds = %41, %36
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %33) #14
  br label %658

; <label>:44:                                     ; preds = %27
  %45 = add nsw i32 %20, -2
  store i32 %45, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %46

; <label>:46:                                     ; preds = %44, %25
  %47 = phi i32 [ %26, %25 ], [ %45, %44 ]
  %48 = add nsw i32 %20, -1
  %49 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47, i32 1
  %52 = load i32, i32* %51, align 8, !tbaa !535
  switch i32 %52, label %639 [
    i32 1, label %53
    i32 2, label %77
    i32 3, label %102
    i32 4, label %127
    i32 5, label %152
    i32 6, label %177
    i32 7, label %201
    i32 8, label %226
    i32 9, label %251
    i32 10, label %276
    i32 11, label %301
    i32 12, label %326
    i32 13, label %351
    i32 14, label %471
  ]

; <label>:53:                                     ; preds = %46
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %55 = load i32, i32* %54, align 8, !tbaa !535
  %56 = icmp eq i32 %55, 1
  br i1 %56, label %70, label %57

; <label>:57:                                     ; preds = %53
  %58 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %59 = icmp eq i32 %58, 0
  br i1 %59, label %60, label %658

; <label>:60:                                     ; preds = %57
  %61 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %61) #14
  %62 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %63 = icmp ult i32 %62, 17
  br i1 %63, label %67, label %64

; <label>:64:                                     ; preds = %60
  %65 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %65, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %66 = getelementptr inbounds i8, i8* %65, i32 17
  store i8 0, i8* %66, align 1, !tbaa !12
  br label %69

; <label>:67:                                     ; preds = %60
  %68 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %69

; <label>:69:                                     ; preds = %67, %64
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %61) #14
  br label %658

; <label>:70:                                     ; preds = %53
  %71 = bitcast %class.variant.43* %50 to i8*
  %72 = load i8, i8* %71, align 1, !tbaa !12
  %73 = bitcast %class.variant.43* %49 to i8*
  %74 = load i8, i8* %73, align 1, !tbaa !12
  %75 = icmp slt i8 %72, %74
  %76 = zext i1 %75 to i8
  store i8 %76, i8* %71, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:77:                                     ; preds = %46
  %78 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %79 = load i32, i32* %78, align 8, !tbaa !535
  %80 = icmp eq i32 %79, 2
  br i1 %80, label %94, label %81

; <label>:81:                                     ; preds = %77
  %82 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %83 = icmp eq i32 %82, 0
  br i1 %83, label %84, label %658

; <label>:84:                                     ; preds = %81
  %85 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %85) #14
  %86 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %87 = icmp ult i32 %86, 17
  br i1 %87, label %91, label %88

; <label>:88:                                     ; preds = %84
  %89 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %90 = getelementptr inbounds i8, i8* %89, i32 17
  store i8 0, i8* %90, align 1, !tbaa !12
  br label %93

; <label>:91:                                     ; preds = %84
  %92 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %93

; <label>:93:                                     ; preds = %91, %88
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %85) #14
  br label %658

; <label>:94:                                     ; preds = %77
  %95 = bitcast %class.variant.43* %50 to i16*
  %96 = load i16, i16* %95, align 2, !tbaa !59
  %97 = bitcast %class.variant.43* %49 to i16*
  %98 = load i16, i16* %97, align 2, !tbaa !59
  %99 = icmp slt i16 %96, %98
  %100 = zext i1 %99 to i8
  %101 = bitcast %class.variant.43* %50 to i8*
  store i8 %100, i8* %101, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:102:                                    ; preds = %46
  %103 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %104 = load i32, i32* %103, align 8, !tbaa !535
  %105 = icmp eq i32 %104, 3
  br i1 %105, label %119, label %106

; <label>:106:                                    ; preds = %102
  %107 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %108 = icmp eq i32 %107, 0
  br i1 %108, label %109, label %658

; <label>:109:                                    ; preds = %106
  %110 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %110) #14
  %111 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %112 = icmp ult i32 %111, 17
  br i1 %112, label %116, label %113

; <label>:113:                                    ; preds = %109
  %114 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %114, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %115 = getelementptr inbounds i8, i8* %114, i32 17
  store i8 0, i8* %115, align 1, !tbaa !12
  br label %118

; <label>:116:                                    ; preds = %109
  %117 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %118

; <label>:118:                                    ; preds = %116, %113
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %110) #14
  br label %658

; <label>:119:                                    ; preds = %102
  %120 = bitcast %class.variant.43* %50 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !24
  %122 = bitcast %class.variant.43* %49 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !24
  %124 = icmp slt i32 %121, %123
  %125 = zext i1 %124 to i8
  %126 = bitcast %class.variant.43* %50 to i8*
  store i8 %125, i8* %126, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:127:                                    ; preds = %46
  %128 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %129 = load i32, i32* %128, align 8, !tbaa !535
  %130 = icmp eq i32 %129, 4
  br i1 %130, label %144, label %131

; <label>:131:                                    ; preds = %127
  %132 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %133 = icmp eq i32 %132, 0
  br i1 %133, label %134, label %658

; <label>:134:                                    ; preds = %131
  %135 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %135) #14
  %136 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %137 = icmp ult i32 %136, 17
  br i1 %137, label %141, label %138

; <label>:138:                                    ; preds = %134
  %139 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %139, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %140 = getelementptr inbounds i8, i8* %139, i32 17
  store i8 0, i8* %140, align 1, !tbaa !12
  br label %143

; <label>:141:                                    ; preds = %134
  %142 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %143

; <label>:143:                                    ; preds = %141, %138
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %135) #14
  br label %658

; <label>:144:                                    ; preds = %127
  %145 = bitcast %class.variant.43* %50 to i64*
  %146 = load i64, i64* %145, align 8, !tbaa !61
  %147 = bitcast %class.variant.43* %49 to i64*
  %148 = load i64, i64* %147, align 8, !tbaa !61
  %149 = icmp slt i64 %146, %148
  %150 = zext i1 %149 to i8
  %151 = bitcast %class.variant.43* %50 to i8*
  store i8 %150, i8* %151, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:152:                                    ; preds = %46
  %153 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %154 = load i32, i32* %153, align 8, !tbaa !535
  %155 = icmp eq i32 %154, 5
  br i1 %155, label %169, label %156

; <label>:156:                                    ; preds = %152
  %157 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %158 = icmp eq i32 %157, 0
  br i1 %158, label %159, label %658

; <label>:159:                                    ; preds = %156
  %160 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %160) #14
  %161 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %162 = icmp ult i32 %161, 17
  br i1 %162, label %166, label %163

; <label>:163:                                    ; preds = %159
  %164 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %164, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %165 = getelementptr inbounds i8, i8* %164, i32 17
  store i8 0, i8* %165, align 1, !tbaa !12
  br label %168

; <label>:166:                                    ; preds = %159
  %167 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %168

; <label>:168:                                    ; preds = %166, %163
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14
  br label %658

; <label>:169:                                    ; preds = %152
  %170 = bitcast %class.variant.43* %50 to i32*
  %171 = load i32, i32* %170, align 4, !tbaa !538
  %172 = bitcast %class.variant.43* %49 to i32*
  %173 = load i32, i32* %172, align 4, !tbaa !538
  %174 = icmp slt i32 %171, %173
  %175 = zext i1 %174 to i8
  %176 = bitcast %class.variant.43* %50 to i8*
  store i8 %175, i8* %176, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:177:                                    ; preds = %46
  %178 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %179 = load i32, i32* %178, align 8, !tbaa !535
  %180 = icmp eq i32 %179, 6
  br i1 %180, label %194, label %181

; <label>:181:                                    ; preds = %177
  %182 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %183 = icmp eq i32 %182, 0
  br i1 %183, label %184, label %658

; <label>:184:                                    ; preds = %181
  %185 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %185) #14
  %186 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %187 = icmp ult i32 %186, 17
  br i1 %187, label %191, label %188

; <label>:188:                                    ; preds = %184
  %189 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %189, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %190 = getelementptr inbounds i8, i8* %189, i32 17
  store i8 0, i8* %190, align 1, !tbaa !12
  br label %193

; <label>:191:                                    ; preds = %184
  %192 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %193

; <label>:193:                                    ; preds = %191, %188
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %185) #14
  br label %658

; <label>:194:                                    ; preds = %177
  %195 = bitcast %class.variant.43* %50 to i8*
  %196 = load i8, i8* %195, align 1, !tbaa !12
  %197 = bitcast %class.variant.43* %49 to i8*
  %198 = load i8, i8* %197, align 1, !tbaa !12
  %199 = icmp ult i8 %196, %198
  %200 = zext i1 %199 to i8
  store i8 %200, i8* %195, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:201:                                    ; preds = %46
  %202 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %203 = load i32, i32* %202, align 8, !tbaa !535
  %204 = icmp eq i32 %203, 7
  br i1 %204, label %218, label %205

; <label>:205:                                    ; preds = %201
  %206 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %207 = icmp eq i32 %206, 0
  br i1 %207, label %208, label %658

; <label>:208:                                    ; preds = %205
  %209 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %209) #14
  %210 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %211 = icmp ult i32 %210, 17
  br i1 %211, label %215, label %212

; <label>:212:                                    ; preds = %208
  %213 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %213, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %214 = getelementptr inbounds i8, i8* %213, i32 17
  store i8 0, i8* %214, align 1, !tbaa !12
  br label %217

; <label>:215:                                    ; preds = %208
  %216 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %217

; <label>:217:                                    ; preds = %215, %212
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %209) #14
  br label %658

; <label>:218:                                    ; preds = %201
  %219 = bitcast %class.variant.43* %50 to i16*
  %220 = load i16, i16* %219, align 2, !tbaa !59
  %221 = bitcast %class.variant.43* %49 to i16*
  %222 = load i16, i16* %221, align 2, !tbaa !59
  %223 = icmp ult i16 %220, %222
  %224 = zext i1 %223 to i8
  %225 = bitcast %class.variant.43* %50 to i8*
  store i8 %224, i8* %225, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:226:                                    ; preds = %46
  %227 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %228 = load i32, i32* %227, align 8, !tbaa !535
  %229 = icmp eq i32 %228, 8
  br i1 %229, label %243, label %230

; <label>:230:                                    ; preds = %226
  %231 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %232 = icmp eq i32 %231, 0
  br i1 %232, label %233, label %658

; <label>:233:                                    ; preds = %230
  %234 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %234) #14
  %235 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %236 = icmp ult i32 %235, 17
  br i1 %236, label %240, label %237

; <label>:237:                                    ; preds = %233
  %238 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %238, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %239 = getelementptr inbounds i8, i8* %238, i32 17
  store i8 0, i8* %239, align 1, !tbaa !12
  br label %242

; <label>:240:                                    ; preds = %233
  %241 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %242

; <label>:242:                                    ; preds = %240, %237
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %234) #14
  br label %658

; <label>:243:                                    ; preds = %226
  %244 = bitcast %class.variant.43* %50 to i32*
  %245 = load i32, i32* %244, align 4, !tbaa !24
  %246 = bitcast %class.variant.43* %49 to i32*
  %247 = load i32, i32* %246, align 4, !tbaa !24
  %248 = icmp ult i32 %245, %247
  %249 = zext i1 %248 to i8
  %250 = bitcast %class.variant.43* %50 to i8*
  store i8 %249, i8* %250, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:251:                                    ; preds = %46
  %252 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %253 = load i32, i32* %252, align 8, !tbaa !535
  %254 = icmp eq i32 %253, 9
  br i1 %254, label %268, label %255

; <label>:255:                                    ; preds = %251
  %256 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %257 = icmp eq i32 %256, 0
  br i1 %257, label %258, label %658

; <label>:258:                                    ; preds = %255
  %259 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %259) #14
  %260 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %261 = icmp ult i32 %260, 17
  br i1 %261, label %265, label %262

; <label>:262:                                    ; preds = %258
  %263 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %263, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %264 = getelementptr inbounds i8, i8* %263, i32 17
  store i8 0, i8* %264, align 1, !tbaa !12
  br label %267

; <label>:265:                                    ; preds = %258
  %266 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %267

; <label>:267:                                    ; preds = %265, %262
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %259) #14
  br label %658

; <label>:268:                                    ; preds = %251
  %269 = bitcast %class.variant.43* %50 to i64*
  %270 = load i64, i64* %269, align 8, !tbaa !61
  %271 = bitcast %class.variant.43* %49 to i64*
  %272 = load i64, i64* %271, align 8, !tbaa !61
  %273 = icmp ult i64 %270, %272
  %274 = zext i1 %273 to i8
  %275 = bitcast %class.variant.43* %50 to i8*
  store i8 %274, i8* %275, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:276:                                    ; preds = %46
  %277 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %278 = load i32, i32* %277, align 8, !tbaa !535
  %279 = icmp eq i32 %278, 10
  br i1 %279, label %293, label %280

; <label>:280:                                    ; preds = %276
  %281 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %282 = icmp eq i32 %281, 0
  br i1 %282, label %283, label %658

; <label>:283:                                    ; preds = %280
  %284 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %284) #14
  %285 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %286 = icmp ult i32 %285, 17
  br i1 %286, label %290, label %287

; <label>:287:                                    ; preds = %283
  %288 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %288, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %289 = getelementptr inbounds i8, i8* %288, i32 17
  store i8 0, i8* %289, align 1, !tbaa !12
  br label %292

; <label>:290:                                    ; preds = %283
  %291 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %292

; <label>:292:                                    ; preds = %290, %287
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %284) #14
  br label %658

; <label>:293:                                    ; preds = %276
  %294 = bitcast %class.variant.43* %50 to i32*
  %295 = load i32, i32* %294, align 4, !tbaa !540
  %296 = bitcast %class.variant.43* %49 to i32*
  %297 = load i32, i32* %296, align 4, !tbaa !540
  %298 = icmp ult i32 %295, %297
  %299 = zext i1 %298 to i8
  %300 = bitcast %class.variant.43* %50 to i8*
  store i8 %299, i8* %300, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:301:                                    ; preds = %46
  %302 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %303 = load i32, i32* %302, align 8, !tbaa !535
  %304 = icmp eq i32 %303, 11
  br i1 %304, label %318, label %305

; <label>:305:                                    ; preds = %301
  %306 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %307 = icmp eq i32 %306, 0
  br i1 %307, label %308, label %658

; <label>:308:                                    ; preds = %305
  %309 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %309) #14
  %310 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %311 = icmp ult i32 %310, 17
  br i1 %311, label %315, label %312

; <label>:312:                                    ; preds = %308
  %313 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %313, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %314 = getelementptr inbounds i8, i8* %313, i32 17
  store i8 0, i8* %314, align 1, !tbaa !12
  br label %317

; <label>:315:                                    ; preds = %308
  %316 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %317

; <label>:317:                                    ; preds = %315, %312
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %309) #14
  br label %658

; <label>:318:                                    ; preds = %301
  %319 = bitcast %class.variant.43* %50 to float*
  %320 = load float, float* %319, align 4, !tbaa !70
  %321 = bitcast %class.variant.43* %49 to float*
  %322 = load float, float* %321, align 4, !tbaa !70
  %323 = fcmp olt float %320, %322
  %324 = zext i1 %323 to i8
  %325 = bitcast %class.variant.43* %50 to i8*
  store i8 %324, i8* %325, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:326:                                    ; preds = %46
  %327 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %328 = load i32, i32* %327, align 8, !tbaa !535
  %329 = icmp eq i32 %328, 12
  br i1 %329, label %343, label %330

; <label>:330:                                    ; preds = %326
  %331 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %332 = icmp eq i32 %331, 0
  br i1 %332, label %333, label %658

; <label>:333:                                    ; preds = %330
  %334 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %334) #14
  %335 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %336 = icmp ult i32 %335, 17
  br i1 %336, label %340, label %337

; <label>:337:                                    ; preds = %333
  %338 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %338, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %339 = getelementptr inbounds i8, i8* %338, i32 17
  store i8 0, i8* %339, align 1, !tbaa !12
  br label %342

; <label>:340:                                    ; preds = %333
  %341 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %342

; <label>:342:                                    ; preds = %340, %337
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %334) #14
  br label %658

; <label>:343:                                    ; preds = %326
  %344 = getelementptr inbounds %class.variant.43, %class.variant.43* %50, i32 0, i32 0, i32 0, i32 0
  %345 = load double, double* %344, align 8, !tbaa !72
  %346 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 0, i32 0, i32 0, i32 0
  %347 = load double, double* %346, align 8, !tbaa !72
  %348 = fcmp olt double %345, %347
  %349 = zext i1 %348 to i8
  %350 = bitcast %class.variant.43* %50 to i8*
  store i8 %349, i8* %350, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:351:                                    ; preds = %46
  %352 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %353 = load i32, i32* %352, align 8, !tbaa !535
  switch i32 %353, label %458 [
    i32 13, label %354
    i32 14, label %387
  ]

; <label>:354:                                    ; preds = %351
  %355 = bitcast %class.variant.43* %49 to %"struct.std::pair.23"**
  %356 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %355, align 4, !tbaa !542
  %357 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %358 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %357, align 4, !tbaa !542
  %359 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %360 = load i32, i32* %359, align 4, !tbaa !83
  %361 = bitcast %"struct.std::pair.23"* %356 to i8*
  %362 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %363 = load i32, i32* %362, align 4, !tbaa !81
  %364 = icmp ugt i32 %363, 15
  %365 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %366 = load i8*, i8** %365, align 4
  %367 = select i1 %364, i8* %366, i8* %361
  %368 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %369 = load i32, i32* %368, align 4, !tbaa !83
  %370 = bitcast %"struct.std::pair.23"* %358 to i8*
  %371 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %372 = load i32, i32* %371, align 4, !tbaa !81
  %373 = icmp ugt i32 %372, 15
  %374 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %358, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %375 = load i8*, i8** %374, align 4
  %376 = select i1 %373, i8* %375, i8* %370
  %377 = icmp ult i32 %360, %369
  %378 = select i1 %377, i32 %360, i32 %369
  %379 = tail call i32 @memcmp(i8* %376, i8* %367, i32 %378) #14
  %380 = icmp eq i32 %379, 0
  %381 = icmp ult i32 %369, %360
  %382 = select i1 %381, i32 -2147483648, i32 0
  %383 = select i1 %380, i32 %382, i32 %379
  %384 = lshr i32 %383, 31
  %385 = trunc i32 %384 to i8
  %386 = bitcast %class.variant.43* %50 to i8*
  store i8 %385, i8* %386, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  br label %652

; <label>:387:                                    ; preds = %351
  %388 = bitcast %class.variant.43* %49 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %389 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %388, align 4, !tbaa !549
  %390 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1
  %391 = bitcast %class.variant.43* %50 to %"struct.std::pair.23"**
  %392 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %391, align 4, !tbaa !542
  %393 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %394 = load i32, i32* %393, align 4, !tbaa !83
  %395 = bitcast %"class.std::basic_string"* %390 to i8*
  %396 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %397 = load i32, i32* %396, align 4, !tbaa !81
  %398 = icmp ugt i32 %397, 15
  %399 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %390, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %400 = load i8*, i8** %399, align 4
  %401 = select i1 %398, i8* %400, i8* %395
  %402 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %403 = load i32, i32* %402, align 4, !tbaa !83
  %404 = bitcast %"struct.std::pair.23"* %392 to i8*
  %405 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %406 = load i32, i32* %405, align 4, !tbaa !81
  %407 = icmp ugt i32 %406, 15
  %408 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %392, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %409 = load i8*, i8** %408, align 4
  %410 = select i1 %407, i8* %409, i8* %404
  %411 = icmp ult i32 %394, %403
  %412 = select i1 %411, i32 %394, i32 %403
  %413 = tail call i32 @memcmp(i8* %410, i8* %401, i32 %412) #14
  %414 = icmp eq i32 %413, 0
  %415 = icmp ult i32 %403, %394
  %416 = select i1 %415, i32 -2147483648, i32 0
  %417 = select i1 %414, i32 %416, i32 %413
  %418 = lshr i32 %417, 31
  %419 = trunc i32 %418 to i8
  %420 = bitcast %class.variant.43* %50 to i8*
  store i8 %419, i8* %420, align 8, !tbaa !566
  store i32 0, i32* %51, align 8, !tbaa !535
  %421 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 0
  %422 = load i32, i32* %421, align 4, !tbaa !547
  %423 = icmp eq i32 %422, 1
  br i1 %423, label %426, label %424

; <label>:424:                                    ; preds = %387
  %425 = add i32 %422, -1
  store i32 %425, i32* %421, align 4, !tbaa !547
  br label %652

; <label>:426:                                    ; preds = %387
  %427 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, null
  br i1 %427, label %652, label %428

; <label>:428:                                    ; preds = %426
  br i1 %398, label %429, label %454

; <label>:429:                                    ; preds = %428
  %430 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %431 = load i8*, i8** %430, align 4, !tbaa !12
  %432 = add i32 %397, 1
  %433 = icmp ugt i32 %432, 4095
  br i1 %433, label %434, label %451

; <label>:434:                                    ; preds = %429
  %435 = add i32 %397, 36
  %436 = icmp ugt i32 %432, -36
  br i1 %436, label %450, label %437

; <label>:437:                                    ; preds = %434
  %438 = ptrtoint i8* %431 to i32
  %439 = and i32 %438, 31
  %440 = icmp eq i32 %439, 0
  br i1 %440, label %441, label %450

; <label>:441:                                    ; preds = %437
  %442 = add i32 %438, -4
  %443 = inttoptr i32 %442 to i32*
  %444 = load i32, i32* %443, align 4, !tbaa !24
  %445 = icmp ult i32 %444, %438
  br i1 %445, label %446, label %450

; <label>:446:                                    ; preds = %441
  %447 = sub i32 %442, %444
  %448 = icmp ugt i32 %447, 31
  %449 = inttoptr i32 %444 to i8*
  br i1 %448, label %450, label %451

; <label>:450:                                    ; preds = %446, %441, %437, %434
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:451:                                    ; preds = %446, %429
  %452 = phi i8* [ %449, %446 ], [ %431, %429 ]
  %453 = phi i32 [ %435, %446 ], [ %432, %429 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %452, i32 %453) #14
  br label %454

; <label>:454:                                    ; preds = %451, %428
  %455 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %389 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %455) #21
  %456 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %457 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %652

; <label>:458:                                    ; preds = %351
  %459 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %460 = icmp eq i32 %459, 0
  br i1 %460, label %461, label %658

; <label>:461:                                    ; preds = %458
  %462 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %462) #14
  %463 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %464 = icmp ult i32 %463, 17
  br i1 %464, label %468, label %465

; <label>:465:                                    ; preds = %461
  %466 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %466, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %467 = getelementptr inbounds i8, i8* %466, i32 17
  store i8 0, i8* %467, align 1, !tbaa !12
  br label %470

; <label>:468:                                    ; preds = %461
  %469 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %470

; <label>:470:                                    ; preds = %468, %465
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %462) #14
  br label %658

; <label>:471:                                    ; preds = %46
  %472 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %48, i32 1
  %473 = load i32, i32* %472, align 8, !tbaa !535
  switch i32 %473, label %575 [
    i32 13, label %474
    i32 14, label %507
  ]

; <label>:474:                                    ; preds = %471
  %475 = bitcast %class.variant.43* %49 to %"struct.std::pair.23"**
  %476 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %475, align 4, !tbaa !542
  %477 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %478 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %477, align 4, !tbaa !549
  %479 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1
  %480 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %481 = load i32, i32* %480, align 4, !tbaa !83
  %482 = bitcast %"struct.std::pair.23"* %476 to i8*
  %483 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %484 = load i32, i32* %483, align 4, !tbaa !81
  %485 = icmp ugt i32 %484, 15
  %486 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %476, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %487 = load i8*, i8** %486, align 4
  %488 = select i1 %485, i8* %487, i8* %482
  %489 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %490 = load i32, i32* %489, align 4, !tbaa !83
  %491 = bitcast %"class.std::basic_string"* %479 to i8*
  %492 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %478, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %493 = load i32, i32* %492, align 4, !tbaa !81
  %494 = icmp ugt i32 %493, 15
  %495 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %479, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %496 = load i8*, i8** %495, align 4
  %497 = select i1 %494, i8* %496, i8* %491
  %498 = icmp ult i32 %481, %490
  %499 = select i1 %498, i32 %481, i32 %490
  %500 = tail call i32 @memcmp(i8* %497, i8* %488, i32 %499) #14
  %501 = icmp eq i32 %500, 0
  %502 = icmp ult i32 %490, %481
  %503 = select i1 %502, i32 -2147483648, i32 0
  %504 = select i1 %501, i32 %503, i32 %500
  %505 = lshr i32 %504, 31
  %506 = trunc i32 %505 to i8
  br label %588

; <label>:507:                                    ; preds = %471
  %508 = bitcast %class.variant.43* %49 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %509 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %508, align 4, !tbaa !549
  %510 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1
  %511 = bitcast %class.variant.43* %50 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %512 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %511, align 4, !tbaa !549
  %513 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1
  %514 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %515 = load i32, i32* %514, align 4, !tbaa !83
  %516 = bitcast %"class.std::basic_string"* %510 to i8*
  %517 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %518 = load i32, i32* %517, align 4, !tbaa !81
  %519 = icmp ugt i32 %518, 15
  %520 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %510, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %521 = load i8*, i8** %520, align 4
  %522 = select i1 %519, i8* %521, i8* %516
  %523 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %524 = load i32, i32* %523, align 4, !tbaa !83
  %525 = bitcast %"class.std::basic_string"* %513 to i8*
  %526 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %512, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %527 = load i32, i32* %526, align 4, !tbaa !81
  %528 = icmp ugt i32 %527, 15
  %529 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %513, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %530 = load i8*, i8** %529, align 4
  %531 = select i1 %528, i8* %530, i8* %525
  %532 = icmp ult i32 %515, %524
  %533 = select i1 %532, i32 %515, i32 %524
  %534 = tail call i32 @memcmp(i8* %531, i8* %522, i32 %533) #14
  %535 = icmp eq i32 %534, 0
  %536 = icmp ult i32 %524, %515
  %537 = select i1 %536, i32 -2147483648, i32 0
  %538 = select i1 %535, i32 %537, i32 %534
  %539 = lshr i32 %538, 31
  %540 = trunc i32 %539 to i8
  %541 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, i32 0, i32 0
  %542 = load i32, i32* %541, align 4, !tbaa !547
  %543 = icmp eq i32 %542, 1
  br i1 %543, label %546, label %544

; <label>:544:                                    ; preds = %507
  %545 = add i32 %542, -1
  store i32 %545, i32* %541, align 4, !tbaa !547
  br label %588

; <label>:546:                                    ; preds = %507
  %547 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509, null
  br i1 %547, label %588, label %548

; <label>:548:                                    ; preds = %546
  br i1 %519, label %549, label %572

; <label>:549:                                    ; preds = %548
  %550 = add i32 %518, 1
  %551 = icmp ugt i32 %550, 4095
  br i1 %551, label %552, label %569

; <label>:552:                                    ; preds = %549
  %553 = add i32 %518, 36
  %554 = icmp ugt i32 %550, -36
  br i1 %554, label %568, label %555

; <label>:555:                                    ; preds = %552
  %556 = ptrtoint i8* %521 to i32
  %557 = and i32 %556, 31
  %558 = icmp eq i32 %557, 0
  br i1 %558, label %559, label %568

; <label>:559:                                    ; preds = %555
  %560 = add i32 %556, -4
  %561 = inttoptr i32 %560 to i32*
  %562 = load i32, i32* %561, align 4, !tbaa !24
  %563 = icmp ult i32 %562, %556
  br i1 %563, label %564, label %568

; <label>:564:                                    ; preds = %559
  %565 = sub i32 %560, %562
  %566 = icmp ugt i32 %565, 31
  %567 = inttoptr i32 %562 to i8*
  br i1 %566, label %568, label %569

; <label>:568:                                    ; preds = %564, %559, %555, %552
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:569:                                    ; preds = %564, %549
  %570 = phi i8* [ %567, %564 ], [ %521, %549 ]
  %571 = phi i32 [ %553, %564 ], [ %550, %549 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %570, i32 %571) #14
  br label %572

; <label>:572:                                    ; preds = %569, %548
  %573 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %509 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %573) #21
  %574 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %511, align 4, !tbaa !549
  br label %588

; <label>:575:                                    ; preds = %471
  %576 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %577 = icmp eq i32 %576, 0
  br i1 %577, label %578, label %658

; <label>:578:                                    ; preds = %575
  %579 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %579) #14
  %580 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %581 = icmp ult i32 %580, 17
  br i1 %581, label %585, label %582

; <label>:582:                                    ; preds = %578
  %583 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %583, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %584 = getelementptr inbounds i8, i8* %583, i32 17
  store i8 0, i8* %584, align 1, !tbaa !12
  br label %587

; <label>:585:                                    ; preds = %578
  %586 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %587

; <label>:587:                                    ; preds = %585, %582
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %579) #14
  br label %658

; <label>:588:                                    ; preds = %572, %546, %544, %474
  %589 = phi %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* [ %478, %474 ], [ %512, %544 ], [ %512, %546 ], [ %574, %572 ]
  %590 = phi i8 [ %506, %474 ], [ %540, %544 ], [ %540, %546 ], [ %540, %572 ]
  %591 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 0
  %592 = load i32, i32* %591, align 4, !tbaa !547
  %593 = icmp eq i32 %592, 1
  br i1 %593, label %596, label %594

; <label>:594:                                    ; preds = %588
  %595 = add i32 %592, -1
  store i32 %595, i32* %591, align 4, !tbaa !547
  br label %629

; <label>:596:                                    ; preds = %588
  %597 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, null
  br i1 %597, label %629, label %598

; <label>:598:                                    ; preds = %596
  %599 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %600 = load i32, i32* %599, align 4, !tbaa !81
  %601 = icmp ugt i32 %600, 15
  br i1 %601, label %602, label %627

; <label>:602:                                    ; preds = %598
  %603 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %604 = load i8*, i8** %603, align 4, !tbaa !12
  %605 = add i32 %600, 1
  %606 = icmp ugt i32 %605, 4095
  br i1 %606, label %607, label %624

; <label>:607:                                    ; preds = %602
  %608 = add i32 %600, 36
  %609 = icmp ugt i32 %605, -36
  br i1 %609, label %623, label %610

; <label>:610:                                    ; preds = %607
  %611 = ptrtoint i8* %604 to i32
  %612 = and i32 %611, 31
  %613 = icmp eq i32 %612, 0
  br i1 %613, label %614, label %623

; <label>:614:                                    ; preds = %610
  %615 = add i32 %611, -4
  %616 = inttoptr i32 %615 to i32*
  %617 = load i32, i32* %616, align 4, !tbaa !24
  %618 = icmp ult i32 %617, %611
  br i1 %618, label %619, label %623

; <label>:619:                                    ; preds = %614
  %620 = sub i32 %615, %617
  %621 = icmp ugt i32 %620, 31
  %622 = inttoptr i32 %617 to i8*
  br i1 %621, label %623, label %624

; <label>:623:                                    ; preds = %619, %614, %610, %607
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:624:                                    ; preds = %619, %602
  %625 = phi i8* [ %622, %619 ], [ %604, %602 ]
  %626 = phi i32 [ %608, %619 ], [ %605, %602 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %625, i32 %626) #14
  br label %627

; <label>:627:                                    ; preds = %624, %598
  %628 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %589 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %628) #21
  br label %629

; <label>:629:                                    ; preds = %627, %596, %594
  %630 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %631 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %632 = sub i32 %630, %631
  %633 = ashr exact i32 %632, 4
  %634 = add nsw i32 %633, -2
  %635 = inttoptr i32 %631 to %class.variant.43*
  %636 = getelementptr inbounds %class.variant.43, %class.variant.43* %635, i32 %634
  %637 = bitcast %class.variant.43* %636 to i8*
  store i8 %590, i8* %637, align 8, !tbaa !566
  %638 = getelementptr inbounds %class.variant.43, %class.variant.43* %635, i32 %634, i32 1
  store i32 0, i32* %638, align 8, !tbaa !535
  br label %652

; <label>:639:                                    ; preds = %46
  %640 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %641 = icmp eq i32 %640, 0
  br i1 %641, label %642, label %658

; <label>:642:                                    ; preds = %639
  %643 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %643) #14
  %644 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %645 = icmp ult i32 %644, 17
  br i1 %645, label %649, label %646

; <label>:646:                                    ; preds = %642
  %647 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %647, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %648 = getelementptr inbounds i8, i8* %647, i32 17
  store i8 0, i8* %648, align 1, !tbaa !12
  br label %651

; <label>:649:                                    ; preds = %642
  %650 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %651

; <label>:651:                                    ; preds = %649, %646
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %643) #14
  br label %658

; <label>:652:                                    ; preds = %629, %454, %426, %424, %354, %343, %318, %293, %268, %243, %218, %194, %169, %144, %119, %94, %70
  %653 = phi i32 [ %457, %454 ], [ %18, %426 ], [ %18, %424 ], [ %18, %354 ], [ %631, %629 ], [ %18, %343 ], [ %18, %318 ], [ %18, %293 ], [ %18, %268 ], [ %18, %243 ], [ %18, %218 ], [ %18, %194 ], [ %18, %169 ], [ %18, %144 ], [ %18, %119 ], [ %18, %94 ], [ %18, %70 ]
  %654 = phi i32 [ %456, %454 ], [ %17, %426 ], [ %17, %424 ], [ %17, %354 ], [ %630, %629 ], [ %17, %343 ], [ %17, %318 ], [ %17, %293 ], [ %17, %268 ], [ %17, %243 ], [ %17, %218 ], [ %17, %194 ], [ %17, %169 ], [ %17, %144 ], [ %17, %119 ], [ %17, %94 ], [ %17, %70 ]
  %655 = sub i32 %654, %653
  %656 = ashr exact i32 %655, 4
  %657 = add nsw i32 %656, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %657, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %658

; <label>:658:                                    ; preds = %652, %651, %639, %587, %575, %470, %458, %342, %330, %317, %305, %292, %280, %267, %255, %242, %230, %217, %205, %193, %181, %168, %156, %143, %131, %118, %106, %93, %81, %69, %57, %43, %29
  %659 = phi i1 [ false, %43 ], [ false, %29 ], [ true, %652 ], [ false, %69 ], [ false, %57 ], [ false, %93 ], [ false, %81 ], [ false, %118 ], [ false, %106 ], [ false, %143 ], [ false, %131 ], [ false, %168 ], [ false, %156 ], [ false, %193 ], [ false, %181 ], [ false, %217 ], [ false, %205 ], [ false, %242 ], [ false, %230 ], [ false, %267 ], [ false, %255 ], [ false, %292 ], [ false, %280 ], [ false, %317 ], [ false, %305 ], [ false, %342 ], [ false, %330 ], [ false, %470 ], [ false, %458 ], [ false, %587 ], [ false, %575 ], [ false, %651 ], [ false, %639 ]
  ret i1 %659
}

; Function Attrs: nounwind
define zeroext i1 @builtinLF() #2 {
  %1 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %2 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %3 = sub i32 %1, %2
  %4 = ashr exact i32 %3, 4
  %5 = add nsw i32 %4, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %5, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  %10 = add nsw i32 %9, -1
  %11 = inttoptr i32 %7 to %class.variant.43*
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10
  %13 = bitcast %class.variant.43* %12 to i64*
  %14 = load i64, i64* bitcast (%struct.SourceText* @"\01?lfSourceText@@3USourceText@@A" to i64*), align 4
  store i64 %14, i64* %13, align 4
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10, i32 1
  store i32 13, i32* %15, align 8, !tbaa !535
  ret i1 true
}

; Function Attrs: nounwind
define zeroext i1 @builtinLn() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @log(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @log(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 17
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 17
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @log(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinLoop() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %12 = icmp eq i32 %10, %11
  %13 = inttoptr i32 %8 to %class.variant.43*
  br i1 %12, label %16, label %14

; <label>:14:                                     ; preds = %0
  %15 = add nsw i32 %10, -1
  br label %35

; <label>:16:                                     ; preds = %0
  %17 = icmp eq i32 %10, 0
  br i1 %17, label %18, label %33

; <label>:18:                                     ; preds = %16
  %19 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %20 = icmp eq i32 %19, 0
  br i1 %20, label %21, label %175

; <label>:21:                                     ; preds = %18
  %22 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %22) #14
  %23 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %24 = icmp ult i32 %23, 15
  br i1 %24, label %30, label %25

; <label>:25:                                     ; preds = %21
  %26 = icmp eq i32 %23, 15
  %27 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %28 = select i1 %26, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %27
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %29 = getelementptr inbounds i8, i8* %28, i32 15
  store i8 0, i8* %29, align 1, !tbaa !12
  br label %32

; <label>:30:                                     ; preds = %21
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %32

; <label>:32:                                     ; preds = %30, %25
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %22) #14
  br label %175

; <label>:33:                                     ; preds = %16
  %34 = add nsw i32 %10, -1
  store i32 %34, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %35

; <label>:35:                                     ; preds = %33, %14
  %36 = phi i32 [ %15, %14 ], [ %34, %33 ]
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %36
  %38 = bitcast %class.variant.43* %37 to i8*
  %39 = bitcast %class.variant.43* %37 to i32*
  %40 = load i32, i32* %39, align 8
  %41 = getelementptr inbounds i8, i8* %38, i32 4
  %42 = bitcast i8* %41 to i32*
  %43 = load i32, i32* %42, align 4
  %44 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %36, i32 1
  %45 = load i32, i32* %44, align 8
  switch i32 %45, label %162 [
    i32 15, label %46
    i32 16, label %104
  ]

; <label>:46:                                     ; preds = %35
  %47 = inttoptr i32 %40 to %"class.std::vector.4"*
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %36, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %48 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %47, i32 %43) #14
  br i1 %48, label %49, label %175

; <label>:49:                                     ; preds = %46
  br label %52

; <label>:50:                                     ; preds = %99
  %51 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %47, i32 %43) #14
  br i1 %51, label %52, label %175

; <label>:52:                                     ; preds = %50, %49
  %53 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %54 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %55 = sub i32 %53, %54
  %56 = ashr exact i32 %55, 4
  %57 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %58 = icmp eq i32 %56, %57
  %59 = inttoptr i32 %54 to %class.variant.43*
  br i1 %58, label %62, label %60

; <label>:60:                                     ; preds = %52
  %61 = add nsw i32 %56, -1
  br label %81

; <label>:62:                                     ; preds = %52
  %63 = icmp eq i32 %56, 0
  br i1 %63, label %64, label %79

; <label>:64:                                     ; preds = %62
  %65 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %66 = icmp eq i32 %65, 0
  br i1 %66, label %67, label %175

; <label>:67:                                     ; preds = %64
  %68 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %68) #14
  %69 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %70 = icmp ult i32 %69, 15
  br i1 %70, label %76, label %71

; <label>:71:                                     ; preds = %67
  %72 = icmp eq i32 %69, 15
  %73 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %74 = select i1 %72, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %73
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %74, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %75 = getelementptr inbounds i8, i8* %74, i32 15
  store i8 0, i8* %75, align 1, !tbaa !12
  br label %78

; <label>:76:                                     ; preds = %67
  %77 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %78

; <label>:78:                                     ; preds = %76, %71
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %68) #14
  br label %175

; <label>:79:                                     ; preds = %62
  %80 = add nsw i32 %56, -1
  store i32 %80, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %81

; <label>:81:                                     ; preds = %79, %60
  %82 = phi i32 [ %61, %60 ], [ %80, %79 ]
  %83 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %82, i32 1
  %84 = load i32, i32* %83, align 8, !tbaa !535
  %85 = icmp eq i32 %84, 0
  br i1 %85, label %99, label %86

; <label>:86:                                     ; preds = %81
  %87 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %88 = icmp eq i32 %87, 0
  br i1 %88, label %89, label %175

; <label>:89:                                     ; preds = %86
  %90 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %90) #14
  %91 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %92 = icmp ult i32 %91, 25
  br i1 %92, label %96, label %93

; <label>:93:                                     ; preds = %89
  %94 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 25, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %94, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@", i32 0, i32 0), i32 25, i32 1, i1 false) #14
  %95 = getelementptr inbounds i8, i8* %94, i32 25
  store i8 0, i8* %95, align 1, !tbaa !12
  br label %98

; <label>:96:                                     ; preds = %89
  %97 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 25, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@", i32 0, i32 0)) #14
  br label %98

; <label>:98:                                     ; preds = %96, %93
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %90) #14
  br label %175

; <label>:99:                                     ; preds = %81
  %100 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %82
  %101 = bitcast %class.variant.43* %100 to i8*
  %102 = load i8, i8* %101, align 1, !tbaa !566, !range !382
  %103 = icmp eq i8 %102, 0
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %82, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br i1 %103, label %175, label %50

; <label>:104:                                    ; preds = %35
  %105 = inttoptr i32 %40 to i1 ()*
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %36, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?addNode@@YAXXZ"() #14
  %106 = tail call zeroext i1 %105() #14
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br i1 %106, label %107, label %175

; <label>:107:                                    ; preds = %104
  br label %110

; <label>:108:                                    ; preds = %157
  tail call void @"\01?addNode@@YAXXZ"() #14
  %109 = tail call zeroext i1 %105() #14
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br i1 %109, label %110, label %175

; <label>:110:                                    ; preds = %108, %107
  %111 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %112 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %113 = sub i32 %111, %112
  %114 = ashr exact i32 %113, 4
  %115 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %116 = icmp eq i32 %114, %115
  %117 = inttoptr i32 %112 to %class.variant.43*
  br i1 %116, label %120, label %118

; <label>:118:                                    ; preds = %110
  %119 = add nsw i32 %114, -1
  br label %139

; <label>:120:                                    ; preds = %110
  %121 = icmp eq i32 %114, 0
  br i1 %121, label %122, label %137

; <label>:122:                                    ; preds = %120
  %123 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %124 = icmp eq i32 %123, 0
  br i1 %124, label %125, label %175

; <label>:125:                                    ; preds = %122
  %126 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %126) #14
  %127 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %128 = icmp ult i32 %127, 15
  br i1 %128, label %134, label %129

; <label>:129:                                    ; preds = %125
  %130 = icmp eq i32 %127, 15
  %131 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %132 = select i1 %130, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %131
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %132, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %133 = getelementptr inbounds i8, i8* %132, i32 15
  store i8 0, i8* %133, align 1, !tbaa !12
  br label %136

; <label>:134:                                    ; preds = %125
  %135 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %136

; <label>:136:                                    ; preds = %134, %129
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %126) #14
  br label %175

; <label>:137:                                    ; preds = %120
  %138 = add nsw i32 %114, -1
  store i32 %138, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %139

; <label>:139:                                    ; preds = %137, %118
  %140 = phi i32 [ %119, %118 ], [ %138, %137 ]
  %141 = getelementptr inbounds %class.variant.43, %class.variant.43* %117, i32 %140, i32 1
  %142 = load i32, i32* %141, align 8, !tbaa !535
  %143 = icmp eq i32 %142, 0
  br i1 %143, label %157, label %144

; <label>:144:                                    ; preds = %139
  %145 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %146 = icmp eq i32 %145, 0
  br i1 %146, label %147, label %175

; <label>:147:                                    ; preds = %144
  %148 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %148) #14
  %149 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %150 = icmp ult i32 %149, 25
  br i1 %150, label %154, label %151

; <label>:151:                                    ; preds = %147
  %152 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 25, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %152, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@", i32 0, i32 0), i32 25, i32 1, i1 false) #14
  %153 = getelementptr inbounds i8, i8* %152, i32 25
  store i8 0, i8* %153, align 1, !tbaa !12
  br label %156

; <label>:154:                                    ; preds = %147
  %155 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 25, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @"\01??_C@_0BK@PCMEMJOH@invalid?5body?5return?5value?$AA@", i32 0, i32 0)) #14
  br label %156

; <label>:156:                                    ; preds = %154, %151
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %148) #14
  br label %175

; <label>:157:                                    ; preds = %139
  %158 = getelementptr inbounds %class.variant.43, %class.variant.43* %117, i32 %140
  %159 = bitcast %class.variant.43* %158 to i8*
  %160 = load i8, i8* %159, align 1, !tbaa !566, !range !382
  %161 = icmp eq i8 %160, 0
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %140, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br i1 %161, label %175, label %108

; <label>:162:                                    ; preds = %35
  %163 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %164 = icmp eq i32 %163, 0
  br i1 %164, label %165, label %175

; <label>:165:                                    ; preds = %162
  %166 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %166) #14
  %167 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %168 = icmp ult i32 %167, 16
  br i1 %168, label %172, label %169

; <label>:169:                                    ; preds = %165
  %170 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %170, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %171 = getelementptr inbounds i8, i8* %170, i32 16
  store i8 0, i8* %171, align 1, !tbaa !12
  br label %174

; <label>:172:                                    ; preds = %165
  %173 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %174

; <label>:174:                                    ; preds = %172, %169
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %166) #14
  br label %175

; <label>:175:                                    ; preds = %174, %162, %157, %156, %144, %136, %122, %108, %104, %99, %98, %86, %78, %64, %50, %46, %32, %18
  %176 = phi i1 [ false, %32 ], [ false, %18 ], [ false, %174 ], [ false, %162 ], [ false, %78 ], [ false, %64 ], [ false, %98 ], [ false, %86 ], [ false, %136 ], [ false, %122 ], [ false, %156 ], [ false, %144 ], [ false, %46 ], [ false, %104 ], [ true, %99 ], [ false, %50 ], [ true, %157 ], [ false, %108 ]
  ret i1 %176
}

; Function Attrs: nounwind
define zeroext i1 @builtinLshift() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %15 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %16 = sub i32 %14, %15
  %17 = ashr exact i32 %16, 4
  %18 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %19 = sub i32 %17, %18
  %20 = icmp ult i32 %19, 2
  %21 = inttoptr i32 %15 to %class.variant.43*
  br i1 %20, label %24, label %22

; <label>:22:                                     ; preds = %0
  %23 = add nsw i32 %17, -2
  br label %43

; <label>:24:                                     ; preds = %0
  %25 = icmp ult i32 %17, 2
  br i1 %25, label %26, label %41

; <label>:26:                                     ; preds = %24
  %27 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %340

; <label>:29:                                     ; preds = %26
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14
  %31 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %32 = icmp ult i32 %31, 15
  br i1 %32, label %38, label %33

; <label>:33:                                     ; preds = %29
  %34 = icmp eq i32 %31, 15
  %35 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %36 = select i1 %34, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %35
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %37 = getelementptr inbounds i8, i8* %36, i32 15
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %40

; <label>:38:                                     ; preds = %29
  %39 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %40

; <label>:40:                                     ; preds = %38, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14
  br label %340

; <label>:41:                                     ; preds = %24
  %42 = add nsw i32 %17, -2
  store i32 %42, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %43

; <label>:43:                                     ; preds = %41, %22
  %44 = phi i32 [ %23, %22 ], [ %42, %41 ]
  %45 = add nsw i32 %17, -1
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  switch i32 %49, label %252 [
    i32 1, label %50
    i32 2, label %71
    i32 3, label %92
    i32 4, label %111
    i32 5, label %132
    i32 6, label %151
    i32 7, label %172
    i32 8, label %193
    i32 9, label %212
    i32 10, label %233
  ]

; <label>:50:                                     ; preds = %43
  %51 = bitcast %class.variant.43* %46 to i8*
  %52 = load i8, i8* %51, align 1, !tbaa !12
  %53 = icmp ugt i8 %52, 63
  br i1 %53, label %54, label %69

; <label>:54:                                     ; preds = %50
  %55 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %56 = icmp eq i32 %55, 0
  br i1 %56, label %57, label %340

; <label>:57:                                     ; preds = %54
  %58 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %58) #14
  %59 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %60 = icmp ult i32 %59, 13
  br i1 %60, label %66, label %61

; <label>:61:                                     ; preds = %57
  %62 = icmp ugt i32 %59, 15
  %63 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %64 = select i1 %62, i8* %63, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %64, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %65 = getelementptr inbounds i8, i8* %64, i32 13
  store i8 0, i8* %65, align 1, !tbaa !12
  br label %68

; <label>:66:                                     ; preds = %57
  %67 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %68

; <label>:68:                                     ; preds = %66, %61
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %58) #14
  br label %340

; <label>:69:                                     ; preds = %50
  %70 = zext i8 %52 to i32
  br label %267

; <label>:71:                                     ; preds = %43
  %72 = bitcast %class.variant.43* %46 to i16*
  %73 = load i16, i16* %72, align 2, !tbaa !59
  %74 = icmp ugt i16 %73, 63
  br i1 %74, label %75, label %90

; <label>:75:                                     ; preds = %71
  %76 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %77 = icmp eq i32 %76, 0
  br i1 %77, label %78, label %340

; <label>:78:                                     ; preds = %75
  %79 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %79) #14
  %80 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %81 = icmp ult i32 %80, 13
  br i1 %81, label %87, label %82

; <label>:82:                                     ; preds = %78
  %83 = icmp ugt i32 %80, 15
  %84 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %85 = select i1 %83, i8* %84, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %85, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %86 = getelementptr inbounds i8, i8* %85, i32 13
  store i8 0, i8* %86, align 1, !tbaa !12
  br label %89

; <label>:87:                                     ; preds = %78
  %88 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %89

; <label>:89:                                     ; preds = %87, %82
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %79) #14
  br label %340

; <label>:90:                                     ; preds = %71
  %91 = zext i16 %73 to i32
  br label %267

; <label>:92:                                     ; preds = %43
  %93 = bitcast %class.variant.43* %46 to i32*
  %94 = load i32, i32* %93, align 4, !tbaa !24
  %95 = icmp ugt i32 %94, 63
  br i1 %95, label %96, label %267

; <label>:96:                                     ; preds = %92
  %97 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %98 = icmp eq i32 %97, 0
  br i1 %98, label %99, label %340

; <label>:99:                                     ; preds = %96
  %100 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %100) #14
  %101 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %102 = icmp ult i32 %101, 13
  br i1 %102, label %108, label %103

; <label>:103:                                    ; preds = %99
  %104 = icmp ugt i32 %101, 15
  %105 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %106 = select i1 %104, i8* %105, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %106, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %107 = getelementptr inbounds i8, i8* %106, i32 13
  store i8 0, i8* %107, align 1, !tbaa !12
  br label %110

; <label>:108:                                    ; preds = %99
  %109 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %110

; <label>:110:                                    ; preds = %108, %103
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %100) #14
  br label %340

; <label>:111:                                    ; preds = %43
  %112 = bitcast %class.variant.43* %46 to i64*
  %113 = load i64, i64* %112, align 8, !tbaa !61
  %114 = icmp ugt i64 %113, 63
  br i1 %114, label %115, label %130

; <label>:115:                                    ; preds = %111
  %116 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %117 = icmp eq i32 %116, 0
  br i1 %117, label %118, label %340

; <label>:118:                                    ; preds = %115
  %119 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %119) #14
  %120 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %121 = icmp ult i32 %120, 13
  br i1 %121, label %127, label %122

; <label>:122:                                    ; preds = %118
  %123 = icmp ugt i32 %120, 15
  %124 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %125 = select i1 %123, i8* %124, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %126 = getelementptr inbounds i8, i8* %125, i32 13
  store i8 0, i8* %126, align 1, !tbaa !12
  br label %129

; <label>:127:                                    ; preds = %118
  %128 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %129

; <label>:129:                                    ; preds = %127, %122
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %119) #14
  br label %340

; <label>:130:                                    ; preds = %111
  %131 = trunc i64 %113 to i32
  br label %267

; <label>:132:                                    ; preds = %43
  %133 = bitcast %class.variant.43* %46 to i32*
  %134 = load i32, i32* %133, align 4, !tbaa !538
  %135 = icmp ugt i32 %134, 63
  br i1 %135, label %136, label %267

; <label>:136:                                    ; preds = %132
  %137 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %138 = icmp eq i32 %137, 0
  br i1 %138, label %139, label %340

; <label>:139:                                    ; preds = %136
  %140 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %140) #14
  %141 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %142 = icmp ult i32 %141, 13
  br i1 %142, label %148, label %143

; <label>:143:                                    ; preds = %139
  %144 = icmp ugt i32 %141, 15
  %145 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %146 = select i1 %144, i8* %145, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %146, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %147 = getelementptr inbounds i8, i8* %146, i32 13
  store i8 0, i8* %147, align 1, !tbaa !12
  br label %150

; <label>:148:                                    ; preds = %139
  %149 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %150

; <label>:150:                                    ; preds = %148, %143
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %140) #14
  br label %340

; <label>:151:                                    ; preds = %43
  %152 = bitcast %class.variant.43* %46 to i8*
  %153 = load i8, i8* %152, align 1, !tbaa !12
  %154 = icmp ugt i8 %153, 63
  br i1 %154, label %155, label %170

; <label>:155:                                    ; preds = %151
  %156 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %340

; <label>:158:                                    ; preds = %155
  %159 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %159) #14
  %160 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %161 = icmp ult i32 %160, 13
  br i1 %161, label %167, label %162

; <label>:162:                                    ; preds = %158
  %163 = icmp ugt i32 %160, 15
  %164 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %165 = select i1 %163, i8* %164, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %165, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %166 = getelementptr inbounds i8, i8* %165, i32 13
  store i8 0, i8* %166, align 1, !tbaa !12
  br label %169

; <label>:167:                                    ; preds = %158
  %168 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %169

; <label>:169:                                    ; preds = %167, %162
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %159) #14
  br label %340

; <label>:170:                                    ; preds = %151
  %171 = zext i8 %153 to i32
  br label %267

; <label>:172:                                    ; preds = %43
  %173 = bitcast %class.variant.43* %46 to i16*
  %174 = load i16, i16* %173, align 2, !tbaa !59
  %175 = icmp ugt i16 %174, 63
  br i1 %175, label %176, label %191

; <label>:176:                                    ; preds = %172
  %177 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %340

; <label>:179:                                    ; preds = %176
  %180 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %180) #14
  %181 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %182 = icmp ult i32 %181, 13
  br i1 %182, label %188, label %183

; <label>:183:                                    ; preds = %179
  %184 = icmp ugt i32 %181, 15
  %185 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %186 = select i1 %184, i8* %185, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %186, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %187 = getelementptr inbounds i8, i8* %186, i32 13
  store i8 0, i8* %187, align 1, !tbaa !12
  br label %190

; <label>:188:                                    ; preds = %179
  %189 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %190

; <label>:190:                                    ; preds = %188, %183
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %180) #14
  br label %340

; <label>:191:                                    ; preds = %172
  %192 = zext i16 %174 to i32
  br label %267

; <label>:193:                                    ; preds = %43
  %194 = bitcast %class.variant.43* %46 to i32*
  %195 = load i32, i32* %194, align 4, !tbaa !24
  %196 = icmp ugt i32 %195, 63
  br i1 %196, label %197, label %267

; <label>:197:                                    ; preds = %193
  %198 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %199 = icmp eq i32 %198, 0
  br i1 %199, label %200, label %340

; <label>:200:                                    ; preds = %197
  %201 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %201) #14
  %202 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %203 = icmp ult i32 %202, 13
  br i1 %203, label %209, label %204

; <label>:204:                                    ; preds = %200
  %205 = icmp ugt i32 %202, 15
  %206 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %207 = select i1 %205, i8* %206, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %207, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %208 = getelementptr inbounds i8, i8* %207, i32 13
  store i8 0, i8* %208, align 1, !tbaa !12
  br label %211

; <label>:209:                                    ; preds = %200
  %210 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %211

; <label>:211:                                    ; preds = %209, %204
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %201) #14
  br label %340

; <label>:212:                                    ; preds = %43
  %213 = bitcast %class.variant.43* %46 to i64*
  %214 = load i64, i64* %213, align 8, !tbaa !61
  %215 = icmp ugt i64 %214, 63
  br i1 %215, label %216, label %231

; <label>:216:                                    ; preds = %212
  %217 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %218 = icmp eq i32 %217, 0
  br i1 %218, label %219, label %340

; <label>:219:                                    ; preds = %216
  %220 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %220) #14
  %221 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %222 = icmp ult i32 %221, 13
  br i1 %222, label %228, label %223

; <label>:223:                                    ; preds = %219
  %224 = icmp ugt i32 %221, 15
  %225 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %226 = select i1 %224, i8* %225, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %226, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %227 = getelementptr inbounds i8, i8* %226, i32 13
  store i8 0, i8* %227, align 1, !tbaa !12
  br label %230

; <label>:228:                                    ; preds = %219
  %229 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %230

; <label>:230:                                    ; preds = %228, %223
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %220) #14
  br label %340

; <label>:231:                                    ; preds = %212
  %232 = trunc i64 %214 to i32
  br label %267

; <label>:233:                                    ; preds = %43
  %234 = bitcast %class.variant.43* %46 to i32*
  %235 = load i32, i32* %234, align 4, !tbaa !540
  %236 = icmp ugt i32 %235, 63
  br i1 %236, label %237, label %267

; <label>:237:                                    ; preds = %233
  %238 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %239 = icmp eq i32 %238, 0
  br i1 %239, label %240, label %340

; <label>:240:                                    ; preds = %237
  %241 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %241) #14
  %242 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %243 = icmp ult i32 %242, 13
  br i1 %243, label %249, label %244

; <label>:244:                                    ; preds = %240
  %245 = icmp ugt i32 %242, 15
  %246 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %247 = select i1 %245, i8* %246, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %247, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %248 = getelementptr inbounds i8, i8* %247, i32 13
  store i8 0, i8* %248, align 1, !tbaa !12
  br label %251

; <label>:249:                                    ; preds = %240
  %250 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %251

; <label>:251:                                    ; preds = %249, %244
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %241) #14
  br label %340

; <label>:252:                                    ; preds = %43
  %253 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %340

; <label>:255:                                    ; preds = %252
  %256 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %256) #14
  %257 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %258 = icmp ult i32 %257, 13
  br i1 %258, label %264, label %259

; <label>:259:                                    ; preds = %255
  %260 = icmp ugt i32 %257, 15
  %261 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %262 = select i1 %260, i8* %261, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %262, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %263 = getelementptr inbounds i8, i8* %262, i32 13
  store i8 0, i8* %263, align 1, !tbaa !12
  br label %266

; <label>:264:                                    ; preds = %255
  %265 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %266

; <label>:266:                                    ; preds = %264, %259
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %256) #14
  br label %340

; <label>:267:                                    ; preds = %233, %231, %193, %191, %170, %132, %130, %92, %90, %69
  %268 = phi i32 [ %232, %231 ], [ %192, %191 ], [ %171, %170 ], [ %131, %130 ], [ %91, %90 ], [ %70, %69 ], [ %94, %92 ], [ %134, %132 ], [ %195, %193 ], [ %235, %233 ]
  %269 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44, i32 1
  %270 = load i32, i32* %269, align 8, !tbaa !535
  switch i32 %270, label %321 [
    i32 1, label %271
    i32 2, label %277
    i32 3, label %283
    i32 4, label %287
    i32 5, label %292
    i32 6, label %296
    i32 7, label %302
    i32 8, label %308
    i32 9, label %312
    i32 10, label %317
  ]

; <label>:271:                                    ; preds = %267
  %272 = bitcast %class.variant.43* %47 to i8*
  %273 = load i8, i8* %272, align 1, !tbaa !12
  %274 = sext i8 %273 to i32
  %275 = shl i32 %274, %268
  %276 = trunc i32 %275 to i8
  store i8 %276, i8* %272, align 1, !tbaa !12
  br label %334

; <label>:277:                                    ; preds = %267
  %278 = bitcast %class.variant.43* %47 to i16*
  %279 = load i16, i16* %278, align 2, !tbaa !59
  %280 = sext i16 %279 to i32
  %281 = shl i32 %280, %268
  %282 = trunc i32 %281 to i16
  store i16 %282, i16* %278, align 2, !tbaa !59
  br label %334

; <label>:283:                                    ; preds = %267
  %284 = bitcast %class.variant.43* %47 to i32*
  %285 = load i32, i32* %284, align 4, !tbaa !24
  %286 = shl i32 %285, %268
  store i32 %286, i32* %284, align 4, !tbaa !24
  br label %334

; <label>:287:                                    ; preds = %267
  %288 = bitcast %class.variant.43* %47 to i64*
  %289 = load i64, i64* %288, align 8, !tbaa !61
  %290 = zext i32 %268 to i64
  %291 = shl i64 %289, %290
  store i64 %291, i64* %288, align 8, !tbaa !61
  br label %334

; <label>:292:                                    ; preds = %267
  %293 = bitcast %class.variant.43* %47 to i32*
  %294 = load i32, i32* %293, align 4, !tbaa !538
  %295 = shl i32 %294, %268
  store i32 %295, i32* %293, align 4, !tbaa !538
  br label %334

; <label>:296:                                    ; preds = %267
  %297 = bitcast %class.variant.43* %47 to i8*
  %298 = load i8, i8* %297, align 1, !tbaa !12
  %299 = zext i8 %298 to i32
  %300 = shl i32 %299, %268
  %301 = trunc i32 %300 to i8
  store i8 %301, i8* %297, align 1, !tbaa !12
  br label %334

; <label>:302:                                    ; preds = %267
  %303 = bitcast %class.variant.43* %47 to i16*
  %304 = load i16, i16* %303, align 2, !tbaa !59
  %305 = zext i16 %304 to i32
  %306 = shl i32 %305, %268
  %307 = trunc i32 %306 to i16
  store i16 %307, i16* %303, align 2, !tbaa !59
  br label %334

; <label>:308:                                    ; preds = %267
  %309 = bitcast %class.variant.43* %47 to i32*
  %310 = load i32, i32* %309, align 4, !tbaa !24
  %311 = shl i32 %310, %268
  store i32 %311, i32* %309, align 4, !tbaa !24
  br label %334

; <label>:312:                                    ; preds = %267
  %313 = bitcast %class.variant.43* %47 to i64*
  %314 = load i64, i64* %313, align 8, !tbaa !61
  %315 = zext i32 %268 to i64
  %316 = shl i64 %314, %315
  store i64 %316, i64* %313, align 8, !tbaa !61
  br label %334

; <label>:317:                                    ; preds = %267
  %318 = bitcast %class.variant.43* %47 to i32*
  %319 = load i32, i32* %318, align 4, !tbaa !540
  %320 = shl i32 %319, %268
  store i32 %320, i32* %318, align 4, !tbaa !540
  br label %334

; <label>:321:                                    ; preds = %267
  %322 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %323 = icmp eq i32 %322, 0
  br i1 %323, label %324, label %340

; <label>:324:                                    ; preds = %321
  %325 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %325) #14
  %326 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %327 = icmp ult i32 %326, 16
  br i1 %327, label %331, label %328

; <label>:328:                                    ; preds = %324
  %329 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %329, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %330 = getelementptr inbounds i8, i8* %329, i32 16
  store i8 0, i8* %330, align 1, !tbaa !12
  br label %333

; <label>:331:                                    ; preds = %324
  %332 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %333

; <label>:333:                                    ; preds = %331, %328
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %325) #14
  br label %340

; <label>:334:                                    ; preds = %317, %312, %308, %302, %296, %292, %287, %283, %277, %271
  %335 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %336 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %337 = sub i32 %335, %336
  %338 = ashr exact i32 %337, 4
  %339 = add nsw i32 %338, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %339, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %340

; <label>:340:                                    ; preds = %334, %333, %321, %266, %252, %251, %237, %230, %216, %211, %197, %190, %176, %169, %155, %150, %136, %129, %115, %110, %96, %89, %75, %68, %54, %40, %26
  %341 = phi i1 [ false, %40 ], [ false, %26 ], [ true, %334 ], [ false, %110 ], [ false, %150 ], [ false, %211 ], [ false, %251 ], [ false, %266 ], [ false, %252 ], [ false, %333 ], [ false, %321 ], [ false, %96 ], [ false, %136 ], [ false, %197 ], [ false, %237 ], [ false, %68 ], [ false, %54 ], [ false, %89 ], [ false, %75 ], [ false, %129 ], [ false, %115 ], [ false, %169 ], [ false, %155 ], [ false, %190 ], [ false, %176 ], [ false, %230 ], [ false, %216 ]
  ret i1 %341
}

; Function Attrs: nounwind
define zeroext i1 @builtinMemoryToText() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %11 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %12 = sub i32 %10, %11
  %13 = ashr exact i32 %12, 4
  %14 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %15 = sub i32 %13, %14
  %16 = icmp ult i32 %15, 2
  %17 = inttoptr i32 %11 to %class.variant.43*
  br i1 %16, label %20, label %18

; <label>:18:                                     ; preds = %0
  %19 = add nsw i32 %13, -2
  br label %39

; <label>:20:                                     ; preds = %0
  %21 = icmp ult i32 %13, 2
  br i1 %21, label %22, label %37

; <label>:22:                                     ; preds = %20
  %23 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %25, label %220

; <label>:25:                                     ; preds = %22
  %26 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %26) #14
  %27 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %28 = icmp ult i32 %27, 15
  br i1 %28, label %34, label %29

; <label>:29:                                     ; preds = %25
  %30 = icmp eq i32 %27, 15
  %31 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %32 = select i1 %30, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %31
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %32, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %33 = getelementptr inbounds i8, i8* %32, i32 15
  store i8 0, i8* %33, align 1, !tbaa !12
  br label %36

; <label>:34:                                     ; preds = %25
  %35 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %36

; <label>:36:                                     ; preds = %34, %29
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %26) #14
  br label %220

; <label>:37:                                     ; preds = %20
  %38 = add nsw i32 %13, -2
  store i32 %38, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %39

; <label>:39:                                     ; preds = %37, %18
  %40 = phi i32 [ %19, %18 ], [ %38, %37 ]
  %41 = add nsw i32 %13, -1
  %42 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %41
  %43 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %40
  %44 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %40, i32 1
  %45 = load i32, i32* %44, align 8, !tbaa !535
  %46 = icmp eq i32 %45, 10
  br i1 %46, label %60, label %47

; <label>:47:                                     ; preds = %39
  %48 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %49 = icmp eq i32 %48, 0
  br i1 %49, label %50, label %220

; <label>:50:                                     ; preds = %47
  %51 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %51) #14
  %52 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %53 = icmp ult i32 %52, 16
  br i1 %53, label %57, label %54

; <label>:54:                                     ; preds = %50
  %55 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %55, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %56 = getelementptr inbounds i8, i8* %55, i32 16
  store i8 0, i8* %56, align 1, !tbaa !12
  br label %59

; <label>:57:                                     ; preds = %50
  %58 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %59

; <label>:59:                                     ; preds = %57, %54
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %51) #14
  br label %220

; <label>:60:                                     ; preds = %39
  %61 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %41, i32 1
  %62 = load i32, i32* %61, align 8, !tbaa !535
  switch i32 %62, label %182 [
    i32 1, label %63
    i32 2, label %84
    i32 3, label %105
    i32 4, label %124
    i32 5, label %145
    i32 6, label %164
    i32 7, label %168
    i32 8, label %172
    i32 9, label %175
    i32 10, label %179
  ]

; <label>:63:                                     ; preds = %60
  %64 = bitcast %class.variant.43* %42 to i8*
  %65 = load i8, i8* %64, align 1, !tbaa !12
  %66 = icmp slt i8 %65, 0
  br i1 %66, label %67, label %82

; <label>:67:                                     ; preds = %63
  %68 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %69 = icmp eq i32 %68, 0
  br i1 %69, label %70, label %220

; <label>:70:                                     ; preds = %67
  %71 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %71) #14
  %72 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %73 = icmp ult i32 %72, 12
  br i1 %73, label %79, label %74

; <label>:74:                                     ; preds = %70
  %75 = icmp ugt i32 %72, 15
  %76 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %77 = select i1 %75, i8* %76, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %77, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %78 = getelementptr inbounds i8, i8* %77, i32 12
  store i8 0, i8* %78, align 1, !tbaa !12
  br label %81

; <label>:79:                                     ; preds = %70
  %80 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %81

; <label>:81:                                     ; preds = %79, %74
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %71) #14
  br label %220

; <label>:82:                                     ; preds = %63
  %83 = zext i8 %65 to i32
  br label %195

; <label>:84:                                     ; preds = %60
  %85 = bitcast %class.variant.43* %42 to i16*
  %86 = load i16, i16* %85, align 2, !tbaa !59
  %87 = icmp slt i16 %86, 0
  br i1 %87, label %88, label %103

; <label>:88:                                     ; preds = %84
  %89 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %90 = icmp eq i32 %89, 0
  br i1 %90, label %91, label %220

; <label>:91:                                     ; preds = %88
  %92 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %92) #14
  %93 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %94 = icmp ult i32 %93, 12
  br i1 %94, label %100, label %95

; <label>:95:                                     ; preds = %91
  %96 = icmp ugt i32 %93, 15
  %97 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %98 = select i1 %96, i8* %97, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %98, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %99 = getelementptr inbounds i8, i8* %98, i32 12
  store i8 0, i8* %99, align 1, !tbaa !12
  br label %102

; <label>:100:                                    ; preds = %91
  %101 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %102

; <label>:102:                                    ; preds = %100, %95
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %92) #14
  br label %220

; <label>:103:                                    ; preds = %84
  %104 = zext i16 %86 to i32
  br label %195

; <label>:105:                                    ; preds = %60
  %106 = bitcast %class.variant.43* %42 to i32*
  %107 = load i32, i32* %106, align 4, !tbaa !24
  %108 = icmp slt i32 %107, 0
  br i1 %108, label %109, label %195

; <label>:109:                                    ; preds = %105
  %110 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %111 = icmp eq i32 %110, 0
  br i1 %111, label %112, label %220

; <label>:112:                                    ; preds = %109
  %113 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %113) #14
  %114 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %115 = icmp ult i32 %114, 12
  br i1 %115, label %121, label %116

; <label>:116:                                    ; preds = %112
  %117 = icmp ugt i32 %114, 15
  %118 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %119 = select i1 %117, i8* %118, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %119, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %120 = getelementptr inbounds i8, i8* %119, i32 12
  store i8 0, i8* %120, align 1, !tbaa !12
  br label %123

; <label>:121:                                    ; preds = %112
  %122 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %123

; <label>:123:                                    ; preds = %121, %116
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %113) #14
  br label %220

; <label>:124:                                    ; preds = %60
  %125 = bitcast %class.variant.43* %42 to i64*
  %126 = load i64, i64* %125, align 8, !tbaa !61
  %127 = icmp ugt i64 %126, 4294967295
  br i1 %127, label %128, label %143

; <label>:128:                                    ; preds = %124
  %129 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %130 = icmp eq i32 %129, 0
  br i1 %130, label %131, label %220

; <label>:131:                                    ; preds = %128
  %132 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %132) #14
  %133 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %134 = icmp ult i32 %133, 12
  br i1 %134, label %140, label %135

; <label>:135:                                    ; preds = %131
  %136 = icmp ugt i32 %133, 15
  %137 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %138 = select i1 %136, i8* %137, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %138, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %139 = getelementptr inbounds i8, i8* %138, i32 12
  store i8 0, i8* %139, align 1, !tbaa !12
  br label %142

; <label>:140:                                    ; preds = %131
  %141 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %142

; <label>:142:                                    ; preds = %140, %135
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %132) #14
  br label %220

; <label>:143:                                    ; preds = %124
  %144 = trunc i64 %126 to i32
  br label %195

; <label>:145:                                    ; preds = %60
  %146 = bitcast %class.variant.43* %42 to i32*
  %147 = load i32, i32* %146, align 4, !tbaa !538
  %148 = icmp slt i32 %147, 0
  br i1 %148, label %149, label %195

; <label>:149:                                    ; preds = %145
  %150 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %151 = icmp eq i32 %150, 0
  br i1 %151, label %152, label %220

; <label>:152:                                    ; preds = %149
  %153 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %153) #14
  %154 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %155 = icmp ult i32 %154, 12
  br i1 %155, label %161, label %156

; <label>:156:                                    ; preds = %152
  %157 = icmp ugt i32 %154, 15
  %158 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %159 = select i1 %157, i8* %158, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %159, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %160 = getelementptr inbounds i8, i8* %159, i32 12
  store i8 0, i8* %160, align 1, !tbaa !12
  br label %163

; <label>:161:                                    ; preds = %152
  %162 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CECKNFDB@invalid?5size?$AA@", i32 0, i32 0)) #14
  br label %163

; <label>:163:                                    ; preds = %161, %156
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %153) #14
  br label %220

; <label>:164:                                    ; preds = %60
  %165 = bitcast %class.variant.43* %42 to i8*
  %166 = load i8, i8* %165, align 1, !tbaa !12
  %167 = zext i8 %166 to i32
  br label %195

; <label>:168:                                    ; preds = %60
  %169 = bitcast %class.variant.43* %42 to i16*
  %170 = load i16, i16* %169, align 2, !tbaa !59
  %171 = zext i16 %170 to i32
  br label %195

; <label>:172:                                    ; preds = %60
  %173 = bitcast %class.variant.43* %42 to i32*
  %174 = load i32, i32* %173, align 4, !tbaa !24
  br label %195

; <label>:175:                                    ; preds = %60
  %176 = bitcast %class.variant.43* %42 to i64*
  %177 = load i64, i64* %176, align 8, !tbaa !61
  %178 = trunc i64 %177 to i32
  br label %195

; <label>:179:                                    ; preds = %60
  %180 = bitcast %class.variant.43* %42 to i32*
  %181 = load i32, i32* %180, align 4, !tbaa !540
  br label %195

; <label>:182:                                    ; preds = %60
  %183 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %184 = icmp eq i32 %183, 0
  br i1 %184, label %185, label %220

; <label>:185:                                    ; preds = %182
  %186 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %186) #14
  %187 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %188 = icmp ult i32 %187, 17
  br i1 %188, label %192, label %189

; <label>:189:                                    ; preds = %185
  %190 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %190, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %191 = getelementptr inbounds i8, i8* %190, i32 17
  store i8 0, i8* %191, align 1, !tbaa !12
  br label %194

; <label>:192:                                    ; preds = %185
  %193 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %194

; <label>:194:                                    ; preds = %192, %189
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %186) #14
  br label %220

; <label>:195:                                    ; preds = %179, %175, %172, %168, %164, %145, %143, %105, %103, %82
  %196 = phi i32 [ %181, %179 ], [ %178, %175 ], [ %174, %172 ], [ %171, %168 ], [ %167, %164 ], [ %144, %143 ], [ %104, %103 ], [ %83, %82 ], [ %107, %105 ], [ %147, %145 ]
  %197 = bitcast %class.variant.43* %43 to i8**
  %198 = load i8*, i8** %197, align 4, !tbaa !540
  %199 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %200 = bitcast i8* %199 to i32*
  store i32 1, i32* %200, align 4, !tbaa !547
  %201 = getelementptr inbounds i8, i8* %199, i32 4
  %202 = getelementptr inbounds i8, i8* %199, i32 20
  %203 = getelementptr inbounds i8, i8* %199, i32 24
  %204 = bitcast i8* %203 to i32*
  %205 = bitcast i8* %202 to i64*
  store i64 0, i64* %205, align 4
  store i32 15, i32* %204, align 4, !tbaa !81
  store i8 0, i8* %201, align 1, !tbaa !12
  %206 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %206) #14
  %207 = icmp ugt i32 %196, 15
  br i1 %207, label %211, label %208

; <label>:208:                                    ; preds = %195
  %209 = bitcast i8* %202 to i32*
  store i32 %196, i32* %209, align 4, !tbaa !83
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %201, i8* %198, i32 %196, i32 1, i1 false) #14
  %210 = getelementptr inbounds i8, i8* %201, i32 %196
  store i8 0, i8* %210, align 1, !tbaa !12
  br label %214

; <label>:211:                                    ; preds = %195
  %212 = bitcast i8* %201 to %"class.std::basic_string"*
  %213 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %212, i32 %196, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %198) #14
  br label %214

; <label>:214:                                    ; preds = %211, %208
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %206) #14
  store i8* %199, i8** %197, align 4, !tbaa !549
  store i32 14, i32* %44, align 8, !tbaa !535
  %215 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %216 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %217 = sub i32 %215, %216
  %218 = ashr exact i32 %217, 4
  %219 = add nsw i32 %218, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %219, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %220

; <label>:220:                                    ; preds = %214, %194, %182, %163, %149, %142, %128, %123, %109, %102, %88, %81, %67, %59, %47, %36, %22
  %221 = phi i1 [ false, %36 ], [ false, %22 ], [ false, %59 ], [ false, %47 ], [ true, %214 ], [ false, %67 ], [ false, %81 ], [ false, %88 ], [ false, %102 ], [ false, %109 ], [ false, %123 ], [ false, %128 ], [ false, %142 ], [ false, %149 ], [ false, %163 ], [ false, %194 ], [ false, %182 ]
  ret i1 %221
}

; Function Attrs: nounwind
define zeroext i1 @builtinMinus() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %148

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %148

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %148

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %148

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %129 [
    i32 1, label %57
    i32 2, label %63
    i32 3, label %69
    i32 4, label %75
    i32 5, label %81
    i32 6, label %87
    i32 7, label %93
    i32 8, label %99
    i32 9, label %105
    i32 10, label %111
    i32 11, label %117
    i32 12, label %123
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !12
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !12
  %62 = sub i8 %59, %61
  store i8 %62, i8* %58, align 1, !tbaa !12
  br label %142

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i16*
  %65 = load i16, i16* %64, align 2, !tbaa !59
  %66 = bitcast %class.variant.43* %36 to i16*
  %67 = load i16, i16* %66, align 2, !tbaa !59
  %68 = sub i16 %65, %67
  store i16 %68, i16* %64, align 2, !tbaa !59
  br label %142

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = bitcast %class.variant.43* %36 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = sub nsw i32 %71, %73
  store i32 %74, i32* %70, align 4, !tbaa !24
  br label %142

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i64*
  %77 = load i64, i64* %76, align 8, !tbaa !61
  %78 = bitcast %class.variant.43* %36 to i64*
  %79 = load i64, i64* %78, align 8, !tbaa !61
  %80 = sub nsw i64 %77, %79
  store i64 %80, i64* %76, align 8, !tbaa !61
  br label %142

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i32*
  %83 = load i32, i32* %82, align 4, !tbaa !538
  %84 = bitcast %class.variant.43* %36 to i32*
  %85 = load i32, i32* %84, align 4, !tbaa !538
  %86 = sub nsw i32 %83, %85
  store i32 %86, i32* %82, align 4, !tbaa !538
  br label %142

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i8*
  %89 = load i8, i8* %88, align 1, !tbaa !12
  %90 = bitcast %class.variant.43* %36 to i8*
  %91 = load i8, i8* %90, align 1, !tbaa !12
  %92 = sub i8 %89, %91
  store i8 %92, i8* %88, align 1, !tbaa !12
  br label %142

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i16*
  %95 = load i16, i16* %94, align 2, !tbaa !59
  %96 = bitcast %class.variant.43* %36 to i16*
  %97 = load i16, i16* %96, align 2, !tbaa !59
  %98 = sub i16 %95, %97
  store i16 %98, i16* %94, align 2, !tbaa !59
  br label %142

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i32*
  %101 = load i32, i32* %100, align 4, !tbaa !24
  %102 = bitcast %class.variant.43* %36 to i32*
  %103 = load i32, i32* %102, align 4, !tbaa !24
  %104 = sub i32 %101, %103
  store i32 %104, i32* %100, align 4, !tbaa !24
  br label %142

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to i64*
  %107 = load i64, i64* %106, align 8, !tbaa !61
  %108 = bitcast %class.variant.43* %36 to i64*
  %109 = load i64, i64* %108, align 8, !tbaa !61
  %110 = sub i64 %107, %109
  store i64 %110, i64* %106, align 8, !tbaa !61
  br label %142

; <label>:111:                                    ; preds = %56
  %112 = bitcast %class.variant.43* %37 to i32*
  %113 = load i32, i32* %112, align 4, !tbaa !540
  %114 = bitcast %class.variant.43* %36 to i32*
  %115 = load i32, i32* %114, align 4, !tbaa !540
  %116 = sub i32 %113, %115
  store i32 %116, i32* %112, align 4, !tbaa !540
  br label %142

; <label>:117:                                    ; preds = %56
  %118 = bitcast %class.variant.43* %37 to float*
  %119 = load float, float* %118, align 4, !tbaa !70
  %120 = bitcast %class.variant.43* %36 to float*
  %121 = load float, float* %120, align 4, !tbaa !70
  %122 = fsub float %119, %121
  store float %122, float* %118, align 4, !tbaa !70
  br label %142

; <label>:123:                                    ; preds = %56
  %124 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %125 = load double, double* %124, align 8, !tbaa !72
  %126 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %127 = load double, double* %126, align 8, !tbaa !72
  %128 = fsub double %125, %127
  store double %128, double* %124, align 8, !tbaa !72
  br label %142

; <label>:129:                                    ; preds = %56
  %130 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %131 = icmp eq i32 %130, 0
  br i1 %131, label %132, label %148

; <label>:132:                                    ; preds = %129
  %133 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %133) #14
  %134 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %135 = icmp ult i32 %134, 17
  br i1 %135, label %139, label %136

; <label>:136:                                    ; preds = %132
  %137 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %137, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %138 = getelementptr inbounds i8, i8* %137, i32 17
  store i8 0, i8* %138, align 1, !tbaa !12
  br label %141

; <label>:139:                                    ; preds = %132
  %140 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %141

; <label>:141:                                    ; preds = %139, %136
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %133) #14
  br label %148

; <label>:142:                                    ; preds = %123, %117, %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %143 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %144 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %145 = sub i32 %143, %144
  %146 = ashr exact i32 %145, 4
  %147 = add nsw i32 %146, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %147, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %148

; <label>:148:                                    ; preds = %142, %141, %129, %55, %43, %30, %16
  %149 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %142 ], [ false, %55 ], [ false, %43 ], [ false, %141 ], [ false, %129 ]
  ret i1 %149
}

; Function Attrs: nounwind
define zeroext i1 @builtinMod() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %15 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %16 = sub i32 %14, %15
  %17 = ashr exact i32 %16, 4
  %18 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %19 = sub i32 %17, %18
  %20 = icmp ult i32 %19, 2
  %21 = inttoptr i32 %15 to %class.variant.43*
  br i1 %20, label %24, label %22

; <label>:22:                                     ; preds = %0
  %23 = add nsw i32 %17, -2
  br label %43

; <label>:24:                                     ; preds = %0
  %25 = icmp ult i32 %17, 2
  br i1 %25, label %26, label %41

; <label>:26:                                     ; preds = %24
  %27 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %302

; <label>:29:                                     ; preds = %26
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14
  %31 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %32 = icmp ult i32 %31, 15
  br i1 %32, label %38, label %33

; <label>:33:                                     ; preds = %29
  %34 = icmp eq i32 %31, 15
  %35 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %36 = select i1 %34, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %35
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %37 = getelementptr inbounds i8, i8* %36, i32 15
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %40

; <label>:38:                                     ; preds = %29
  %39 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %40

; <label>:40:                                     ; preds = %38, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14
  br label %302

; <label>:41:                                     ; preds = %24
  %42 = add nsw i32 %17, -2
  store i32 %42, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %43

; <label>:43:                                     ; preds = %41, %22
  %44 = phi i32 [ %23, %22 ], [ %42, %41 ]
  %45 = add nsw i32 %17, -1
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44, i32 1
  %51 = load i32, i32* %50, align 8, !tbaa !535
  %52 = icmp eq i32 %49, %51
  br i1 %52, label %66, label %53

; <label>:53:                                     ; preds = %43
  %54 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %55 = icmp eq i32 %54, 0
  br i1 %55, label %56, label %302

; <label>:56:                                     ; preds = %53
  %57 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %57) #14
  %58 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %59 = icmp ult i32 %58, 17
  br i1 %59, label %63, label %60

; <label>:60:                                     ; preds = %56
  %61 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %61, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %62 = getelementptr inbounds i8, i8* %61, i32 17
  store i8 0, i8* %62, align 1, !tbaa !12
  br label %65

; <label>:63:                                     ; preds = %56
  %64 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %65

; <label>:65:                                     ; preds = %63, %60
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %57) #14
  br label %302

; <label>:66:                                     ; preds = %43
  switch i32 %49, label %283 [
    i32 1, label %67
    i32 2, label %91
    i32 3, label %115
    i32 4, label %136
    i32 5, label %157
    i32 6, label %178
    i32 7, label %199
    i32 8, label %220
    i32 9, label %241
    i32 10, label %262
  ]

; <label>:67:                                     ; preds = %66
  %68 = bitcast %class.variant.43* %46 to i8*
  %69 = load i8, i8* %68, align 1, !tbaa !12
  %70 = icmp eq i8 %69, 0
  br i1 %70, label %71, label %84

; <label>:71:                                     ; preds = %67
  %72 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %73 = icmp eq i32 %72, 0
  br i1 %73, label %74, label %302

; <label>:74:                                     ; preds = %71
  %75 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %75) #14
  %76 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %77 = icmp ult i32 %76, 16
  br i1 %77, label %81, label %78

; <label>:78:                                     ; preds = %74
  %79 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %79, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %80 = getelementptr inbounds i8, i8* %79, i32 16
  store i8 0, i8* %80, align 1, !tbaa !12
  br label %83

; <label>:81:                                     ; preds = %74
  %82 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %83

; <label>:83:                                     ; preds = %81, %78
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %75) #14
  br label %302

; <label>:84:                                     ; preds = %67
  %85 = sext i8 %69 to i32
  %86 = bitcast %class.variant.43* %47 to i8*
  %87 = load i8, i8* %86, align 1, !tbaa !12
  %88 = sext i8 %87 to i32
  %89 = srem i32 %88, %85
  %90 = trunc i32 %89 to i8
  store i8 %90, i8* %86, align 1, !tbaa !12
  br label %296

; <label>:91:                                     ; preds = %66
  %92 = bitcast %class.variant.43* %46 to i16*
  %93 = load i16, i16* %92, align 2, !tbaa !59
  %94 = icmp eq i16 %93, 0
  br i1 %94, label %95, label %108

; <label>:95:                                     ; preds = %91
  %96 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %97 = icmp eq i32 %96, 0
  br i1 %97, label %98, label %302

; <label>:98:                                     ; preds = %95
  %99 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %99) #14
  %100 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %101 = icmp ult i32 %100, 16
  br i1 %101, label %105, label %102

; <label>:102:                                    ; preds = %98
  %103 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %103, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %104 = getelementptr inbounds i8, i8* %103, i32 16
  store i8 0, i8* %104, align 1, !tbaa !12
  br label %107

; <label>:105:                                    ; preds = %98
  %106 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %107

; <label>:107:                                    ; preds = %105, %102
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %99) #14
  br label %302

; <label>:108:                                    ; preds = %91
  %109 = sext i16 %93 to i32
  %110 = bitcast %class.variant.43* %47 to i16*
  %111 = load i16, i16* %110, align 2, !tbaa !59
  %112 = sext i16 %111 to i32
  %113 = srem i32 %112, %109
  %114 = trunc i32 %113 to i16
  store i16 %114, i16* %110, align 2, !tbaa !59
  br label %296

; <label>:115:                                    ; preds = %66
  %116 = bitcast %class.variant.43* %46 to i32*
  %117 = load i32, i32* %116, align 4, !tbaa !24
  %118 = icmp eq i32 %117, 0
  br i1 %118, label %119, label %132

; <label>:119:                                    ; preds = %115
  %120 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %121 = icmp eq i32 %120, 0
  br i1 %121, label %122, label %302

; <label>:122:                                    ; preds = %119
  %123 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %123) #14
  %124 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %125 = icmp ult i32 %124, 16
  br i1 %125, label %129, label %126

; <label>:126:                                    ; preds = %122
  %127 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %127, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %128 = getelementptr inbounds i8, i8* %127, i32 16
  store i8 0, i8* %128, align 1, !tbaa !12
  br label %131

; <label>:129:                                    ; preds = %122
  %130 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %131

; <label>:131:                                    ; preds = %129, %126
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %123) #14
  br label %302

; <label>:132:                                    ; preds = %115
  %133 = bitcast %class.variant.43* %47 to i32*
  %134 = load i32, i32* %133, align 4, !tbaa !24
  %135 = srem i32 %134, %117
  store i32 %135, i32* %133, align 4, !tbaa !24
  br label %296

; <label>:136:                                    ; preds = %66
  %137 = bitcast %class.variant.43* %46 to i64*
  %138 = load i64, i64* %137, align 8, !tbaa !61
  %139 = icmp eq i64 %138, 0
  br i1 %139, label %140, label %153

; <label>:140:                                    ; preds = %136
  %141 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %142 = icmp eq i32 %141, 0
  br i1 %142, label %143, label %302

; <label>:143:                                    ; preds = %140
  %144 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %144) #14
  %145 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %146 = icmp ult i32 %145, 16
  br i1 %146, label %150, label %147

; <label>:147:                                    ; preds = %143
  %148 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %148, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %149 = getelementptr inbounds i8, i8* %148, i32 16
  store i8 0, i8* %149, align 1, !tbaa !12
  br label %152

; <label>:150:                                    ; preds = %143
  %151 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %152

; <label>:152:                                    ; preds = %150, %147
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %144) #14
  br label %302

; <label>:153:                                    ; preds = %136
  %154 = bitcast %class.variant.43* %47 to i64*
  %155 = load i64, i64* %154, align 8, !tbaa !61
  %156 = srem i64 %155, %138
  store i64 %156, i64* %154, align 8, !tbaa !61
  br label %296

; <label>:157:                                    ; preds = %66
  %158 = bitcast %class.variant.43* %46 to i32*
  %159 = load i32, i32* %158, align 4, !tbaa !538
  %160 = icmp eq i32 %159, 0
  br i1 %160, label %161, label %174

; <label>:161:                                    ; preds = %157
  %162 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %163 = icmp eq i32 %162, 0
  br i1 %163, label %164, label %302

; <label>:164:                                    ; preds = %161
  %165 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %165) #14
  %166 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %167 = icmp ult i32 %166, 16
  br i1 %167, label %171, label %168

; <label>:168:                                    ; preds = %164
  %169 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %169, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %170 = getelementptr inbounds i8, i8* %169, i32 16
  store i8 0, i8* %170, align 1, !tbaa !12
  br label %173

; <label>:171:                                    ; preds = %164
  %172 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %173

; <label>:173:                                    ; preds = %171, %168
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %165) #14
  br label %302

; <label>:174:                                    ; preds = %157
  %175 = bitcast %class.variant.43* %47 to i32*
  %176 = load i32, i32* %175, align 4, !tbaa !538
  %177 = srem i32 %176, %159
  store i32 %177, i32* %175, align 4, !tbaa !538
  br label %296

; <label>:178:                                    ; preds = %66
  %179 = bitcast %class.variant.43* %46 to i8*
  %180 = load i8, i8* %179, align 1, !tbaa !12
  %181 = icmp eq i8 %180, 0
  br i1 %181, label %182, label %195

; <label>:182:                                    ; preds = %178
  %183 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %184 = icmp eq i32 %183, 0
  br i1 %184, label %185, label %302

; <label>:185:                                    ; preds = %182
  %186 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %186) #14
  %187 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %188 = icmp ult i32 %187, 16
  br i1 %188, label %192, label %189

; <label>:189:                                    ; preds = %185
  %190 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %190, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %191 = getelementptr inbounds i8, i8* %190, i32 16
  store i8 0, i8* %191, align 1, !tbaa !12
  br label %194

; <label>:192:                                    ; preds = %185
  %193 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %194

; <label>:194:                                    ; preds = %192, %189
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %186) #14
  br label %302

; <label>:195:                                    ; preds = %178
  %196 = bitcast %class.variant.43* %47 to i8*
  %197 = load i8, i8* %196, align 1, !tbaa !12
  %198 = urem i8 %197, %180
  store i8 %198, i8* %196, align 1, !tbaa !12
  br label %296

; <label>:199:                                    ; preds = %66
  %200 = bitcast %class.variant.43* %46 to i16*
  %201 = load i16, i16* %200, align 2, !tbaa !59
  %202 = icmp eq i16 %201, 0
  br i1 %202, label %203, label %216

; <label>:203:                                    ; preds = %199
  %204 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %205 = icmp eq i32 %204, 0
  br i1 %205, label %206, label %302

; <label>:206:                                    ; preds = %203
  %207 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %207) #14
  %208 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %209 = icmp ult i32 %208, 16
  br i1 %209, label %213, label %210

; <label>:210:                                    ; preds = %206
  %211 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %211, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %212 = getelementptr inbounds i8, i8* %211, i32 16
  store i8 0, i8* %212, align 1, !tbaa !12
  br label %215

; <label>:213:                                    ; preds = %206
  %214 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %215

; <label>:215:                                    ; preds = %213, %210
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %207) #14
  br label %302

; <label>:216:                                    ; preds = %199
  %217 = bitcast %class.variant.43* %47 to i16*
  %218 = load i16, i16* %217, align 2, !tbaa !59
  %219 = urem i16 %218, %201
  store i16 %219, i16* %217, align 2, !tbaa !59
  br label %296

; <label>:220:                                    ; preds = %66
  %221 = bitcast %class.variant.43* %46 to i32*
  %222 = load i32, i32* %221, align 4, !tbaa !24
  %223 = icmp eq i32 %222, 0
  br i1 %223, label %224, label %237

; <label>:224:                                    ; preds = %220
  %225 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %227, label %302

; <label>:227:                                    ; preds = %224
  %228 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %228) #14
  %229 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %230 = icmp ult i32 %229, 16
  br i1 %230, label %234, label %231

; <label>:231:                                    ; preds = %227
  %232 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %232, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %233 = getelementptr inbounds i8, i8* %232, i32 16
  store i8 0, i8* %233, align 1, !tbaa !12
  br label %236

; <label>:234:                                    ; preds = %227
  %235 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %236

; <label>:236:                                    ; preds = %234, %231
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %228) #14
  br label %302

; <label>:237:                                    ; preds = %220
  %238 = bitcast %class.variant.43* %47 to i32*
  %239 = load i32, i32* %238, align 4, !tbaa !24
  %240 = urem i32 %239, %222
  store i32 %240, i32* %238, align 4, !tbaa !24
  br label %296

; <label>:241:                                    ; preds = %66
  %242 = bitcast %class.variant.43* %46 to i64*
  %243 = load i64, i64* %242, align 8, !tbaa !61
  %244 = icmp eq i64 %243, 0
  br i1 %244, label %245, label %258

; <label>:245:                                    ; preds = %241
  %246 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %247 = icmp eq i32 %246, 0
  br i1 %247, label %248, label %302

; <label>:248:                                    ; preds = %245
  %249 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %249) #14
  %250 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %251 = icmp ult i32 %250, 16
  br i1 %251, label %255, label %252

; <label>:252:                                    ; preds = %248
  %253 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %253, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %254 = getelementptr inbounds i8, i8* %253, i32 16
  store i8 0, i8* %254, align 1, !tbaa !12
  br label %257

; <label>:255:                                    ; preds = %248
  %256 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %257

; <label>:257:                                    ; preds = %255, %252
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %249) #14
  br label %302

; <label>:258:                                    ; preds = %241
  %259 = bitcast %class.variant.43* %47 to i64*
  %260 = load i64, i64* %259, align 8, !tbaa !61
  %261 = urem i64 %260, %243
  store i64 %261, i64* %259, align 8, !tbaa !61
  br label %296

; <label>:262:                                    ; preds = %66
  %263 = bitcast %class.variant.43* %46 to i32*
  %264 = load i32, i32* %263, align 4, !tbaa !540
  %265 = icmp eq i32 %264, 0
  br i1 %265, label %266, label %279

; <label>:266:                                    ; preds = %262
  %267 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %268 = icmp eq i32 %267, 0
  br i1 %268, label %269, label %302

; <label>:269:                                    ; preds = %266
  %270 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %270) #14
  %271 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %272 = icmp ult i32 %271, 16
  br i1 %272, label %276, label %273

; <label>:273:                                    ; preds = %269
  %274 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %274, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %275 = getelementptr inbounds i8, i8* %274, i32 16
  store i8 0, i8* %275, align 1, !tbaa !12
  br label %278

; <label>:276:                                    ; preds = %269
  %277 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %278

; <label>:278:                                    ; preds = %276, %273
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %270) #14
  br label %302

; <label>:279:                                    ; preds = %262
  %280 = bitcast %class.variant.43* %47 to i32*
  %281 = load i32, i32* %280, align 4, !tbaa !540
  %282 = urem i32 %281, %264
  store i32 %282, i32* %280, align 4, !tbaa !540
  br label %296

; <label>:283:                                    ; preds = %66
  %284 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %285 = icmp eq i32 %284, 0
  br i1 %285, label %286, label %302

; <label>:286:                                    ; preds = %283
  %287 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %287) #14
  %288 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %289 = icmp ult i32 %288, 17
  br i1 %289, label %293, label %290

; <label>:290:                                    ; preds = %286
  %291 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %291, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %292 = getelementptr inbounds i8, i8* %291, i32 17
  store i8 0, i8* %292, align 1, !tbaa !12
  br label %295

; <label>:293:                                    ; preds = %286
  %294 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %295

; <label>:295:                                    ; preds = %293, %290
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %287) #14
  br label %302

; <label>:296:                                    ; preds = %279, %258, %237, %216, %195, %174, %153, %132, %108, %84
  %297 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %298 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %299 = sub i32 %297, %298
  %300 = ashr exact i32 %299, 4
  %301 = add nsw i32 %300, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %301, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %302

; <label>:302:                                    ; preds = %296, %295, %283, %278, %266, %257, %245, %236, %224, %215, %203, %194, %182, %173, %161, %152, %140, %131, %119, %107, %95, %83, %71, %65, %53, %40, %26
  %303 = phi i1 [ false, %40 ], [ false, %26 ], [ true, %296 ], [ false, %65 ], [ false, %53 ], [ false, %71 ], [ false, %83 ], [ false, %95 ], [ false, %107 ], [ false, %119 ], [ false, %131 ], [ false, %140 ], [ false, %152 ], [ false, %161 ], [ false, %173 ], [ false, %182 ], [ false, %194 ], [ false, %203 ], [ false, %215 ], [ false, %224 ], [ false, %236 ], [ false, %245 ], [ false, %257 ], [ false, %266 ], [ false, %278 ], [ false, %295 ], [ false, %283 ]
  ret i1 %303
}

; Function Attrs: nounwind
define zeroext i1 @builtinNeg() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %73

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %73

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %60 [
    i32 1, label %36
    i32 2, label %40
    i32 3, label %44
    i32 4, label %48
    i32 11, label %52
    i32 12, label %56
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to i8*
  %38 = load i8, i8* %37, align 1, !tbaa !12
  %39 = sub i8 0, %38
  store i8 %39, i8* %37, align 1, !tbaa !12
  br label %73

; <label>:40:                                     ; preds = %31
  %41 = bitcast %class.variant.43* %33 to i16*
  %42 = load i16, i16* %41, align 2, !tbaa !59
  %43 = sub i16 0, %42
  store i16 %43, i16* %41, align 2, !tbaa !59
  br label %73

; <label>:44:                                     ; preds = %31
  %45 = bitcast %class.variant.43* %33 to i32*
  %46 = load i32, i32* %45, align 4, !tbaa !24
  %47 = sub nsw i32 0, %46
  store i32 %47, i32* %45, align 4, !tbaa !24
  br label %73

; <label>:48:                                     ; preds = %31
  %49 = bitcast %class.variant.43* %33 to i64*
  %50 = load i64, i64* %49, align 8, !tbaa !61
  %51 = sub nsw i64 0, %50
  store i64 %51, i64* %49, align 8, !tbaa !61
  br label %73

; <label>:52:                                     ; preds = %31
  %53 = bitcast %class.variant.43* %33 to float*
  %54 = load float, float* %53, align 4, !tbaa !70
  %55 = fsub float -0.000000e+00, %54
  store float %55, float* %53, align 4, !tbaa !70
  br label %73

; <label>:56:                                     ; preds = %31
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %58 = load double, double* %57, align 8, !tbaa !72
  %59 = fsub double -0.000000e+00, %58
  store double %59, double* %57, align 8, !tbaa !72
  br label %73

; <label>:60:                                     ; preds = %31
  %61 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %63, label %73

; <label>:63:                                     ; preds = %60
  %64 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %64) #14
  %65 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %66 = icmp ult i32 %65, 16
  br i1 %66, label %70, label %67

; <label>:67:                                     ; preds = %63
  %68 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %68, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %69 = getelementptr inbounds i8, i8* %68, i32 16
  store i8 0, i8* %69, align 1, !tbaa !12
  br label %72

; <label>:70:                                     ; preds = %63
  %71 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %72

; <label>:72:                                     ; preds = %70, %67
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %64) #14
  br label %73

; <label>:73:                                     ; preds = %72, %60, %56, %52, %48, %44, %40, %36, %28, %14
  %74 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %72 ], [ false, %60 ], [ true, %56 ], [ true, %52 ], [ true, %48 ], [ true, %44 ], [ true, %40 ], [ true, %36 ]
  ret i1 %74
}

; Function Attrs: nounwind
define zeroext i1 @builtinOr() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %142

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %142

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %142

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %142

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %123 [
    i32 0, label %57
    i32 1, label %63
    i32 2, label %69
    i32 3, label %75
    i32 4, label %81
    i32 5, label %87
    i32 6, label %93
    i32 7, label %99
    i32 8, label %105
    i32 9, label %111
    i32 10, label %117
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !566, !range !382
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !566, !range !382
  %62 = or i8 %61, %59
  store i8 %62, i8* %58, align 1, !tbaa !566
  br label %136

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i8*
  %65 = load i8, i8* %64, align 1, !tbaa !12
  %66 = bitcast %class.variant.43* %36 to i8*
  %67 = load i8, i8* %66, align 1, !tbaa !12
  %68 = or i8 %67, %65
  store i8 %68, i8* %64, align 1, !tbaa !12
  br label %136

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i16*
  %71 = load i16, i16* %70, align 2, !tbaa !59
  %72 = bitcast %class.variant.43* %36 to i16*
  %73 = load i16, i16* %72, align 2, !tbaa !59
  %74 = or i16 %73, %71
  store i16 %74, i16* %70, align 2, !tbaa !59
  br label %136

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i32*
  %77 = load i32, i32* %76, align 4, !tbaa !24
  %78 = bitcast %class.variant.43* %36 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = or i32 %79, %77
  store i32 %80, i32* %76, align 4, !tbaa !24
  br label %136

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i64*
  %83 = load i64, i64* %82, align 8, !tbaa !61
  %84 = bitcast %class.variant.43* %36 to i64*
  %85 = load i64, i64* %84, align 8, !tbaa !61
  %86 = or i64 %85, %83
  store i64 %86, i64* %82, align 8, !tbaa !61
  br label %136

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !538
  %90 = bitcast %class.variant.43* %36 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !538
  %92 = or i32 %91, %89
  store i32 %92, i32* %88, align 4, !tbaa !538
  br label %136

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i8*
  %95 = load i8, i8* %94, align 1, !tbaa !12
  %96 = bitcast %class.variant.43* %36 to i8*
  %97 = load i8, i8* %96, align 1, !tbaa !12
  %98 = or i8 %97, %95
  store i8 %98, i8* %94, align 1, !tbaa !12
  br label %136

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i16*
  %101 = load i16, i16* %100, align 2, !tbaa !59
  %102 = bitcast %class.variant.43* %36 to i16*
  %103 = load i16, i16* %102, align 2, !tbaa !59
  %104 = or i16 %103, %101
  store i16 %104, i16* %100, align 2, !tbaa !59
  br label %136

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to i32*
  %107 = load i32, i32* %106, align 4, !tbaa !24
  %108 = bitcast %class.variant.43* %36 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !24
  %110 = or i32 %109, %107
  store i32 %110, i32* %106, align 4, !tbaa !24
  br label %136

; <label>:111:                                    ; preds = %56
  %112 = bitcast %class.variant.43* %37 to i64*
  %113 = load i64, i64* %112, align 8, !tbaa !61
  %114 = bitcast %class.variant.43* %36 to i64*
  %115 = load i64, i64* %114, align 8, !tbaa !61
  %116 = or i64 %115, %113
  store i64 %116, i64* %112, align 8, !tbaa !61
  br label %136

; <label>:117:                                    ; preds = %56
  %118 = bitcast %class.variant.43* %37 to i32*
  %119 = load i32, i32* %118, align 4, !tbaa !540
  %120 = bitcast %class.variant.43* %36 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !540
  %122 = or i32 %121, %119
  store i32 %122, i32* %118, align 4, !tbaa !540
  br label %136

; <label>:123:                                    ; preds = %56
  %124 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %125 = icmp eq i32 %124, 0
  br i1 %125, label %126, label %142

; <label>:126:                                    ; preds = %123
  %127 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %127) #14
  %128 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %129 = icmp ult i32 %128, 17
  br i1 %129, label %133, label %130

; <label>:130:                                    ; preds = %126
  %131 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %131, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %132 = getelementptr inbounds i8, i8* %131, i32 17
  store i8 0, i8* %132, align 1, !tbaa !12
  br label %135

; <label>:133:                                    ; preds = %126
  %134 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %135

; <label>:135:                                    ; preds = %133, %130
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %127) #14
  br label %142

; <label>:136:                                    ; preds = %117, %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %137 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %138 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %139 = sub i32 %137, %138
  %140 = ashr exact i32 %139, 4
  %141 = add nsw i32 %140, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %141, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %142

; <label>:142:                                    ; preds = %136, %135, %123, %55, %43, %30, %16
  %143 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %136 ], [ false, %55 ], [ false, %43 ], [ false, %135 ], [ false, %123 ]
  ret i1 %143
}

; Function Attrs: nounwind
define zeroext i1 @builtinPlus() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %148

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %148

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %148

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %148

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %129 [
    i32 1, label %57
    i32 2, label %63
    i32 3, label %69
    i32 4, label %75
    i32 5, label %81
    i32 6, label %87
    i32 7, label %93
    i32 8, label %99
    i32 9, label %105
    i32 10, label %111
    i32 11, label %117
    i32 12, label %123
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !12
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !12
  %62 = add i8 %61, %59
  store i8 %62, i8* %58, align 1, !tbaa !12
  br label %142

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i16*
  %65 = load i16, i16* %64, align 2, !tbaa !59
  %66 = bitcast %class.variant.43* %36 to i16*
  %67 = load i16, i16* %66, align 2, !tbaa !59
  %68 = add i16 %67, %65
  store i16 %68, i16* %64, align 2, !tbaa !59
  br label %142

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = bitcast %class.variant.43* %36 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = add nsw i32 %73, %71
  store i32 %74, i32* %70, align 4, !tbaa !24
  br label %142

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i64*
  %77 = load i64, i64* %76, align 8, !tbaa !61
  %78 = bitcast %class.variant.43* %36 to i64*
  %79 = load i64, i64* %78, align 8, !tbaa !61
  %80 = add nsw i64 %79, %77
  store i64 %80, i64* %76, align 8, !tbaa !61
  br label %142

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i32*
  %83 = load i32, i32* %82, align 4, !tbaa !538
  %84 = bitcast %class.variant.43* %36 to i32*
  %85 = load i32, i32* %84, align 4, !tbaa !538
  %86 = add nsw i32 %85, %83
  store i32 %86, i32* %82, align 4, !tbaa !538
  br label %142

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i8*
  %89 = load i8, i8* %88, align 1, !tbaa !12
  %90 = bitcast %class.variant.43* %36 to i8*
  %91 = load i8, i8* %90, align 1, !tbaa !12
  %92 = add i8 %91, %89
  store i8 %92, i8* %88, align 1, !tbaa !12
  br label %142

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i16*
  %95 = load i16, i16* %94, align 2, !tbaa !59
  %96 = bitcast %class.variant.43* %36 to i16*
  %97 = load i16, i16* %96, align 2, !tbaa !59
  %98 = add i16 %97, %95
  store i16 %98, i16* %94, align 2, !tbaa !59
  br label %142

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i32*
  %101 = load i32, i32* %100, align 4, !tbaa !24
  %102 = bitcast %class.variant.43* %36 to i32*
  %103 = load i32, i32* %102, align 4, !tbaa !24
  %104 = add i32 %103, %101
  store i32 %104, i32* %100, align 4, !tbaa !24
  br label %142

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to i64*
  %107 = load i64, i64* %106, align 8, !tbaa !61
  %108 = bitcast %class.variant.43* %36 to i64*
  %109 = load i64, i64* %108, align 8, !tbaa !61
  %110 = add i64 %109, %107
  store i64 %110, i64* %106, align 8, !tbaa !61
  br label %142

; <label>:111:                                    ; preds = %56
  %112 = bitcast %class.variant.43* %37 to i32*
  %113 = load i32, i32* %112, align 4, !tbaa !540
  %114 = bitcast %class.variant.43* %36 to i32*
  %115 = load i32, i32* %114, align 4, !tbaa !540
  %116 = add i32 %115, %113
  store i32 %116, i32* %112, align 4, !tbaa !540
  br label %142

; <label>:117:                                    ; preds = %56
  %118 = bitcast %class.variant.43* %37 to float*
  %119 = load float, float* %118, align 4, !tbaa !70
  %120 = bitcast %class.variant.43* %36 to float*
  %121 = load float, float* %120, align 4, !tbaa !70
  %122 = fadd float %119, %121
  store float %122, float* %118, align 4, !tbaa !70
  br label %142

; <label>:123:                                    ; preds = %56
  %124 = getelementptr inbounds %class.variant.43, %class.variant.43* %37, i32 0, i32 0, i32 0, i32 0
  %125 = load double, double* %124, align 8, !tbaa !72
  %126 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %127 = load double, double* %126, align 8, !tbaa !72
  %128 = fadd double %125, %127
  store double %128, double* %124, align 8, !tbaa !72
  br label %142

; <label>:129:                                    ; preds = %56
  %130 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %131 = icmp eq i32 %130, 0
  br i1 %131, label %132, label %148

; <label>:132:                                    ; preds = %129
  %133 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %133) #14
  %134 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %135 = icmp ult i32 %134, 17
  br i1 %135, label %139, label %136

; <label>:136:                                    ; preds = %132
  %137 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %137, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %138 = getelementptr inbounds i8, i8* %137, i32 17
  store i8 0, i8* %138, align 1, !tbaa !12
  br label %141

; <label>:139:                                    ; preds = %132
  %140 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %141

; <label>:141:                                    ; preds = %139, %136
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %133) #14
  br label %148

; <label>:142:                                    ; preds = %123, %117, %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %143 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %144 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %145 = sub i32 %143, %144
  %146 = ashr exact i32 %145, 4
  %147 = add nsw i32 %146, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %147, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %148

; <label>:148:                                    ; preds = %142, %141, %129, %55, %43, %30, %16
  %149 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %142 ], [ false, %55 ], [ false, %43 ], [ false, %141 ], [ false, %129 ]
  ret i1 %149
}

; Function Attrs: nounwind
define zeroext i1 @builtinPrint() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"class.std::basic_string", align 4
  %3 = alloca %"class.std::basic_string", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = alloca %"class.std::basic_string", align 4
  %6 = alloca %"class.std::basic_string", align 4
  %7 = alloca %"class.std::basic_string", align 4
  %8 = alloca %"class.std::basic_string", align 4
  %9 = alloca %"class.std::basic_string", align 4
  %10 = alloca %"class.std::basic_string", align 4
  %11 = alloca %"class.std::basic_string", align 4
  %12 = alloca %"class.std::basic_string", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = alloca %"class.std::basic_string", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %19 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %20 = sub i32 %18, %19
  %21 = ashr exact i32 %20, 4
  %22 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %23 = icmp eq i32 %21, %22
  %24 = inttoptr i32 %19 to %class.variant.43*
  br i1 %23, label %27, label %25

; <label>:25:                                     ; preds = %0
  %26 = add nsw i32 %21, -1
  br label %46

; <label>:27:                                     ; preds = %0
  %28 = icmp eq i32 %21, 0
  br i1 %28, label %29, label %44

; <label>:29:                                     ; preds = %27
  %30 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %31 = icmp eq i32 %30, 0
  br i1 %31, label %32, label %738

; <label>:32:                                     ; preds = %29
  %33 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %33) #14
  %34 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %35 = icmp ult i32 %34, 15
  br i1 %35, label %41, label %36

; <label>:36:                                     ; preds = %32
  %37 = icmp eq i32 %34, 15
  %38 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %39 = select i1 %37, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %38
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %39, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %40 = getelementptr inbounds i8, i8* %39, i32 15
  store i8 0, i8* %40, align 1, !tbaa !12
  br label %43

; <label>:41:                                     ; preds = %32
  %42 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %43

; <label>:43:                                     ; preds = %41, %36
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %33) #14
  br label %738

; <label>:44:                                     ; preds = %27
  %45 = add nsw i32 %21, -1
  store i32 %45, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %46

; <label>:46:                                     ; preds = %44, %25
  %47 = phi i32 [ %26, %25 ], [ %45, %44 ]
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47
  %49 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 %47, i32 1
  %50 = load i32, i32* %49, align 8, !tbaa !535
  switch i32 %50, label %732 [
    i32 0, label %51
    i32 1, label %89
    i32 2, label %127
    i32 3, label %165
    i32 4, label %203
    i32 5, label %241
    i32 6, label %279
    i32 7, label %317
    i32 8, label %355
    i32 9, label %393
    i32 10, label %431
    i32 11, label %469
    i32 12, label %507
    i32 13, label %545
    i32 14, label %558
    i32 15, label %611
    i32 16, label %649
    i32 17, label %687
  ]

; <label>:51:                                     ; preds = %46
  %52 = bitcast %"class.std::basic_string"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %52) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %2, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %53 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %54 = load i32, i32* %53, align 4, !tbaa !83
  %55 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %56 = load i32, i32* %55, align 4, !tbaa !81
  %57 = icmp ugt i32 %56, 15
  %58 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %59 = load i8*, i8** %58, align 4
  %60 = select i1 %57, i8* %59, i8* %52
  %61 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %60, i32 %54) #14
  %62 = load i32, i32* %55, align 4, !tbaa !81
  %63 = icmp ugt i32 %62, 15
  br i1 %63, label %64, label %88

; <label>:64:                                     ; preds = %51
  %65 = load i8*, i8** %58, align 4, !tbaa !12
  %66 = add i32 %62, 1
  %67 = icmp ugt i32 %66, 4095
  br i1 %67, label %68, label %85

; <label>:68:                                     ; preds = %64
  %69 = add i32 %62, 36
  %70 = icmp ugt i32 %66, -36
  br i1 %70, label %84, label %71

; <label>:71:                                     ; preds = %68
  %72 = ptrtoint i8* %65 to i32
  %73 = and i32 %72, 31
  %74 = icmp eq i32 %73, 0
  br i1 %74, label %75, label %84

; <label>:75:                                     ; preds = %71
  %76 = add i32 %72, -4
  %77 = inttoptr i32 %76 to i32*
  %78 = load i32, i32* %77, align 4, !tbaa !24
  %79 = icmp ult i32 %78, %72
  br i1 %79, label %80, label %84

; <label>:80:                                     ; preds = %75
  %81 = sub i32 %76, %78
  %82 = icmp ugt i32 %81, 31
  %83 = inttoptr i32 %78 to i8*
  br i1 %82, label %84, label %85

; <label>:84:                                     ; preds = %80, %75, %71, %68
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:85:                                     ; preds = %80, %64
  %86 = phi i8* [ %83, %80 ], [ %65, %64 ]
  %87 = phi i32 [ %69, %80 ], [ %66, %64 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %86, i32 %87) #14
  br label %88

; <label>:88:                                     ; preds = %85, %51
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %52) #14
  br label %732

; <label>:89:                                     ; preds = %46
  %90 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %90) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %3, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %91 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  %92 = load i32, i32* %91, align 4, !tbaa !83
  %93 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  %94 = load i32, i32* %93, align 4, !tbaa !81
  %95 = icmp ugt i32 %94, 15
  %96 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %97 = load i8*, i8** %96, align 4
  %98 = select i1 %95, i8* %97, i8* %90
  %99 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %98, i32 %92) #14
  %100 = load i32, i32* %93, align 4, !tbaa !81
  %101 = icmp ugt i32 %100, 15
  br i1 %101, label %102, label %126

; <label>:102:                                    ; preds = %89
  %103 = load i8*, i8** %96, align 4, !tbaa !12
  %104 = add i32 %100, 1
  %105 = icmp ugt i32 %104, 4095
  br i1 %105, label %106, label %123

; <label>:106:                                    ; preds = %102
  %107 = add i32 %100, 36
  %108 = icmp ugt i32 %104, -36
  br i1 %108, label %122, label %109

; <label>:109:                                    ; preds = %106
  %110 = ptrtoint i8* %103 to i32
  %111 = and i32 %110, 31
  %112 = icmp eq i32 %111, 0
  br i1 %112, label %113, label %122

; <label>:113:                                    ; preds = %109
  %114 = add i32 %110, -4
  %115 = inttoptr i32 %114 to i32*
  %116 = load i32, i32* %115, align 4, !tbaa !24
  %117 = icmp ult i32 %116, %110
  br i1 %117, label %118, label %122

; <label>:118:                                    ; preds = %113
  %119 = sub i32 %114, %116
  %120 = icmp ugt i32 %119, 31
  %121 = inttoptr i32 %116 to i8*
  br i1 %120, label %122, label %123

; <label>:122:                                    ; preds = %118, %113, %109, %106
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:123:                                    ; preds = %118, %102
  %124 = phi i8* [ %121, %118 ], [ %103, %102 ]
  %125 = phi i32 [ %107, %118 ], [ %104, %102 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %124, i32 %125) #14
  br label %126

; <label>:126:                                    ; preds = %123, %89
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %90) #14
  br label %732

; <label>:127:                                    ; preds = %46
  %128 = bitcast %"class.std::basic_string"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %128) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %4, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %129 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %130 = load i32, i32* %129, align 4, !tbaa !83
  %131 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %132 = load i32, i32* %131, align 4, !tbaa !81
  %133 = icmp ugt i32 %132, 15
  %134 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %135 = load i8*, i8** %134, align 4
  %136 = select i1 %133, i8* %135, i8* %128
  %137 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %136, i32 %130) #14
  %138 = load i32, i32* %131, align 4, !tbaa !81
  %139 = icmp ugt i32 %138, 15
  br i1 %139, label %140, label %164

; <label>:140:                                    ; preds = %127
  %141 = load i8*, i8** %134, align 4, !tbaa !12
  %142 = add i32 %138, 1
  %143 = icmp ugt i32 %142, 4095
  br i1 %143, label %144, label %161

; <label>:144:                                    ; preds = %140
  %145 = add i32 %138, 36
  %146 = icmp ugt i32 %142, -36
  br i1 %146, label %160, label %147

; <label>:147:                                    ; preds = %144
  %148 = ptrtoint i8* %141 to i32
  %149 = and i32 %148, 31
  %150 = icmp eq i32 %149, 0
  br i1 %150, label %151, label %160

; <label>:151:                                    ; preds = %147
  %152 = add i32 %148, -4
  %153 = inttoptr i32 %152 to i32*
  %154 = load i32, i32* %153, align 4, !tbaa !24
  %155 = icmp ult i32 %154, %148
  br i1 %155, label %156, label %160

; <label>:156:                                    ; preds = %151
  %157 = sub i32 %152, %154
  %158 = icmp ugt i32 %157, 31
  %159 = inttoptr i32 %154 to i8*
  br i1 %158, label %160, label %161

; <label>:160:                                    ; preds = %156, %151, %147, %144
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:161:                                    ; preds = %156, %140
  %162 = phi i8* [ %159, %156 ], [ %141, %140 ]
  %163 = phi i32 [ %145, %156 ], [ %142, %140 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %162, i32 %163) #14
  br label %164

; <label>:164:                                    ; preds = %161, %127
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %128) #14
  br label %732

; <label>:165:                                    ; preds = %46
  %166 = bitcast %"class.std::basic_string"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %166) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %5, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %167 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 1
  %168 = load i32, i32* %167, align 4, !tbaa !83
  %169 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 2
  %170 = load i32, i32* %169, align 4, !tbaa !81
  %171 = icmp ugt i32 %170, 15
  %172 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %173 = load i8*, i8** %172, align 4
  %174 = select i1 %171, i8* %173, i8* %166
  %175 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %174, i32 %168) #14
  %176 = load i32, i32* %169, align 4, !tbaa !81
  %177 = icmp ugt i32 %176, 15
  br i1 %177, label %178, label %202

; <label>:178:                                    ; preds = %165
  %179 = load i8*, i8** %172, align 4, !tbaa !12
  %180 = add i32 %176, 1
  %181 = icmp ugt i32 %180, 4095
  br i1 %181, label %182, label %199

; <label>:182:                                    ; preds = %178
  %183 = add i32 %176, 36
  %184 = icmp ugt i32 %180, -36
  br i1 %184, label %198, label %185

; <label>:185:                                    ; preds = %182
  %186 = ptrtoint i8* %179 to i32
  %187 = and i32 %186, 31
  %188 = icmp eq i32 %187, 0
  br i1 %188, label %189, label %198

; <label>:189:                                    ; preds = %185
  %190 = add i32 %186, -4
  %191 = inttoptr i32 %190 to i32*
  %192 = load i32, i32* %191, align 4, !tbaa !24
  %193 = icmp ult i32 %192, %186
  br i1 %193, label %194, label %198

; <label>:194:                                    ; preds = %189
  %195 = sub i32 %190, %192
  %196 = icmp ugt i32 %195, 31
  %197 = inttoptr i32 %192 to i8*
  br i1 %196, label %198, label %199

; <label>:198:                                    ; preds = %194, %189, %185, %182
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:199:                                    ; preds = %194, %178
  %200 = phi i8* [ %197, %194 ], [ %179, %178 ]
  %201 = phi i32 [ %183, %194 ], [ %180, %178 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %200, i32 %201) #14
  br label %202

; <label>:202:                                    ; preds = %199, %165
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %166) #14
  br label %732

; <label>:203:                                    ; preds = %46
  %204 = bitcast %"class.std::basic_string"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %204) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %6, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  %206 = load i32, i32* %205, align 4, !tbaa !83
  %207 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  %208 = load i32, i32* %207, align 4, !tbaa !81
  %209 = icmp ugt i32 %208, 15
  %210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %211 = load i8*, i8** %210, align 4
  %212 = select i1 %209, i8* %211, i8* %204
  %213 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %212, i32 %206) #14
  %214 = load i32, i32* %207, align 4, !tbaa !81
  %215 = icmp ugt i32 %214, 15
  br i1 %215, label %216, label %240

; <label>:216:                                    ; preds = %203
  %217 = load i8*, i8** %210, align 4, !tbaa !12
  %218 = add i32 %214, 1
  %219 = icmp ugt i32 %218, 4095
  br i1 %219, label %220, label %237

; <label>:220:                                    ; preds = %216
  %221 = add i32 %214, 36
  %222 = icmp ugt i32 %218, -36
  br i1 %222, label %236, label %223

; <label>:223:                                    ; preds = %220
  %224 = ptrtoint i8* %217 to i32
  %225 = and i32 %224, 31
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %227, label %236

; <label>:227:                                    ; preds = %223
  %228 = add i32 %224, -4
  %229 = inttoptr i32 %228 to i32*
  %230 = load i32, i32* %229, align 4, !tbaa !24
  %231 = icmp ult i32 %230, %224
  br i1 %231, label %232, label %236

; <label>:232:                                    ; preds = %227
  %233 = sub i32 %228, %230
  %234 = icmp ugt i32 %233, 31
  %235 = inttoptr i32 %230 to i8*
  br i1 %234, label %236, label %237

; <label>:236:                                    ; preds = %232, %227, %223, %220
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:237:                                    ; preds = %232, %216
  %238 = phi i8* [ %235, %232 ], [ %217, %216 ]
  %239 = phi i32 [ %221, %232 ], [ %218, %216 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %238, i32 %239) #14
  br label %240

; <label>:240:                                    ; preds = %237, %203
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %204) #14
  br label %732

; <label>:241:                                    ; preds = %46
  %242 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %242) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %7, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %243 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 1
  %244 = load i32, i32* %243, align 4, !tbaa !83
  %245 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 2
  %246 = load i32, i32* %245, align 4, !tbaa !81
  %247 = icmp ugt i32 %246, 15
  %248 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %249 = load i8*, i8** %248, align 4
  %250 = select i1 %247, i8* %249, i8* %242
  %251 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %250, i32 %244) #14
  %252 = load i32, i32* %245, align 4, !tbaa !81
  %253 = icmp ugt i32 %252, 15
  br i1 %253, label %254, label %278

; <label>:254:                                    ; preds = %241
  %255 = load i8*, i8** %248, align 4, !tbaa !12
  %256 = add i32 %252, 1
  %257 = icmp ugt i32 %256, 4095
  br i1 %257, label %258, label %275

; <label>:258:                                    ; preds = %254
  %259 = add i32 %252, 36
  %260 = icmp ugt i32 %256, -36
  br i1 %260, label %274, label %261

; <label>:261:                                    ; preds = %258
  %262 = ptrtoint i8* %255 to i32
  %263 = and i32 %262, 31
  %264 = icmp eq i32 %263, 0
  br i1 %264, label %265, label %274

; <label>:265:                                    ; preds = %261
  %266 = add i32 %262, -4
  %267 = inttoptr i32 %266 to i32*
  %268 = load i32, i32* %267, align 4, !tbaa !24
  %269 = icmp ult i32 %268, %262
  br i1 %269, label %270, label %274

; <label>:270:                                    ; preds = %265
  %271 = sub i32 %266, %268
  %272 = icmp ugt i32 %271, 31
  %273 = inttoptr i32 %268 to i8*
  br i1 %272, label %274, label %275

; <label>:274:                                    ; preds = %270, %265, %261, %258
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:275:                                    ; preds = %270, %254
  %276 = phi i8* [ %273, %270 ], [ %255, %254 ]
  %277 = phi i32 [ %259, %270 ], [ %256, %254 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %276, i32 %277) #14
  br label %278

; <label>:278:                                    ; preds = %275, %241
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %242) #14
  br label %732

; <label>:279:                                    ; preds = %46
  %280 = bitcast %"class.std::basic_string"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %280) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %8, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %281 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 1
  %282 = load i32, i32* %281, align 4, !tbaa !83
  %283 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 2
  %284 = load i32, i32* %283, align 4, !tbaa !81
  %285 = icmp ugt i32 %284, 15
  %286 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %287 = load i8*, i8** %286, align 4
  %288 = select i1 %285, i8* %287, i8* %280
  %289 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %288, i32 %282) #14
  %290 = load i32, i32* %283, align 4, !tbaa !81
  %291 = icmp ugt i32 %290, 15
  br i1 %291, label %292, label %316

; <label>:292:                                    ; preds = %279
  %293 = load i8*, i8** %286, align 4, !tbaa !12
  %294 = add i32 %290, 1
  %295 = icmp ugt i32 %294, 4095
  br i1 %295, label %296, label %313

; <label>:296:                                    ; preds = %292
  %297 = add i32 %290, 36
  %298 = icmp ugt i32 %294, -36
  br i1 %298, label %312, label %299

; <label>:299:                                    ; preds = %296
  %300 = ptrtoint i8* %293 to i32
  %301 = and i32 %300, 31
  %302 = icmp eq i32 %301, 0
  br i1 %302, label %303, label %312

; <label>:303:                                    ; preds = %299
  %304 = add i32 %300, -4
  %305 = inttoptr i32 %304 to i32*
  %306 = load i32, i32* %305, align 4, !tbaa !24
  %307 = icmp ult i32 %306, %300
  br i1 %307, label %308, label %312

; <label>:308:                                    ; preds = %303
  %309 = sub i32 %304, %306
  %310 = icmp ugt i32 %309, 31
  %311 = inttoptr i32 %306 to i8*
  br i1 %310, label %312, label %313

; <label>:312:                                    ; preds = %308, %303, %299, %296
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:313:                                    ; preds = %308, %292
  %314 = phi i8* [ %311, %308 ], [ %293, %292 ]
  %315 = phi i32 [ %297, %308 ], [ %294, %292 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %314, i32 %315) #14
  br label %316

; <label>:316:                                    ; preds = %313, %279
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %280) #14
  br label %732

; <label>:317:                                    ; preds = %46
  %318 = bitcast %"class.std::basic_string"* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %318) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %9, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %319 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 1
  %320 = load i32, i32* %319, align 4, !tbaa !83
  %321 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 2
  %322 = load i32, i32* %321, align 4, !tbaa !81
  %323 = icmp ugt i32 %322, 15
  %324 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %325 = load i8*, i8** %324, align 4
  %326 = select i1 %323, i8* %325, i8* %318
  %327 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %326, i32 %320) #14
  %328 = load i32, i32* %321, align 4, !tbaa !81
  %329 = icmp ugt i32 %328, 15
  br i1 %329, label %330, label %354

; <label>:330:                                    ; preds = %317
  %331 = load i8*, i8** %324, align 4, !tbaa !12
  %332 = add i32 %328, 1
  %333 = icmp ugt i32 %332, 4095
  br i1 %333, label %334, label %351

; <label>:334:                                    ; preds = %330
  %335 = add i32 %328, 36
  %336 = icmp ugt i32 %332, -36
  br i1 %336, label %350, label %337

; <label>:337:                                    ; preds = %334
  %338 = ptrtoint i8* %331 to i32
  %339 = and i32 %338, 31
  %340 = icmp eq i32 %339, 0
  br i1 %340, label %341, label %350

; <label>:341:                                    ; preds = %337
  %342 = add i32 %338, -4
  %343 = inttoptr i32 %342 to i32*
  %344 = load i32, i32* %343, align 4, !tbaa !24
  %345 = icmp ult i32 %344, %338
  br i1 %345, label %346, label %350

; <label>:346:                                    ; preds = %341
  %347 = sub i32 %342, %344
  %348 = icmp ugt i32 %347, 31
  %349 = inttoptr i32 %344 to i8*
  br i1 %348, label %350, label %351

; <label>:350:                                    ; preds = %346, %341, %337, %334
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:351:                                    ; preds = %346, %330
  %352 = phi i8* [ %349, %346 ], [ %331, %330 ]
  %353 = phi i32 [ %335, %346 ], [ %332, %330 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %352, i32 %353) #14
  br label %354

; <label>:354:                                    ; preds = %351, %317
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %318) #14
  br label %732

; <label>:355:                                    ; preds = %46
  %356 = bitcast %"class.std::basic_string"* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %356) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %10, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %357 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 1
  %358 = load i32, i32* %357, align 4, !tbaa !83
  %359 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 2
  %360 = load i32, i32* %359, align 4, !tbaa !81
  %361 = icmp ugt i32 %360, 15
  %362 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %363 = load i8*, i8** %362, align 4
  %364 = select i1 %361, i8* %363, i8* %356
  %365 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %364, i32 %358) #14
  %366 = load i32, i32* %359, align 4, !tbaa !81
  %367 = icmp ugt i32 %366, 15
  br i1 %367, label %368, label %392

; <label>:368:                                    ; preds = %355
  %369 = load i8*, i8** %362, align 4, !tbaa !12
  %370 = add i32 %366, 1
  %371 = icmp ugt i32 %370, 4095
  br i1 %371, label %372, label %389

; <label>:372:                                    ; preds = %368
  %373 = add i32 %366, 36
  %374 = icmp ugt i32 %370, -36
  br i1 %374, label %388, label %375

; <label>:375:                                    ; preds = %372
  %376 = ptrtoint i8* %369 to i32
  %377 = and i32 %376, 31
  %378 = icmp eq i32 %377, 0
  br i1 %378, label %379, label %388

; <label>:379:                                    ; preds = %375
  %380 = add i32 %376, -4
  %381 = inttoptr i32 %380 to i32*
  %382 = load i32, i32* %381, align 4, !tbaa !24
  %383 = icmp ult i32 %382, %376
  br i1 %383, label %384, label %388

; <label>:384:                                    ; preds = %379
  %385 = sub i32 %380, %382
  %386 = icmp ugt i32 %385, 31
  %387 = inttoptr i32 %382 to i8*
  br i1 %386, label %388, label %389

; <label>:388:                                    ; preds = %384, %379, %375, %372
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:389:                                    ; preds = %384, %368
  %390 = phi i8* [ %387, %384 ], [ %369, %368 ]
  %391 = phi i32 [ %373, %384 ], [ %370, %368 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %390, i32 %391) #14
  br label %392

; <label>:392:                                    ; preds = %389, %355
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %356) #14
  br label %732

; <label>:393:                                    ; preds = %46
  %394 = bitcast %"class.std::basic_string"* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %394) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %11, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %395 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 1
  %396 = load i32, i32* %395, align 4, !tbaa !83
  %397 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 2
  %398 = load i32, i32* %397, align 4, !tbaa !81
  %399 = icmp ugt i32 %398, 15
  %400 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %401 = load i8*, i8** %400, align 4
  %402 = select i1 %399, i8* %401, i8* %394
  %403 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %402, i32 %396) #14
  %404 = load i32, i32* %397, align 4, !tbaa !81
  %405 = icmp ugt i32 %404, 15
  br i1 %405, label %406, label %430

; <label>:406:                                    ; preds = %393
  %407 = load i8*, i8** %400, align 4, !tbaa !12
  %408 = add i32 %404, 1
  %409 = icmp ugt i32 %408, 4095
  br i1 %409, label %410, label %427

; <label>:410:                                    ; preds = %406
  %411 = add i32 %404, 36
  %412 = icmp ugt i32 %408, -36
  br i1 %412, label %426, label %413

; <label>:413:                                    ; preds = %410
  %414 = ptrtoint i8* %407 to i32
  %415 = and i32 %414, 31
  %416 = icmp eq i32 %415, 0
  br i1 %416, label %417, label %426

; <label>:417:                                    ; preds = %413
  %418 = add i32 %414, -4
  %419 = inttoptr i32 %418 to i32*
  %420 = load i32, i32* %419, align 4, !tbaa !24
  %421 = icmp ult i32 %420, %414
  br i1 %421, label %422, label %426

; <label>:422:                                    ; preds = %417
  %423 = sub i32 %418, %420
  %424 = icmp ugt i32 %423, 31
  %425 = inttoptr i32 %420 to i8*
  br i1 %424, label %426, label %427

; <label>:426:                                    ; preds = %422, %417, %413, %410
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:427:                                    ; preds = %422, %406
  %428 = phi i8* [ %425, %422 ], [ %407, %406 ]
  %429 = phi i32 [ %411, %422 ], [ %408, %406 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %428, i32 %429) #14
  br label %430

; <label>:430:                                    ; preds = %427, %393
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %394) #14
  br label %732

; <label>:431:                                    ; preds = %46
  %432 = bitcast %"class.std::basic_string"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %432) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %12, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %433 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 1
  %434 = load i32, i32* %433, align 4, !tbaa !83
  %435 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 2
  %436 = load i32, i32* %435, align 4, !tbaa !81
  %437 = icmp ugt i32 %436, 15
  %438 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %439 = load i8*, i8** %438, align 4
  %440 = select i1 %437, i8* %439, i8* %432
  %441 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %440, i32 %434) #14
  %442 = load i32, i32* %435, align 4, !tbaa !81
  %443 = icmp ugt i32 %442, 15
  br i1 %443, label %444, label %468

; <label>:444:                                    ; preds = %431
  %445 = load i8*, i8** %438, align 4, !tbaa !12
  %446 = add i32 %442, 1
  %447 = icmp ugt i32 %446, 4095
  br i1 %447, label %448, label %465

; <label>:448:                                    ; preds = %444
  %449 = add i32 %442, 36
  %450 = icmp ugt i32 %446, -36
  br i1 %450, label %464, label %451

; <label>:451:                                    ; preds = %448
  %452 = ptrtoint i8* %445 to i32
  %453 = and i32 %452, 31
  %454 = icmp eq i32 %453, 0
  br i1 %454, label %455, label %464

; <label>:455:                                    ; preds = %451
  %456 = add i32 %452, -4
  %457 = inttoptr i32 %456 to i32*
  %458 = load i32, i32* %457, align 4, !tbaa !24
  %459 = icmp ult i32 %458, %452
  br i1 %459, label %460, label %464

; <label>:460:                                    ; preds = %455
  %461 = sub i32 %456, %458
  %462 = icmp ugt i32 %461, 31
  %463 = inttoptr i32 %458 to i8*
  br i1 %462, label %464, label %465

; <label>:464:                                    ; preds = %460, %455, %451, %448
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:465:                                    ; preds = %460, %444
  %466 = phi i8* [ %463, %460 ], [ %445, %444 ]
  %467 = phi i32 [ %449, %460 ], [ %446, %444 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %466, i32 %467) #14
  br label %468

; <label>:468:                                    ; preds = %465, %431
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %432) #14
  br label %732

; <label>:469:                                    ; preds = %46
  %470 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %470) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %13, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %471 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %472 = load i32, i32* %471, align 4, !tbaa !83
  %473 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %474 = load i32, i32* %473, align 4, !tbaa !81
  %475 = icmp ugt i32 %474, 15
  %476 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %477 = load i8*, i8** %476, align 4
  %478 = select i1 %475, i8* %477, i8* %470
  %479 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %478, i32 %472) #14
  %480 = load i32, i32* %473, align 4, !tbaa !81
  %481 = icmp ugt i32 %480, 15
  br i1 %481, label %482, label %506

; <label>:482:                                    ; preds = %469
  %483 = load i8*, i8** %476, align 4, !tbaa !12
  %484 = add i32 %480, 1
  %485 = icmp ugt i32 %484, 4095
  br i1 %485, label %486, label %503

; <label>:486:                                    ; preds = %482
  %487 = add i32 %480, 36
  %488 = icmp ugt i32 %484, -36
  br i1 %488, label %502, label %489

; <label>:489:                                    ; preds = %486
  %490 = ptrtoint i8* %483 to i32
  %491 = and i32 %490, 31
  %492 = icmp eq i32 %491, 0
  br i1 %492, label %493, label %502

; <label>:493:                                    ; preds = %489
  %494 = add i32 %490, -4
  %495 = inttoptr i32 %494 to i32*
  %496 = load i32, i32* %495, align 4, !tbaa !24
  %497 = icmp ult i32 %496, %490
  br i1 %497, label %498, label %502

; <label>:498:                                    ; preds = %493
  %499 = sub i32 %494, %496
  %500 = icmp ugt i32 %499, 31
  %501 = inttoptr i32 %496 to i8*
  br i1 %500, label %502, label %503

; <label>:502:                                    ; preds = %498, %493, %489, %486
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:503:                                    ; preds = %498, %482
  %504 = phi i8* [ %501, %498 ], [ %483, %482 ]
  %505 = phi i32 [ %487, %498 ], [ %484, %482 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %504, i32 %505) #14
  br label %506

; <label>:506:                                    ; preds = %503, %469
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %470) #14
  br label %732

; <label>:507:                                    ; preds = %46
  %508 = bitcast %"class.std::basic_string"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %508) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %14, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %509 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %510 = load i32, i32* %509, align 4, !tbaa !83
  %511 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  %512 = load i32, i32* %511, align 4, !tbaa !81
  %513 = icmp ugt i32 %512, 15
  %514 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %515 = load i8*, i8** %514, align 4
  %516 = select i1 %513, i8* %515, i8* %508
  %517 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %516, i32 %510) #14
  %518 = load i32, i32* %511, align 4, !tbaa !81
  %519 = icmp ugt i32 %518, 15
  br i1 %519, label %520, label %544

; <label>:520:                                    ; preds = %507
  %521 = load i8*, i8** %514, align 4, !tbaa !12
  %522 = add i32 %518, 1
  %523 = icmp ugt i32 %522, 4095
  br i1 %523, label %524, label %541

; <label>:524:                                    ; preds = %520
  %525 = add i32 %518, 36
  %526 = icmp ugt i32 %522, -36
  br i1 %526, label %540, label %527

; <label>:527:                                    ; preds = %524
  %528 = ptrtoint i8* %521 to i32
  %529 = and i32 %528, 31
  %530 = icmp eq i32 %529, 0
  br i1 %530, label %531, label %540

; <label>:531:                                    ; preds = %527
  %532 = add i32 %528, -4
  %533 = inttoptr i32 %532 to i32*
  %534 = load i32, i32* %533, align 4, !tbaa !24
  %535 = icmp ult i32 %534, %528
  br i1 %535, label %536, label %540

; <label>:536:                                    ; preds = %531
  %537 = sub i32 %532, %534
  %538 = icmp ugt i32 %537, 31
  %539 = inttoptr i32 %534 to i8*
  br i1 %538, label %540, label %541

; <label>:540:                                    ; preds = %536, %531, %527, %524
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:541:                                    ; preds = %536, %520
  %542 = phi i8* [ %539, %536 ], [ %521, %520 ]
  %543 = phi i32 [ %525, %536 ], [ %522, %520 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %542, i32 %543) #14
  br label %544

; <label>:544:                                    ; preds = %541, %507
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %508) #14
  br label %732

; <label>:545:                                    ; preds = %46
  %546 = bitcast %class.variant.43* %48 to %"struct.std::pair.23"**
  %547 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %546, align 4, !tbaa !542
  %548 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %547, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %549 = load i32, i32* %548, align 4, !tbaa !83
  %550 = bitcast %"struct.std::pair.23"* %547 to i8*
  %551 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %547, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %552 = load i32, i32* %551, align 4, !tbaa !81
  %553 = icmp ugt i32 %552, 15
  %554 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %547, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %555 = load i8*, i8** %554, align 4
  %556 = select i1 %553, i8* %555, i8* %550
  %557 = tail call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %556, i32 %549) #14
  br label %732

; <label>:558:                                    ; preds = %46
  %559 = bitcast %class.variant.43* %48 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %560 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %559, align 4, !tbaa !549
  %561 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %560, i32 0, i32 1
  %562 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %560, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %563 = load i32, i32* %562, align 4, !tbaa !83
  %564 = bitcast %"class.std::basic_string"* %561 to i8*
  %565 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %560, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %566 = load i32, i32* %565, align 4, !tbaa !81
  %567 = icmp ugt i32 %566, 15
  %568 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %561, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %569 = load i8*, i8** %568, align 4
  %570 = select i1 %567, i8* %569, i8* %564
  %571 = tail call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %570, i32 %563) #14
  %572 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %559, align 4, !tbaa !549
  %573 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %572, i32 0, i32 0
  %574 = load i32, i32* %573, align 4, !tbaa !547
  %575 = icmp eq i32 %574, 1
  br i1 %575, label %578, label %576

; <label>:576:                                    ; preds = %558
  %577 = add i32 %574, -1
  store i32 %577, i32* %573, align 4, !tbaa !547
  br label %732

; <label>:578:                                    ; preds = %558
  %579 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %572, null
  br i1 %579, label %732, label %580

; <label>:580:                                    ; preds = %578
  %581 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %572, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %582 = load i32, i32* %581, align 4, !tbaa !81
  %583 = icmp ugt i32 %582, 15
  br i1 %583, label %584, label %609

; <label>:584:                                    ; preds = %580
  %585 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %572, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %586 = load i8*, i8** %585, align 4, !tbaa !12
  %587 = add i32 %582, 1
  %588 = icmp ugt i32 %587, 4095
  br i1 %588, label %589, label %606

; <label>:589:                                    ; preds = %584
  %590 = add i32 %582, 36
  %591 = icmp ugt i32 %587, -36
  br i1 %591, label %605, label %592

; <label>:592:                                    ; preds = %589
  %593 = ptrtoint i8* %586 to i32
  %594 = and i32 %593, 31
  %595 = icmp eq i32 %594, 0
  br i1 %595, label %596, label %605

; <label>:596:                                    ; preds = %592
  %597 = add i32 %593, -4
  %598 = inttoptr i32 %597 to i32*
  %599 = load i32, i32* %598, align 4, !tbaa !24
  %600 = icmp ult i32 %599, %593
  br i1 %600, label %601, label %605

; <label>:601:                                    ; preds = %596
  %602 = sub i32 %597, %599
  %603 = icmp ugt i32 %602, 31
  %604 = inttoptr i32 %599 to i8*
  br i1 %603, label %605, label %606

; <label>:605:                                    ; preds = %601, %596, %592, %589
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:606:                                    ; preds = %601, %584
  %607 = phi i8* [ %604, %601 ], [ %586, %584 ]
  %608 = phi i32 [ %590, %601 ], [ %587, %584 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %607, i32 %608) #14
  br label %609

; <label>:609:                                    ; preds = %606, %580
  %610 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %572 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %610) #21
  br label %732

; <label>:611:                                    ; preds = %46
  %612 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %612) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %15, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %613 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %614 = load i32, i32* %613, align 4, !tbaa !83
  %615 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  %616 = load i32, i32* %615, align 4, !tbaa !81
  %617 = icmp ugt i32 %616, 15
  %618 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %619 = load i8*, i8** %618, align 4
  %620 = select i1 %617, i8* %619, i8* %612
  %621 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %620, i32 %614) #14
  %622 = load i32, i32* %615, align 4, !tbaa !81
  %623 = icmp ugt i32 %622, 15
  br i1 %623, label %624, label %648

; <label>:624:                                    ; preds = %611
  %625 = load i8*, i8** %618, align 4, !tbaa !12
  %626 = add i32 %622, 1
  %627 = icmp ugt i32 %626, 4095
  br i1 %627, label %628, label %645

; <label>:628:                                    ; preds = %624
  %629 = add i32 %622, 36
  %630 = icmp ugt i32 %626, -36
  br i1 %630, label %644, label %631

; <label>:631:                                    ; preds = %628
  %632 = ptrtoint i8* %625 to i32
  %633 = and i32 %632, 31
  %634 = icmp eq i32 %633, 0
  br i1 %634, label %635, label %644

; <label>:635:                                    ; preds = %631
  %636 = add i32 %632, -4
  %637 = inttoptr i32 %636 to i32*
  %638 = load i32, i32* %637, align 4, !tbaa !24
  %639 = icmp ult i32 %638, %632
  br i1 %639, label %640, label %644

; <label>:640:                                    ; preds = %635
  %641 = sub i32 %636, %638
  %642 = icmp ugt i32 %641, 31
  %643 = inttoptr i32 %638 to i8*
  br i1 %642, label %644, label %645

; <label>:644:                                    ; preds = %640, %635, %631, %628
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:645:                                    ; preds = %640, %624
  %646 = phi i8* [ %643, %640 ], [ %625, %624 ]
  %647 = phi i32 [ %629, %640 ], [ %626, %624 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %646, i32 %647) #14
  br label %648

; <label>:648:                                    ; preds = %645, %611
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %612) #14
  br label %732

; <label>:649:                                    ; preds = %46
  %650 = bitcast %"class.std::basic_string"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %650) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %16, %class.variant.43* nonnull dereferenceable(16) %48, i32 0) #14
  %651 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %652 = load i32, i32* %651, align 4, !tbaa !83
  %653 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %654 = load i32, i32* %653, align 4, !tbaa !81
  %655 = icmp ugt i32 %654, 15
  %656 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %657 = load i8*, i8** %656, align 4
  %658 = select i1 %655, i8* %657, i8* %650
  %659 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %658, i32 %652) #14
  %660 = load i32, i32* %653, align 4, !tbaa !81
  %661 = icmp ugt i32 %660, 15
  br i1 %661, label %662, label %686

; <label>:662:                                    ; preds = %649
  %663 = load i8*, i8** %656, align 4, !tbaa !12
  %664 = add i32 %660, 1
  %665 = icmp ugt i32 %664, 4095
  br i1 %665, label %666, label %683

; <label>:666:                                    ; preds = %662
  %667 = add i32 %660, 36
  %668 = icmp ugt i32 %664, -36
  br i1 %668, label %682, label %669

; <label>:669:                                    ; preds = %666
  %670 = ptrtoint i8* %663 to i32
  %671 = and i32 %670, 31
  %672 = icmp eq i32 %671, 0
  br i1 %672, label %673, label %682

; <label>:673:                                    ; preds = %669
  %674 = add i32 %670, -4
  %675 = inttoptr i32 %674 to i32*
  %676 = load i32, i32* %675, align 4, !tbaa !24
  %677 = icmp ult i32 %676, %670
  br i1 %677, label %678, label %682

; <label>:678:                                    ; preds = %673
  %679 = sub i32 %674, %676
  %680 = icmp ugt i32 %679, 31
  %681 = inttoptr i32 %676 to i8*
  br i1 %680, label %682, label %683

; <label>:682:                                    ; preds = %678, %673, %669, %666
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:683:                                    ; preds = %678, %662
  %684 = phi i8* [ %681, %678 ], [ %663, %662 ]
  %685 = phi i32 [ %667, %678 ], [ %664, %662 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %684, i32 %685) #14
  br label %686

; <label>:686:                                    ; preds = %683, %649
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %650) #14
  br label %732

; <label>:687:                                    ; preds = %46
  %688 = bitcast %class.variant.43* %48 to %struct.Combined**
  %689 = load %struct.Combined*, %struct.Combined** %688, align 4, !tbaa !23
  %690 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %690) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUCombined@@I@Z"(%"class.std::basic_string"* nonnull sret %17, %struct.Combined* dereferenceable(28) %689, i32 0) #14
  %691 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  %692 = load i32, i32* %691, align 4, !tbaa !83
  %693 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  %694 = load i32, i32* %693, align 4, !tbaa !81
  %695 = icmp ugt i32 %694, 15
  %696 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %697 = load i8*, i8** %696, align 4
  %698 = select i1 %695, i8* %697, i8* %690
  %699 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %698, i32 %692) #14
  %700 = load i32, i32* %693, align 4, !tbaa !81
  %701 = icmp ugt i32 %700, 15
  br i1 %701, label %702, label %726

; <label>:702:                                    ; preds = %687
  %703 = load i8*, i8** %696, align 4, !tbaa !12
  %704 = add i32 %700, 1
  %705 = icmp ugt i32 %704, 4095
  br i1 %705, label %706, label %723

; <label>:706:                                    ; preds = %702
  %707 = add i32 %700, 36
  %708 = icmp ugt i32 %704, -36
  br i1 %708, label %722, label %709

; <label>:709:                                    ; preds = %706
  %710 = ptrtoint i8* %703 to i32
  %711 = and i32 %710, 31
  %712 = icmp eq i32 %711, 0
  br i1 %712, label %713, label %722

; <label>:713:                                    ; preds = %709
  %714 = add i32 %710, -4
  %715 = inttoptr i32 %714 to i32*
  %716 = load i32, i32* %715, align 4, !tbaa !24
  %717 = icmp ult i32 %716, %710
  br i1 %717, label %718, label %722

; <label>:718:                                    ; preds = %713
  %719 = sub i32 %714, %716
  %720 = icmp ugt i32 %719, 31
  %721 = inttoptr i32 %716 to i8*
  br i1 %720, label %722, label %723

; <label>:722:                                    ; preds = %718, %713, %709, %706
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:723:                                    ; preds = %718, %702
  %724 = phi i8* [ %721, %718 ], [ %703, %702 ]
  %725 = phi i32 [ %707, %718 ], [ %704, %702 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %724, i32 %725) #14
  br label %726

; <label>:726:                                    ; preds = %723, %687
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %690) #14
  %727 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %728 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %729 = sub i32 %727, %728
  %730 = ashr exact i32 %729, 4
  %731 = add nsw i32 %730, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %731, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %689) #14
  br label %738

; <label>:732:                                    ; preds = %686, %648, %609, %578, %576, %545, %544, %506, %468, %430, %392, %354, %316, %278, %240, %202, %164, %126, %88, %46
  %733 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %734 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %735 = sub i32 %733, %734
  %736 = ashr exact i32 %735, 4
  %737 = add nsw i32 %736, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %737, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %738

; <label>:738:                                    ; preds = %732, %726, %43, %29
  %739 = phi i1 [ false, %43 ], [ false, %29 ], [ true, %732 ], [ true, %726 ]
  ret i1 %739
}

; Function Attrs: inlinehint nounwind
define linkonce_odr dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* dereferenceable(80), i8*, i32) local_unnamed_addr #1 comdat {
  %4 = bitcast %"class.std::basic_ostream"* %0 to i8*
  %5 = getelementptr inbounds %"class.std::basic_ostream", %"class.std::basic_ostream"* %0, i32 0, i32 0
  %6 = load i32*, i32** %5, align 8
  %7 = getelementptr inbounds i32, i32* %6, i32 1
  %8 = load i32, i32* %7, align 4
  %9 = getelementptr inbounds i8, i8* %4, i32 %8
  %10 = getelementptr inbounds i8, i8* %9, i32 32
  %11 = bitcast i8* %10 to i64*
  %12 = load i64, i64* %11, align 8, !tbaa !707
  %13 = icmp slt i64 %12, 1
  br i1 %13, label %19, label %14

; <label>:14:                                     ; preds = %3
  %15 = trunc i64 %12 to i32
  %16 = icmp ugt i32 %15, %2
  %17 = sub i32 %15, %2
  %18 = select i1 %16, i32 %17, i32 0
  br label %19

; <label>:19:                                     ; preds = %14, %3
  %20 = phi i32 [ 0, %3 ], [ %18, %14 ]
  %21 = getelementptr inbounds i8, i8* %9, i32 56
  %22 = bitcast i8* %21 to %"class.std::basic_streambuf"**
  %23 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %22, align 8, !tbaa !709
  %24 = icmp eq %"class.std::basic_streambuf"* %23, null
  br i1 %24, label %33, label %25

; <label>:25:                                     ; preds = %19
  %26 = bitcast %"class.std::basic_streambuf"* %23 to void (%"class.std::basic_streambuf"*)***
  %27 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %26, align 4, !tbaa !9
  %28 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %27, i32 1
  %29 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %28, align 4
  tail call x86_thiscallcc void %29(%"class.std::basic_streambuf"* nonnull %23) #14
  %30 = load i32*, i32** %5, align 8
  %31 = getelementptr inbounds i32, i32* %30, i32 1
  %32 = load i32, i32* %31, align 4
  br label %33

; <label>:33:                                     ; preds = %25, %19
  %34 = phi i32 [ %8, %19 ], [ %32, %25 ]
  %35 = getelementptr inbounds i8, i8* %4, i32 %34
  %36 = getelementptr inbounds i8, i8* %35, i32 12
  %37 = bitcast i8* %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !711
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %173

; <label>:40:                                     ; preds = %33
  %41 = getelementptr inbounds i8, i8* %35, i32 60
  %42 = bitcast i8* %41 to %"class.std::basic_ostream"**
  %43 = load %"class.std::basic_ostream"*, %"class.std::basic_ostream"** %42, align 4, !tbaa !712
  %44 = icmp eq %"class.std::basic_ostream"* %43, null
  %45 = icmp eq %"class.std::basic_ostream"* %43, %0
  %46 = or i1 %44, %45
  br i1 %46, label %57, label %47

; <label>:47:                                     ; preds = %40
  %48 = tail call x86_thiscallcc dereferenceable(80) %"class.std::basic_ostream"* @"\01?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ"(%"class.std::basic_ostream"* nonnull %43) #14
  %49 = load i32*, i32** %5, align 8
  %50 = getelementptr inbounds i32, i32* %49, i32 1
  %51 = load i32, i32* %50, align 4
  %52 = getelementptr inbounds i8, i8* %4, i32 %51
  %53 = getelementptr inbounds i8, i8* %52, i32 12
  %54 = bitcast i8* %53 to i32*
  %55 = load i32, i32* %54, align 4, !tbaa !711
  %56 = icmp eq i32 %55, 0
  br i1 %56, label %57, label %173

; <label>:57:                                     ; preds = %47, %40
  %58 = phi i32 [ %51, %47 ], [ %34, %40 ]
  %59 = getelementptr inbounds i8, i8* %4, i32 %58
  %60 = getelementptr inbounds i8, i8* %59, i32 20
  %61 = bitcast i8* %60 to i32*
  %62 = load i32, i32* %61, align 4, !tbaa !713
  %63 = and i32 %62, 448
  %64 = icmp eq i32 %63, 64
  br i1 %64, label %103, label %65

; <label>:65:                                     ; preds = %57
  %66 = icmp eq i32 %20, 0
  br i1 %66, label %103, label %67

; <label>:67:                                     ; preds = %65
  br label %68

; <label>:68:                                     ; preds = %97, %67
  %69 = phi i32 [ %102, %97 ], [ %58, %67 ]
  %70 = phi i32 [ %98, %97 ], [ %20, %67 ]
  %71 = getelementptr inbounds i8, i8* %4, i32 %69
  %72 = getelementptr inbounds i8, i8* %71, i32 56
  %73 = bitcast i8* %72 to %"class.std::basic_streambuf"**
  %74 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %73, align 8, !tbaa !709
  %75 = getelementptr inbounds i8, i8* %71, i32 64
  %76 = load i8, i8* %75, align 8, !tbaa !714
  %77 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %74, i32 0, i32 8
  %78 = load i8**, i8*** %77, align 4, !tbaa !715
  %79 = load i8*, i8** %78, align 4, !tbaa !23
  %80 = icmp eq i8* %79, null
  br i1 %80, label %89, label %81

; <label>:81:                                     ; preds = %68
  %82 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %74, i32 0, i32 12
  %83 = load i32*, i32** %82, align 4, !tbaa !717
  %84 = load i32, i32* %83, align 4, !tbaa !24
  %85 = icmp sgt i32 %84, 0
  br i1 %85, label %86, label %89

; <label>:86:                                     ; preds = %81
  %87 = add nsw i32 %84, -1
  store i32 %87, i32* %83, align 4, !tbaa !24
  %88 = getelementptr inbounds i8, i8* %79, i32 1
  store i8* %88, i8** %78, align 4, !tbaa !23
  store i8 %76, i8* %79, align 1, !tbaa !12
  br label %97

; <label>:89:                                     ; preds = %81, %68
  %90 = bitcast %"class.std::basic_streambuf"* %74 to i32 (%"class.std::basic_streambuf"*, i32)***
  %91 = load i32 (%"class.std::basic_streambuf"*, i32)**, i32 (%"class.std::basic_streambuf"*, i32)*** %90, align 4, !tbaa !9
  %92 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %91, i32 3
  %93 = load i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %92, align 4
  %94 = zext i8 %76 to i32
  %95 = tail call x86_thiscallcc i32 %93(%"class.std::basic_streambuf"* nonnull %74, i32 %94) #14
  %96 = icmp eq i32 %95, -1
  br i1 %96, label %119, label %97

; <label>:97:                                     ; preds = %89, %86
  %98 = add i32 %70, -1
  %99 = icmp eq i32 %98, 0
  %100 = load i32*, i32** %5, align 8
  %101 = getelementptr inbounds i32, i32* %100, i32 1
  %102 = load i32, i32* %101, align 4
  br i1 %99, label %103, label %68

; <label>:103:                                    ; preds = %97, %65, %57
  %104 = phi i32 [ %58, %57 ], [ %58, %65 ], [ %102, %97 ]
  %105 = phi i32 [ %20, %57 ], [ 0, %65 ], [ 0, %97 ]
  %106 = getelementptr inbounds i8, i8* %4, i32 %104
  %107 = getelementptr inbounds i8, i8* %106, i32 56
  %108 = bitcast i8* %107 to %"class.std::basic_streambuf"**
  %109 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %108, align 8, !tbaa !709
  %110 = zext i32 %2 to i64
  %111 = bitcast %"class.std::basic_streambuf"* %109 to i64 (%"class.std::basic_streambuf"*, i8*, i64)***
  %112 = load i64 (%"class.std::basic_streambuf"*, i8*, i64)**, i64 (%"class.std::basic_streambuf"*, i8*, i64)*** %111, align 4, !tbaa !9
  %113 = getelementptr inbounds i64 (%"class.std::basic_streambuf"*, i8*, i64)*, i64 (%"class.std::basic_streambuf"*, i8*, i64)** %112, i32 9
  %114 = load i64 (%"class.std::basic_streambuf"*, i8*, i64)*, i64 (%"class.std::basic_streambuf"*, i8*, i64)** %113, align 4
  %115 = tail call x86_thiscallcc i64 %114(%"class.std::basic_streambuf"* %109, i8* %1, i64 %110) #14
  %116 = icmp eq i64 %115, %110
  br i1 %116, label %117, label %156

; <label>:117:                                    ; preds = %103
  %118 = icmp eq i32 %105, 0
  br i1 %118, label %156, label %119

; <label>:119:                                    ; preds = %117, %89
  %120 = phi i32 [ 0, %117 ], [ 4, %89 ]
  %121 = phi i32 [ %105, %117 ], [ %70, %89 ]
  br label %125

; <label>:122:                                    ; preds = %148, %145
  %123 = add i32 %126, -1
  %124 = icmp eq i32 %123, 0
  br i1 %124, label %156, label %125

; <label>:125:                                    ; preds = %122, %119
  %126 = phi i32 [ %121, %119 ], [ %123, %122 ]
  %127 = load i32*, i32** %5, align 8
  %128 = getelementptr inbounds i32, i32* %127, i32 1
  %129 = load i32, i32* %128, align 4
  %130 = getelementptr inbounds i8, i8* %4, i32 %129
  %131 = getelementptr inbounds i8, i8* %130, i32 56
  %132 = bitcast i8* %131 to %"class.std::basic_streambuf"**
  %133 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %132, align 8, !tbaa !709
  %134 = getelementptr inbounds i8, i8* %130, i32 64
  %135 = load i8, i8* %134, align 8, !tbaa !714
  %136 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %133, i32 0, i32 8
  %137 = load i8**, i8*** %136, align 4, !tbaa !715
  %138 = load i8*, i8** %137, align 4, !tbaa !23
  %139 = icmp eq i8* %138, null
  br i1 %139, label %148, label %140

; <label>:140:                                    ; preds = %125
  %141 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %133, i32 0, i32 12
  %142 = load i32*, i32** %141, align 4, !tbaa !717
  %143 = load i32, i32* %142, align 4, !tbaa !24
  %144 = icmp sgt i32 %143, 0
  br i1 %144, label %145, label %148

; <label>:145:                                    ; preds = %140
  %146 = add nsw i32 %143, -1
  store i32 %146, i32* %142, align 4, !tbaa !24
  %147 = getelementptr inbounds i8, i8* %138, i32 1
  store i8* %147, i8** %137, align 4, !tbaa !23
  store i8 %135, i8* %138, align 1, !tbaa !12
  br label %122

; <label>:148:                                    ; preds = %140, %125
  %149 = bitcast %"class.std::basic_streambuf"* %133 to i32 (%"class.std::basic_streambuf"*, i32)***
  %150 = load i32 (%"class.std::basic_streambuf"*, i32)**, i32 (%"class.std::basic_streambuf"*, i32)*** %149, align 4, !tbaa !9
  %151 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %150, i32 3
  %152 = load i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %151, align 4
  %153 = zext i8 %135 to i32
  %154 = tail call x86_thiscallcc i32 %152(%"class.std::basic_streambuf"* nonnull %133, i32 %153) #14
  %155 = icmp eq i32 %154, -1
  br i1 %155, label %156, label %122

; <label>:156:                                    ; preds = %148, %122, %117, %103
  %157 = phi i32 [ 4, %103 ], [ 0, %117 ], [ 4, %148 ], [ %120, %122 ]
  %158 = load i32*, i32** %5, align 8
  %159 = getelementptr inbounds i32, i32* %158, i32 1
  %160 = load i32, i32* %159, align 4
  %161 = getelementptr inbounds i8, i8* %4, i32 %160
  %162 = getelementptr inbounds i8, i8* %161, i32 32
  %163 = bitcast i8* %162 to i64*
  store i64 0, i64* %163, align 8, !tbaa !707
  %164 = icmp eq i32 %157, 0
  br i1 %164, label %185, label %165

; <label>:165:                                    ; preds = %156
  %166 = load i32*, i32** %5, align 8
  %167 = getelementptr inbounds i32, i32* %166, i32 1
  %168 = load i32, i32* %167, align 4
  %169 = getelementptr inbounds i8, i8* %4, i32 %168
  %170 = getelementptr inbounds i8, i8* %169, i32 12
  %171 = bitcast i8* %170 to i32*
  %172 = load i32, i32* %171, align 4, !tbaa !711
  br label %173

; <label>:173:                                    ; preds = %165, %47, %33
  %174 = phi i32 [ %172, %165 ], [ %55, %47 ], [ %38, %33 ]
  %175 = phi i32 [ %168, %165 ], [ %51, %47 ], [ %34, %33 ]
  %176 = phi i32 [ %157, %165 ], [ 4, %47 ], [ 4, %33 ]
  %177 = getelementptr inbounds i8, i8* %4, i32 %175
  %178 = bitcast i8* %177 to %"class.std::ios_base"*
  %179 = getelementptr inbounds i8, i8* %177, i32 56
  %180 = bitcast i8* %179 to %"class.std::basic_streambuf"**
  %181 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %180, align 8, !tbaa !709
  %182 = icmp eq %"class.std::basic_streambuf"* %181, null
  %183 = select i1 %182, i32 4, i32 %176
  %184 = or i32 %183, %174
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %178, i32 %184, i1 zeroext false) #14
  br label %185

; <label>:185:                                    ; preds = %173, %156
  %186 = tail call i32 @"\01?uncaught_exceptions@std@@YAHXZ"() #14
  %187 = icmp eq i32 %186, 0
  br i1 %187, label %188, label %223

; <label>:188:                                    ; preds = %185
  %189 = load i32*, i32** %5, align 8
  %190 = getelementptr inbounds i32, i32* %189, i32 1
  %191 = load i32, i32* %190, align 4
  %192 = getelementptr inbounds i8, i8* %4, i32 %191
  %193 = getelementptr inbounds i8, i8* %192, i32 12
  %194 = bitcast i8* %193 to i32*
  %195 = load i32, i32* %194, align 4, !tbaa !711
  %196 = icmp eq i32 %195, 0
  br i1 %196, label %197, label %223

; <label>:197:                                    ; preds = %188
  %198 = getelementptr inbounds i8, i8* %192, i32 20
  %199 = bitcast i8* %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !713
  %201 = and i32 %200, 2
  %202 = icmp eq i32 %201, 0
  br i1 %202, label %223, label %203

; <label>:203:                                    ; preds = %197
  %204 = getelementptr inbounds i8, i8* %192, i32 56
  %205 = bitcast i8* %204 to %"class.std::basic_streambuf"**
  %206 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %205, align 8, !tbaa !709
  %207 = bitcast %"class.std::basic_streambuf"* %206 to i32 (%"class.std::basic_streambuf"*)***
  %208 = load i32 (%"class.std::basic_streambuf"*)**, i32 (%"class.std::basic_streambuf"*)*** %207, align 4, !tbaa !9
  %209 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %208, i32 13
  %210 = load i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %209, align 4
  %211 = tail call x86_thiscallcc i32 %210(%"class.std::basic_streambuf"* %206) #14
  %212 = icmp eq i32 %211, -1
  br i1 %212, label %213, label %223

; <label>:213:                                    ; preds = %203
  %214 = load i32*, i32** %5, align 8
  %215 = getelementptr inbounds i32, i32* %214, i32 1
  %216 = load i32, i32* %215, align 4
  %217 = getelementptr inbounds i8, i8* %4, i32 %216
  %218 = bitcast i8* %217 to %"class.std::ios_base"*
  %219 = getelementptr inbounds i8, i8* %217, i32 12
  %220 = bitcast i8* %219 to i32*
  %221 = load i32, i32* %220, align 4, !tbaa !711
  %222 = or i32 %221, 4
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %218, i32 %222, i1 zeroext false) #14
  br label %223

; <label>:223:                                    ; preds = %213, %203, %197, %188, %185
  %224 = load i32*, i32** %5, align 8
  %225 = getelementptr inbounds i32, i32* %224, i32 1
  %226 = load i32, i32* %225, align 4
  %227 = getelementptr inbounds i8, i8* %4, i32 %226
  %228 = getelementptr inbounds i8, i8* %227, i32 56
  %229 = bitcast i8* %228 to %"class.std::basic_streambuf"**
  %230 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %229, align 8, !tbaa !709
  %231 = icmp eq %"class.std::basic_streambuf"* %230, null
  br i1 %231, label %237, label %232

; <label>:232:                                    ; preds = %223
  %233 = bitcast %"class.std::basic_streambuf"* %230 to void (%"class.std::basic_streambuf"*)***
  %234 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %233, align 4, !tbaa !9
  %235 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %234, i32 2
  %236 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %235, align 4
  tail call x86_thiscallcc void %236(%"class.std::basic_streambuf"* nonnull %230) #14
  br label %237

; <label>:237:                                    ; preds = %232, %223
  ret %"class.std::basic_ostream"* %0
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(80) %"class.std::basic_ostream"* @"\01?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ"(%"class.std::basic_ostream"*) local_unnamed_addr #2 comdat align 2 {
  %2 = bitcast %"class.std::basic_ostream"* %0 to i8*
  %3 = getelementptr inbounds %"class.std::basic_ostream", %"class.std::basic_ostream"* %0, i32 0, i32 0
  %4 = load i32*, i32** %3, align 8
  %5 = getelementptr inbounds i32, i32* %4, i32 1
  %6 = load i32, i32* %5, align 4
  %7 = getelementptr inbounds i8, i8* %2, i32 %6
  %8 = getelementptr inbounds i8, i8* %7, i32 56
  %9 = bitcast i8* %8 to %"class.std::basic_streambuf"**
  %10 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %9, align 8, !tbaa !709
  %11 = icmp eq %"class.std::basic_streambuf"* %10, null
  br i1 %11, label %117, label %12

; <label>:12:                                     ; preds = %1
  %13 = bitcast %"class.std::basic_streambuf"* %10 to void (%"class.std::basic_streambuf"*)***
  %14 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %13, align 4, !tbaa !9
  %15 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %14, i32 1
  %16 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %15, align 4
  tail call x86_thiscallcc void %16(%"class.std::basic_streambuf"* nonnull %10) #14
  %17 = load i32*, i32** %3, align 8
  %18 = getelementptr inbounds i32, i32* %17, i32 1
  %19 = load i32, i32* %18, align 4
  %20 = getelementptr inbounds i8, i8* %2, i32 %19
  %21 = getelementptr inbounds i8, i8* %20, i32 12
  %22 = bitcast i8* %21 to i32*
  %23 = load i32, i32* %22, align 4, !tbaa !711
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %25, label %65

; <label>:25:                                     ; preds = %12
  %26 = getelementptr inbounds i8, i8* %2, i32 %19
  %27 = getelementptr inbounds i8, i8* %26, i32 60
  %28 = bitcast i8* %27 to %"class.std::basic_ostream"**
  %29 = load %"class.std::basic_ostream"*, %"class.std::basic_ostream"** %28, align 4, !tbaa !712
  %30 = icmp eq %"class.std::basic_ostream"* %29, null
  %31 = icmp eq %"class.std::basic_ostream"* %29, %0
  %32 = or i1 %30, %31
  br i1 %32, label %43, label %33

; <label>:33:                                     ; preds = %25
  %34 = tail call x86_thiscallcc dereferenceable(80) %"class.std::basic_ostream"* @"\01?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ"(%"class.std::basic_ostream"* nonnull %29) #14
  %35 = load i32*, i32** %3, align 8
  %36 = getelementptr inbounds i32, i32* %35, i32 1
  %37 = load i32, i32* %36, align 4
  %38 = getelementptr inbounds i8, i8* %2, i32 %37
  %39 = getelementptr inbounds i8, i8* %38, i32 12
  %40 = bitcast i8* %39 to i32*
  %41 = load i32, i32* %40, align 4, !tbaa !711
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %65

; <label>:43:                                     ; preds = %33, %25
  %44 = phi i32 [ %37, %33 ], [ %19, %25 ]
  %45 = getelementptr inbounds i8, i8* %2, i32 %44
  %46 = getelementptr inbounds i8, i8* %45, i32 56
  %47 = bitcast i8* %46 to %"class.std::basic_streambuf"**
  %48 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %47, align 8, !tbaa !709
  %49 = bitcast %"class.std::basic_streambuf"* %48 to i32 (%"class.std::basic_streambuf"*)***
  %50 = load i32 (%"class.std::basic_streambuf"*)**, i32 (%"class.std::basic_streambuf"*)*** %49, align 4, !tbaa !9
  %51 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %50, i32 13
  %52 = load i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %51, align 4
  %53 = tail call x86_thiscallcc i32 %52(%"class.std::basic_streambuf"* %48) #14
  %54 = icmp eq i32 %53, -1
  br i1 %54, label %55, label %65

; <label>:55:                                     ; preds = %43
  %56 = load i32*, i32** %3, align 8
  %57 = getelementptr inbounds i32, i32* %56, i32 1
  %58 = load i32, i32* %57, align 4
  %59 = getelementptr inbounds i8, i8* %2, i32 %58
  %60 = bitcast i8* %59 to %"class.std::ios_base"*
  %61 = getelementptr inbounds i8, i8* %59, i32 12
  %62 = bitcast i8* %61 to i32*
  %63 = load i32, i32* %62, align 4, !tbaa !711
  %64 = or i32 %63, 4
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %60, i32 %64, i1 zeroext false) #14
  br label %65

; <label>:65:                                     ; preds = %55, %43, %33, %12
  %66 = tail call i32 @"\01?uncaught_exceptions@std@@YAHXZ"() #14
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %103

; <label>:68:                                     ; preds = %65
  %69 = load i32*, i32** %3, align 8
  %70 = getelementptr inbounds i32, i32* %69, i32 1
  %71 = load i32, i32* %70, align 4
  %72 = getelementptr inbounds i8, i8* %2, i32 %71
  %73 = getelementptr inbounds i8, i8* %72, i32 12
  %74 = bitcast i8* %73 to i32*
  %75 = load i32, i32* %74, align 4, !tbaa !711
  %76 = icmp eq i32 %75, 0
  br i1 %76, label %77, label %103

; <label>:77:                                     ; preds = %68
  %78 = getelementptr inbounds i8, i8* %72, i32 20
  %79 = bitcast i8* %78 to i32*
  %80 = load i32, i32* %79, align 4, !tbaa !713
  %81 = and i32 %80, 2
  %82 = icmp eq i32 %81, 0
  br i1 %82, label %103, label %83

; <label>:83:                                     ; preds = %77
  %84 = getelementptr inbounds i8, i8* %72, i32 56
  %85 = bitcast i8* %84 to %"class.std::basic_streambuf"**
  %86 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %85, align 8, !tbaa !709
  %87 = bitcast %"class.std::basic_streambuf"* %86 to i32 (%"class.std::basic_streambuf"*)***
  %88 = load i32 (%"class.std::basic_streambuf"*)**, i32 (%"class.std::basic_streambuf"*)*** %87, align 4, !tbaa !9
  %89 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %88, i32 13
  %90 = load i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %89, align 4
  %91 = tail call x86_thiscallcc i32 %90(%"class.std::basic_streambuf"* %86) #14
  %92 = icmp eq i32 %91, -1
  br i1 %92, label %93, label %103

; <label>:93:                                     ; preds = %83
  %94 = load i32*, i32** %3, align 8
  %95 = getelementptr inbounds i32, i32* %94, i32 1
  %96 = load i32, i32* %95, align 4
  %97 = getelementptr inbounds i8, i8* %2, i32 %96
  %98 = bitcast i8* %97 to %"class.std::ios_base"*
  %99 = getelementptr inbounds i8, i8* %97, i32 12
  %100 = bitcast i8* %99 to i32*
  %101 = load i32, i32* %100, align 4, !tbaa !711
  %102 = or i32 %101, 4
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %98, i32 %102, i1 zeroext false) #14
  br label %103

; <label>:103:                                    ; preds = %93, %83, %77, %68, %65
  %104 = load i32*, i32** %3, align 8
  %105 = getelementptr inbounds i32, i32* %104, i32 1
  %106 = load i32, i32* %105, align 4
  %107 = getelementptr inbounds i8, i8* %2, i32 %106
  %108 = getelementptr inbounds i8, i8* %107, i32 56
  %109 = bitcast i8* %108 to %"class.std::basic_streambuf"**
  %110 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %109, align 8, !tbaa !709
  %111 = icmp eq %"class.std::basic_streambuf"* %110, null
  br i1 %111, label %117, label %112

; <label>:112:                                    ; preds = %103
  %113 = bitcast %"class.std::basic_streambuf"* %110 to void (%"class.std::basic_streambuf"*)***
  %114 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %113, align 4, !tbaa !9
  %115 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %114, i32 2
  %116 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %115, align 4
  tail call x86_thiscallcc void %116(%"class.std::basic_streambuf"* nonnull %110) #14
  br label %117

; <label>:117:                                    ; preds = %112, %103, %1
  ret %"class.std::basic_ostream"* %0
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"*, i32, i1 zeroext) local_unnamed_addr #2 comdat align 2 {
  %4 = alloca %"class.std::ios_base::failure", align 4
  %5 = alloca %"class.std::error_code", align 4
  %6 = alloca %"class.std::ios_base::failure", align 4
  %7 = alloca %"class.std::error_code", align 4
  %8 = alloca %"class.std::ios_base::failure", align 4
  %9 = alloca %"class.std::error_code", align 4
  %10 = and i32 %1, 23
  %11 = getelementptr inbounds %"class.std::ios_base", %"class.std::ios_base"* %0, i32 0, i32 3
  store i32 %10, i32* %11, align 4, !tbaa !711
  %12 = getelementptr inbounds %"class.std::ios_base", %"class.std::ios_base"* %0, i32 0, i32 4
  %13 = load i32, i32* %12, align 8, !tbaa !718
  %14 = and i32 %13, %10
  %15 = icmp eq i32 %14, 0
  br i1 %15, label %36, label %16

; <label>:16:                                     ; preds = %3
  br i1 %2, label %17, label %18

; <label>:17:                                     ; preds = %16
  tail call void @_CxxThrowException(i8* null, %eh.ThrowInfo* null) #12
  unreachable

; <label>:18:                                     ; preds = %16
  %19 = and i32 %14, 4
  %20 = icmp eq i32 %19, 0
  br i1 %20, label %25, label %21

; <label>:21:                                     ; preds = %18
  %22 = bitcast %"class.std::error_code"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %22) #14
  call void @"\01?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z"(%"class.std::error_code"* nonnull sret %5, i32 1) #14
  %23 = call x86_thiscallcc %"class.std::ios_base::failure"* @"\01??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z"(%"class.std::ios_base::failure"* nonnull %4, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@PHHKMMFD@ios_base?3?3badbit?5set?$AA@", i32 0, i32 0), %"class.std::error_code"* nonnull dereferenceable(8) %5)
  %24 = bitcast %"class.std::ios_base::failure"* %4 to i8*
  call void @_CxxThrowException(i8* nonnull %24, %eh.ThrowInfo* nonnull @"_TI5?AVfailure@ios_base@std@@") #12
  unreachable

; <label>:25:                                     ; preds = %18
  %26 = and i32 %14, 2
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %32, label %28

; <label>:28:                                     ; preds = %25
  %29 = bitcast %"class.std::error_code"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %29) #14
  call void @"\01?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z"(%"class.std::error_code"* nonnull sret %7, i32 1) #14
  %30 = call x86_thiscallcc %"class.std::ios_base::failure"* @"\01??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z"(%"class.std::ios_base::failure"* nonnull %6, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@FMKFHCIL@ios_base?3?3failbit?5set?$AA@", i32 0, i32 0), %"class.std::error_code"* nonnull dereferenceable(8) %7)
  %31 = bitcast %"class.std::ios_base::failure"* %6 to i8*
  call void @_CxxThrowException(i8* nonnull %31, %eh.ThrowInfo* nonnull @"_TI5?AVfailure@ios_base@std@@") #12
  unreachable

; <label>:32:                                     ; preds = %25
  %33 = bitcast %"class.std::error_code"* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %33) #14
  call void @"\01?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z"(%"class.std::error_code"* nonnull sret %9, i32 1) #14
  %34 = call x86_thiscallcc %"class.std::ios_base::failure"* @"\01??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z"(%"class.std::ios_base::failure"* nonnull %8, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@OOHOMBOF@ios_base?3?3eofbit?5set?$AA@", i32 0, i32 0), %"class.std::error_code"* nonnull dereferenceable(8) %9)
  %35 = bitcast %"class.std::ios_base::failure"* %8 to i8*
  call void @_CxxThrowException(i8* nonnull %35, %eh.ThrowInfo* nonnull @"_TI5?AVfailure@ios_base@std@@") #12
  unreachable

; <label>:36:                                     ; preds = %3
  ret void
}

; Function Attrs: nounwind
declare i32 @"\01?uncaught_exceptions@std@@YAHXZ"() local_unnamed_addr #5

declare dllimport x86_stdcallcc void @_CxxThrowException(i8*, %eh.ThrowInfo*) local_unnamed_addr

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01?make_error_code@std@@YA?AVerror_code@1@W4io_errc@1@@Z"(%"class.std::error_code"* noalias sret, i32) local_unnamed_addr #1 comdat {
  %3 = tail call i32 @"\01?_Execute_once@std@@YAHAAUonce_flag@1@P6GHPAX1PAPAX@Z1@Z"(%"struct.std::once_flag"* dereferenceable(4) bitcast (i8** @"\01?_Flag@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4PAXA" to %"struct.std::once_flag"*), i32 (i8*, i8*, i8**)* nonnull @"\01??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z", i8* bitcast (%"union.std::_Align_type.72"* @"\01?_Storage@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4T?$_Align_type@H$07@1@A" to i8*)) #14
  %4 = icmp eq i32 %3, 0
  br i1 %4, label %5, label %6

; <label>:5:                                      ; preds = %2
  tail call void @terminate() #12
  unreachable

; <label>:6:                                      ; preds = %2
  %7 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %0, i32 0, i32 0
  store i32 %1, i32* %7, align 4, !tbaa !719
  %8 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %0, i32 0, i32 1
  store %"class.std::error_category"* bitcast (%"union.std::_Align_type.72"* @"\01?_Storage@?1???$_Immortalize@V_Iostream_error_category@std@@@std@@YAAAV_Iostream_error_category@1@XZ@4T?$_Align_type@H$07@1@A" to %"class.std::error_category"*), %"class.std::error_category"** %8, align 4, !tbaa !721
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc %"class.std::ios_base::failure"* @"\01??0failure@ios_base@std@@QAE@PBDABVerror_code@2@@Z"(%"class.std::ios_base::failure"* returned, i8*, %"class.std::error_code"* dereferenceable(8)) unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0
  %5 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %2, i32 0, i32 0
  %6 = load i32, i32* %5, align 4
  %7 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %2, i32 0, i32 1
  %8 = load %"class.std::error_category"*, %"class.std::error_category"** %7, align 4
  %9 = tail call x86_thiscallcc %"class.std::system_error"* @"\01??0system_error@std@@QAE@Verror_code@1@PBD@Z"(%"class.std::system_error"* %4, i32 %6, %"class.std::error_category"* %8, i8* %1)
  %10 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7failure@ios_base@std@@6B@" to i32 (...)**), i32 (...)*** %10, align 4, !tbaa !9
  ret %"class.std::ios_base::failure"* %0
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??1exception@std@@UAE@XZ"(%"class.std::exception"*) unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %2, align 4, !tbaa !9
  %3 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %3) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc %"class.std::exception"* @"\01??0exception@std@@QAE@ABV01@@Z"(%"class.std::exception"* returned, %"class.std::exception"* dereferenceable(12)) unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %4 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 1
  %5 = bitcast %"class.std::_Yarn"* %4 to i64*
  store i64 0, i64* %5, align 4
  %6 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %1, i32 0, i32 1
  tail call void @__std_exception_copy(%"class.std::_Yarn"* %6, %"class.std::_Yarn"* %4) #14
  ret %"class.std::exception"* %0
}

declare void @__std_exception_copy(%"class.std::_Yarn"*, %"class.std::_Yarn"*) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_Gexception@std@@UAEPAXI@Z"(%"class.std::exception"*, i32) unnamed_addr #2 comdat align 2 {
  %3 = bitcast %"class.std::exception"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %5) #14
  %6 = icmp eq i32 %1, 0
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %8

; <label>:8:                                      ; preds = %7, %2
  ret i8* %3
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc i8* @"\01?what@exception@std@@UBEPBDXZ"(%"class.std::exception"*) unnamed_addr #0 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::exception", %"class.std::exception"* %0, i32 0, i32 1, i32 0
  %3 = load i8*, i8** %2, align 4, !tbaa !722
  %4 = icmp eq i8* %3, null
  %5 = select i1 %4, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@EOODALEL@Unknown?5exception?$AA@", i32 0, i32 0), i8* %3
  ret i8* %5
}

declare void @__std_exception_destroy(%"class.std::_Yarn"*) local_unnamed_addr #6

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc %"class.std::runtime_error"* @"\01??0runtime_error@std@@QAE@ABV01@@Z"(%"class.std::runtime_error"* returned, %"class.std::runtime_error"* dereferenceable(12)) unnamed_addr #1 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::runtime_error", %"class.std::runtime_error"* %0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %4 = getelementptr inbounds %"class.std::runtime_error", %"class.std::runtime_error"* %0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_Yarn"* %4 to i64*
  store i64 0, i64* %5, align 4
  %6 = getelementptr inbounds %"class.std::runtime_error", %"class.std::runtime_error"* %1, i32 0, i32 0, i32 1
  tail call void @__std_exception_copy(%"class.std::_Yarn"* %6, %"class.std::_Yarn"* %4) #14
  store i32 (...)** bitcast (i8** @"\01??_7runtime_error@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  ret %"class.std::runtime_error"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_Gruntime_error@std@@UAEPAXI@Z"(%"class.std::runtime_error"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::runtime_error"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::runtime_error", %"class.std::runtime_error"* %0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.std::runtime_error", %"class.std::runtime_error"* %0, i32 0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %5) #14
  %6 = icmp eq i32 %1, 0
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %8

; <label>:8:                                      ; preds = %7, %2
  ret i8* %3
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc %"class.std::_System_error"* @"\01??0_System_error@std@@QAE@ABV01@@Z"(%"class.std::_System_error"* returned, %"class.std::_System_error"* dereferenceable(20)) unnamed_addr #1 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %4 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_Yarn"* %4 to i64*
  store i64 0, i64* %5, align 4
  %6 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %1, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_copy(%"class.std::_Yarn"* %6, %"class.std::_Yarn"* %4) #14
  store i32 (...)** bitcast (i8** @"\01??_7_System_error@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %7 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 1
  %8 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %1, i32 0, i32 1
  %9 = bitcast %"class.std::error_code"* %8 to i64*
  %10 = bitcast %"class.std::error_code"* %7 to i64*
  %11 = load i64, i64* %9, align 4
  store i64 %11, i64* %10, align 4
  ret %"class.std::_System_error"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_G_System_error@std@@UAEPAXI@Z"(%"class.std::_System_error"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::_System_error"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %5) #14
  %6 = icmp eq i32 %1, 0
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %8

; <label>:8:                                      ; preds = %7, %2
  ret i8* %3
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc %"class.std::system_error"* @"\01??0system_error@std@@QAE@ABV01@@Z"(%"class.std::system_error"* returned, %"class.std::system_error"* dereferenceable(20)) unnamed_addr #1 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %4 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_Yarn"* %4 to i64*
  store i64 0, i64* %5, align 4
  %6 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_copy(%"class.std::_Yarn"* %6, %"class.std::_Yarn"* %4) #14
  store i32 (...)** bitcast (i8** @"\01??_7_System_error@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %7 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 1
  %8 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %1, i32 0, i32 0, i32 1
  %9 = bitcast %"class.std::error_code"* %8 to i64*
  %10 = bitcast %"class.std::error_code"* %7 to i64*
  %11 = load i64, i64* %9, align 4
  store i64 %11, i64* %10, align 4
  store i32 (...)** bitcast (i8** @"\01??_7system_error@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  ret %"class.std::system_error"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_Gsystem_error@std@@UAEPAXI@Z"(%"class.std::system_error"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::system_error"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %5) #14
  %6 = icmp eq i32 %1, 0
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %8

; <label>:8:                                      ; preds = %7, %2
  ret i8* %3
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc %"class.std::ios_base::failure"* @"\01??0failure@ios_base@std@@QAE@ABV012@@Z"(%"class.std::ios_base::failure"* returned, %"class.std::ios_base::failure"* dereferenceable(20)) unnamed_addr #1 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %4 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_Yarn"* %4 to i64*
  store i64 0, i64* %5, align 4
  %6 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_copy(%"class.std::_Yarn"* %6, %"class.std::_Yarn"* %4) #14
  store i32 (...)** bitcast (i8** @"\01??_7_System_error@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  %7 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 1
  %8 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %1, i32 0, i32 0, i32 0, i32 1
  %9 = bitcast %"class.std::error_code"* %8 to i64*
  %10 = bitcast %"class.std::error_code"* %7 to i64*
  %11 = load i64, i64* %9, align 4
  store i64 %11, i64* %10, align 4
  store i32 (...)** bitcast (i8** @"\01??_7failure@ios_base@std@@6B@" to i32 (...)**), i32 (...)*** %3, align 4, !tbaa !9
  ret %"class.std::ios_base::failure"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_Gfailure@ios_base@std@@UAEPAXI@Z"(%"class.std::ios_base::failure"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::ios_base::failure"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  %5 = getelementptr inbounds %"class.std::ios_base::failure", %"class.std::ios_base::failure"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  tail call void @__std_exception_destroy(%"class.std::_Yarn"* %5) #14
  %6 = icmp eq i32 %1, 0
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %8

; <label>:8:                                      ; preds = %7, %2
  ret i8* %3
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc %"class.std::system_error"* @"\01??0system_error@std@@QAE@Verror_code@1@PBD@Z"(%"class.std::system_error"* returned, i32, %"class.std::error_category"*, i8*) unnamed_addr #2 comdat align 2 {
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"class.std::basic_string", align 4
  %7 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0
  %8 = bitcast %"class.std::basic_string"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %8) #14
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  %11 = bitcast i32* %9 to i64*
  store i64 0, i64* %11, align 4
  store i32 15, i32* %10, align 4, !tbaa !81
  store i8 0, i8* %8, align 4, !tbaa !12
  %12 = tail call i32 @strlen(i8* %3) #14
  %13 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #14
  %14 = icmp ugt i32 %12, 15
  br i1 %14, label %17, label %15

; <label>:15:                                     ; preds = %4
  store i32 %12, i32* %9, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %8, i8* %3, i32 %12, i32 1, i1 false) #14
  %16 = getelementptr inbounds i8, i8* %8, i32 %12
  store i8 0, i8* %16, align 1, !tbaa !12
  br label %19

; <label>:17:                                     ; preds = %4
  %18 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %6, i32 %12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %3) #14
  br label %19

; <label>:19:                                     ; preds = %17, %15
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #14
  %20 = call x86_thiscallcc %"class.std::_System_error"* @"\01??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z"(%"class.std::_System_error"* %7, i32 %1, %"class.std::error_category"* %2, %"class.std::basic_string"* nonnull dereferenceable(24) %6)
  %21 = load i32, i32* %10, align 4, !tbaa !81
  %22 = icmp ugt i32 %21, 15
  br i1 %22, label %23, label %48

; <label>:23:                                     ; preds = %19
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %25 = load i8*, i8** %24, align 4, !tbaa !12
  %26 = add i32 %21, 1
  %27 = icmp ugt i32 %26, 4095
  br i1 %27, label %28, label %45

; <label>:28:                                     ; preds = %23
  %29 = add i32 %21, 36
  %30 = icmp ugt i32 %26, -36
  br i1 %30, label %44, label %31

; <label>:31:                                     ; preds = %28
  %32 = ptrtoint i8* %25 to i32
  %33 = and i32 %32, 31
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %35, label %44

; <label>:35:                                     ; preds = %31
  %36 = add i32 %32, -4
  %37 = inttoptr i32 %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !24
  %39 = icmp ult i32 %38, %32
  br i1 %39, label %40, label %44

; <label>:40:                                     ; preds = %35
  %41 = sub i32 %36, %38
  %42 = icmp ugt i32 %41, 31
  %43 = inttoptr i32 %38 to i8*
  br i1 %42, label %44, label %45

; <label>:44:                                     ; preds = %40, %35, %31, %28
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:45:                                     ; preds = %40, %23
  %46 = phi i8* [ %43, %40 ], [ %25, %23 ]
  %47 = phi i32 [ %29, %40 ], [ %26, %23 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %46, i32 %47) #14
  br label %48

; <label>:48:                                     ; preds = %45, %19
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %8) #14
  %49 = getelementptr inbounds %"class.std::system_error", %"class.std::system_error"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7system_error@std@@6B@" to i32 (...)**), i32 (...)*** %49, align 4, !tbaa !9
  ret %"class.std::system_error"* %0
}

; Function Attrs: argmemonly nounwind readonly
declare i32 @strlen(i8* nocapture) local_unnamed_addr #13

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc %"class.std::_System_error"* @"\01??0_System_error@std@@IAE@Verror_code@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z"(%"class.std::_System_error"* returned, i32, %"class.std::error_category"*, %"class.std::basic_string"* dereferenceable(24)) unnamed_addr #2 comdat align 2 {
  %5 = alloca %"class.std::_Yarn", align 4
  %6 = alloca %"class.std::basic_string", align 4
  %7 = bitcast %"class.std::basic_string"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %7) #14
  %8 = tail call i8* @llvm.stacksave()
  %9 = alloca inalloca <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, align 4
  %10 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 2
  %11 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %11, align 4, !tbaa !83
  %12 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %12, align 4, !tbaa !81
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  %14 = load i32, i32* %13, align 4, !tbaa !83
  %15 = bitcast %"class.std::basic_string"* %3 to i8*
  %16 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  %17 = load i32, i32* %16, align 4, !tbaa !81
  %18 = icmp ugt i32 %17, 15
  %19 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %20 = load i8*, i8** %19, align 4
  %21 = select i1 %18, i8* %20, i8* %15
  %22 = icmp ult i32 %14, 16
  br i1 %22, label %23, label %25

; <label>:23:                                     ; preds = %4
  %24 = bitcast %"class.std::basic_string"* %10 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* %21, i32 16, i32 1, i1 false) #14
  br label %47

; <label>:25:                                     ; preds = %4
  %26 = or i32 %14, 15
  %27 = icmp ult i32 %26, 2147483647
  %28 = select i1 %27, i32 %26, i32 2147483647
  %29 = icmp ugt i32 %28, 4094
  br i1 %29, label %30, label %39

; <label>:30:                                     ; preds = %25
  %31 = add nuw i32 %28, 36
  %32 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %31) #14
  %33 = ptrtoint i8* %32 to i32
  %34 = add i32 %33, 35
  %35 = and i32 %34, -32
  %36 = inttoptr i32 %35 to i8*
  %37 = inttoptr i32 %35 to i32*
  %38 = getelementptr inbounds i32, i32* %37, i32 -1
  store i32 %33, i32* %38, align 4, !tbaa !24
  br label %42

; <label>:39:                                     ; preds = %25
  %40 = add nuw i32 %28, 1
  %41 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %42

; <label>:42:                                     ; preds = %39, %30
  %43 = phi i8* [ %36, %30 ], [ %41, %39 ]
  %44 = ptrtoint i8* %43 to i32
  %45 = bitcast %"class.std::basic_string"* %10 to i32*
  store i32 %44, i32* %45, align 4, !tbaa !23
  %46 = add i32 %14, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %43, i8* %21, i32 %46, i32 1, i1 false) #14
  br label %47

; <label>:47:                                     ; preds = %42, %23
  %48 = phi i32 [ %28, %42 ], [ 15, %23 ]
  store i32 %14, i32* %11, align 4, !tbaa !83
  store i32 %48, i32* %12, align 4, !tbaa !81
  %49 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 1, i32 0
  store i32 %1, i32* %49, align 4
  %50 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 1, i32 1
  store %"class.std::error_category"* %2, %"class.std::error_category"** %50, align 4
  %51 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %9, i32 0, i32 0
  store %"class.std::basic_string"* %6, %"class.std::basic_string"** %51, align 4
  %52 = call %"class.std::basic_string"* @"\01?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z"(<{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* inalloca nonnull %9)
  call void @llvm.stackrestore(i8* %8)
  %53 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  %54 = load i32, i32* %53, align 4, !tbaa !81
  %55 = icmp ugt i32 %54, 15
  %56 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %57 = load i8*, i8** %56, align 4
  %58 = select i1 %55, i8* %57, i8* %7
  %59 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7exception@std@@6B@" to i32 (...)**), i32 (...)*** %59, align 4, !tbaa !9
  %60 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 0, i32 0, i32 1
  %61 = bitcast %"class.std::_Yarn"* %60 to i64*
  store i64 0, i64* %61, align 4
  %62 = bitcast %"class.std::_Yarn"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %62) #14
  %63 = getelementptr inbounds %"class.std::_Yarn", %"class.std::_Yarn"* %5, i32 0, i32 0
  store i8* %58, i8** %63, align 4, !tbaa !725
  %64 = getelementptr inbounds %"class.std::_Yarn", %"class.std::_Yarn"* %5, i32 0, i32 1
  store i8 1, i8* %64, align 4, !tbaa !726
  call void @__std_exception_copy(%"class.std::_Yarn"* nonnull %5, %"class.std::_Yarn"* %60) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %62) #14
  store i32 (...)** bitcast (i8** @"\01??_7runtime_error@std@@6B@" to i32 (...)**), i32 (...)*** %59, align 4, !tbaa !9
  %65 = load i32, i32* %53, align 4, !tbaa !81
  %66 = icmp ugt i32 %65, 15
  br i1 %66, label %67, label %91

; <label>:67:                                     ; preds = %47
  %68 = load i8*, i8** %56, align 4, !tbaa !12
  %69 = add i32 %65, 1
  %70 = icmp ugt i32 %69, 4095
  br i1 %70, label %71, label %88

; <label>:71:                                     ; preds = %67
  %72 = add i32 %65, 36
  %73 = icmp ugt i32 %69, -36
  br i1 %73, label %87, label %74

; <label>:74:                                     ; preds = %71
  %75 = ptrtoint i8* %68 to i32
  %76 = and i32 %75, 31
  %77 = icmp eq i32 %76, 0
  br i1 %77, label %78, label %87

; <label>:78:                                     ; preds = %74
  %79 = add i32 %75, -4
  %80 = inttoptr i32 %79 to i32*
  %81 = load i32, i32* %80, align 4, !tbaa !24
  %82 = icmp ult i32 %81, %75
  br i1 %82, label %83, label %87

; <label>:83:                                     ; preds = %78
  %84 = sub i32 %79, %81
  %85 = icmp ugt i32 %84, 31
  %86 = inttoptr i32 %81 to i8*
  br i1 %85, label %87, label %88

; <label>:87:                                     ; preds = %83, %78, %74, %71
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:88:                                     ; preds = %83, %67
  %89 = phi i8* [ %86, %83 ], [ %68, %67 ]
  %90 = phi i32 [ %72, %83 ], [ %69, %67 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %89, i32 %90) #14
  br label %91

; <label>:91:                                     ; preds = %88, %47
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %7) #14
  store i32 (...)** bitcast (i8** @"\01??_7_System_error@std@@6B@" to i32 (...)**), i32 (...)*** %59, align 4, !tbaa !9
  %92 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 1, i32 0
  store i32 %1, i32* %92, align 4
  %93 = getelementptr inbounds %"class.std::_System_error", %"class.std::_System_error"* %0, i32 0, i32 1, i32 1
  store %"class.std::error_category"* %2, %"class.std::error_category"** %93, align 4
  ret %"class.std::_System_error"* %0
}

; Function Attrs: nounwind
declare i8* @llvm.stacksave() #14

; Function Attrs: nounwind
define linkonce_odr %"class.std::basic_string"* @"\01?_Makestr@_System_error@std@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@Verror_code@2@V32@@Z"(<{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* inalloca) local_unnamed_addr #2 comdat align 2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 0
  %6 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4
  %7 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 2
  %8 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %9 = load i32, i32* %8, align 4, !tbaa !83
  %10 = icmp eq i32 %9, 0
  br i1 %10, label %11, label %13

; <label>:11:                                     ; preds = %1
  %12 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  br label %34

; <label>:13:                                     ; preds = %1
  %14 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %14) #14
  %15 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %16 = load i32, i32* %15, align 4, !tbaa !81
  %17 = sub i32 %16, %9
  %18 = icmp ult i32 %17, 2
  br i1 %18, label %31, label %19

; <label>:19:                                     ; preds = %13
  %20 = add i32 %9, 2
  store i32 %20, i32* %8, align 4, !tbaa !83
  %21 = bitcast %"class.std::basic_string"* %7 to i8*
  %22 = icmp ugt i32 %16, 15
  br i1 %22, label %23, label %26

; <label>:23:                                     ; preds = %19
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %25 = load i8*, i8** %24, align 4, !tbaa !12
  br label %26

; <label>:26:                                     ; preds = %23, %19
  %27 = phi i8* [ %25, %23 ], [ %21, %19 ]
  %28 = getelementptr inbounds i8, i8* %27, i32 %9
  %29 = bitcast i8* %28 to i16*
  store i16 8250, i16* %29, align 1
  %30 = getelementptr inbounds i8, i8* %27, i32 %20
  store i8 0, i8* %30, align 1, !tbaa !12
  br label %33

; <label>:31:                                     ; preds = %13
  %32 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %7, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02LMMGGCAJ@?3?5?$AA@", i32 0, i32 0), i32 2) #14
  br label %33

; <label>:33:                                     ; preds = %31, %26
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %14) #14
  br label %34

; <label>:34:                                     ; preds = %33, %11
  %35 = phi i32* [ %12, %11 ], [ %15, %33 ]
  %36 = bitcast %"class.std::basic_string"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %36) #14
  %37 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 1, i32 1
  %38 = load %"class.std::error_category"*, %"class.std::error_category"** %37, align 4, !tbaa !721, !noalias !727
  %39 = bitcast %"class.std::error_category"* %38 to void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)***
  %40 = load void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)**, void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)*** %39, align 4, !tbaa !9, !noalias !727
  %41 = getelementptr inbounds void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)*, void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)** %40, i32 2
  %42 = load void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)*, void (%"class.std::error_category"*, %"class.std::basic_string"*, i32)** %41, align 4, !noalias !727
  %43 = getelementptr inbounds <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>, <{ %"class.std::basic_string"*, %"class.std::error_code", %"class.std::basic_string" }>* %0, i32 0, i32 1, i32 0
  %44 = load i32, i32* %43, align 4, !tbaa !719, !noalias !727
  call x86_thiscallcc void %42(%"class.std::error_category"* nonnull %38, %"class.std::basic_string"* nonnull sret %4, i32 %44) #14
  %45 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %46 = load i32, i32* %45, align 4, !tbaa !83
  %47 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %48 = load i32, i32* %47, align 4, !tbaa !81
  %49 = icmp ugt i32 %48, 15
  %50 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %51 = load i8*, i8** %50, align 4
  %52 = select i1 %49, i8* %51, i8* %36
  %53 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %53) #14
  %54 = load i32, i32* %8, align 4, !tbaa !83
  %55 = load i32, i32* %35, align 4, !tbaa !81
  %56 = sub i32 %55, %54
  %57 = icmp ult i32 %56, %46
  br i1 %57, label %69, label %58

; <label>:58:                                     ; preds = %34
  %59 = add i32 %54, %46
  store i32 %59, i32* %8, align 4, !tbaa !83
  %60 = bitcast %"class.std::basic_string"* %7 to i8*
  %61 = icmp ugt i32 %55, 15
  br i1 %61, label %62, label %65

; <label>:62:                                     ; preds = %58
  %63 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load i8*, i8** %63, align 4, !tbaa !12
  br label %65

; <label>:65:                                     ; preds = %62, %58
  %66 = phi i8* [ %64, %62 ], [ %60, %58 ]
  %67 = getelementptr inbounds i8, i8* %66, i32 %54
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %67, i8* %52, i32 %46, i32 1, i1 false) #14
  %68 = getelementptr inbounds i8, i8* %66, i32 %59
  store i8 0, i8* %68, align 1, !tbaa !12
  br label %71

; <label>:69:                                     ; preds = %34
  %70 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %7, i32 %46, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %52, i32 %46) #14
  br label %71

; <label>:71:                                     ; preds = %69, %65
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %53) #14
  %72 = load i32, i32* %47, align 4, !tbaa !81
  %73 = icmp ugt i32 %72, 15
  br i1 %73, label %74, label %98

; <label>:74:                                     ; preds = %71
  %75 = load i8*, i8** %50, align 4, !tbaa !12
  %76 = add i32 %72, 1
  %77 = icmp ugt i32 %76, 4095
  br i1 %77, label %78, label %95

; <label>:78:                                     ; preds = %74
  %79 = add i32 %72, 36
  %80 = icmp ugt i32 %76, -36
  br i1 %80, label %94, label %81

; <label>:81:                                     ; preds = %78
  %82 = ptrtoint i8* %75 to i32
  %83 = and i32 %82, 31
  %84 = icmp eq i32 %83, 0
  br i1 %84, label %85, label %94

; <label>:85:                                     ; preds = %81
  %86 = add i32 %82, -4
  %87 = inttoptr i32 %86 to i32*
  %88 = load i32, i32* %87, align 4, !tbaa !24
  %89 = icmp ult i32 %88, %82
  br i1 %89, label %90, label %94

; <label>:90:                                     ; preds = %85
  %91 = sub i32 %86, %88
  %92 = icmp ugt i32 %91, 31
  %93 = inttoptr i32 %88 to i8*
  br i1 %92, label %94, label %95

; <label>:94:                                     ; preds = %90, %85, %81, %78
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:95:                                     ; preds = %90, %74
  %96 = phi i8* [ %93, %90 ], [ %75, %74 ]
  %97 = phi i32 [ %79, %90 ], [ %76, %74 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %96, i32 %97) #14
  br label %98

; <label>:98:                                     ; preds = %95, %71
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %36) #14
  %99 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %99, align 4, !tbaa !83
  %100 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %100, align 4, !tbaa !81
  %101 = bitcast %"class.std::basic_string"* %6 to i8*
  %102 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %101, i8* nonnull %102, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %8, align 4, !tbaa !83
  store i32 15, i32* %35, align 4, !tbaa !81
  store i8 0, i8* %102, align 1, !tbaa !12
  %103 = load %"class.std::basic_string"*, %"class.std::basic_string"** %5, align 4
  ret %"class.std::basic_string"* %103
}

; Function Attrs: nounwind
declare void @llvm.stackrestore(i8*) #14

; Function Attrs: inlinehint norecurse nounwind
define linkonce_odr x86_stdcallcc i32 @"\01??$_Immortalize_impl@V_Iostream_error_category@std@@@std@@YGHPAX0PAPAX@Z"(i8*, i8*, i8**) #7 comdat {
  %4 = bitcast i8* %1 to i32 (...)***
  %5 = getelementptr inbounds i8, i8* %1, i32 4
  %6 = bitcast i8* %5 to i32*
  store i32 (...)** bitcast (i8** @"\01??_7_Iostream_error_category@std@@6B@" to i32 (...)**), i32 (...)*** %4, align 4, !tbaa !9
  store i32 5, i32* %6, align 4, !tbaa !730
  ret i32 1
}

; Function Attrs: nounwind
declare i32 @"\01?_Execute_once@std@@YAHAAUonce_flag@1@P6GHPAX1PAPAX@Z1@Z"(%"struct.std::once_flag"* dereferenceable(4), i32 (i8*, i8*, i8**)*, i8*) local_unnamed_addr #5

; Function Attrs: noreturn nounwind
declare void @terminate() local_unnamed_addr #18

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_G_Iostream_error_category@std@@UAEPAXI@Z"(%"class.std::_Iostream_error_category"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::_Iostream_error_category"* %0 to i8*
  %4 = icmp eq i32 %1, 0
  br i1 %4, label %6, label %5

; <label>:5:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %6

; <label>:6:                                      ; preds = %5, %2
  ret i8* %3
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc i8* @"\01?name@_Iostream_error_category@std@@UBEPBDXZ"(%"class.std::_Iostream_error_category"*) unnamed_addr #0 comdat align 2 {
  ret i8* getelementptr inbounds ([9 x i8], [9 x i8]* @"\01??_C@_08LLGCOLLL@iostream?$AA@", i32 0, i32 0)
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?message@_Iostream_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z"(%"class.std::_Iostream_error_category"*, %"class.std::basic_string"* noalias sret, i32) unnamed_addr #2 comdat align 2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = icmp eq i32 %2, 1
  br i1 %6, label %7, label %14

; <label>:7:                                      ; preds = %3
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %10 = bitcast i32* %8 to i64*
  store i64 0, i64* %10, align 4
  store i32 15, i32* %9, align 4, !tbaa !81
  %11 = bitcast %"class.std::basic_string"* %1 to i8*
  store i8 0, i8* %11, align 4, !tbaa !12
  %12 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %12) #14
  %13 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %1, i32 21, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@PADBLCHM@iostream?5stream?5error?$AA@", i32 0, i32 0)) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %12) #14
  br label %28

; <label>:14:                                     ; preds = %3
  %15 = tail call i8* @"\01?_Syserror_map@std@@YAPBDH@Z"(i32 %2) #14, !noalias !732
  %16 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %18 = bitcast i32* %16 to i64*
  store i64 0, i64* %18, align 4, !alias.scope !732
  store i32 15, i32* %17, align 4, !tbaa !81, !alias.scope !732
  %19 = bitcast %"class.std::basic_string"* %1 to i8*
  store i8 0, i8* %19, align 4, !tbaa !12, !alias.scope !732
  %20 = tail call i32 @strlen(i8* %15) #14, !noalias !732
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14, !noalias !732
  %22 = icmp ugt i32 %20, 15
  br i1 %22, label %25, label %23

; <label>:23:                                     ; preds = %14
  store i32 %20, i32* %16, align 4, !tbaa !83, !alias.scope !732
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %19, i8* %15, i32 %20, i32 1, i1 false) #14
  %24 = getelementptr inbounds i8, i8* %19, i32 %20
  store i8 0, i8* %24, align 1, !tbaa !12, !alias.scope !732
  br label %27

; <label>:25:                                     ; preds = %14
  %26 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %1, i32 %20, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %15) #14
  br label %27

; <label>:27:                                     ; preds = %25, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14, !noalias !732
  br label %28

; <label>:28:                                     ; preds = %27, %7
  ret void
}

; Function Attrs: inlinehint norecurse nounwind
define linkonce_odr x86_thiscallcc void @"\01?default_error_condition@error_category@std@@UBE?AVerror_condition@2@H@Z"(%"class.std::error_category"*, %"class.std::error_code"* noalias sret, i32) unnamed_addr #7 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %1, i32 0, i32 0
  store i32 %2, i32* %4, align 4, !tbaa !735
  %5 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %1, i32 0, i32 1
  store %"class.std::error_category"* %0, %"class.std::error_category"** %5, align 4, !tbaa !737
  ret void
}

; Function Attrs: inlinehint norecurse nounwind
define linkonce_odr x86_thiscallcc zeroext i1 @"\01?equivalent@error_category@std@@UBE_NABVerror_code@2@H@Z"(%"class.std::error_category"*, %"class.std::error_code"* dereferenceable(8), i32) unnamed_addr #7 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %1, i32 0, i32 1
  %5 = load %"class.std::error_category"*, %"class.std::error_category"** %4, align 4, !tbaa !721
  %6 = getelementptr inbounds %"class.std::error_category", %"class.std::error_category"* %0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !730
  %8 = getelementptr inbounds %"class.std::error_category", %"class.std::error_category"* %5, i32 0, i32 1
  %9 = load i32, i32* %8, align 4, !tbaa !730
  %10 = icmp eq i32 %7, %9
  %11 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %1, i32 0, i32 0
  %12 = load i32, i32* %11, align 4
  %13 = icmp eq i32 %12, %2
  %14 = and i1 %10, %13
  ret i1 %14
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc zeroext i1 @"\01?equivalent@error_category@std@@UBE_NHABVerror_condition@2@@Z"(%"class.std::error_category"*, i32, %"class.std::error_code"* dereferenceable(8)) unnamed_addr #1 comdat align 2 {
  %4 = alloca %"class.std::error_code", align 4
  %5 = bitcast %"class.std::error_code"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %5) #14
  %6 = bitcast %"class.std::error_category"* %0 to void (%"class.std::error_category"*, %"class.std::error_code"*, i32)***
  %7 = load void (%"class.std::error_category"*, %"class.std::error_code"*, i32)**, void (%"class.std::error_category"*, %"class.std::error_code"*, i32)*** %6, align 4, !tbaa !9
  %8 = getelementptr inbounds void (%"class.std::error_category"*, %"class.std::error_code"*, i32)*, void (%"class.std::error_category"*, %"class.std::error_code"*, i32)** %7, i32 3
  %9 = load void (%"class.std::error_category"*, %"class.std::error_code"*, i32)*, void (%"class.std::error_category"*, %"class.std::error_code"*, i32)** %8, align 4
  call x86_thiscallcc void %9(%"class.std::error_category"* %0, %"class.std::error_code"* nonnull sret %4, i32 %1) #14
  %10 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %4, i32 0, i32 1
  %11 = load %"class.std::error_category"*, %"class.std::error_category"** %10, align 4, !tbaa !737
  %12 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %2, i32 0, i32 1
  %13 = load %"class.std::error_category"*, %"class.std::error_category"** %12, align 4, !tbaa !737
  %14 = getelementptr inbounds %"class.std::error_category", %"class.std::error_category"* %11, i32 0, i32 1
  %15 = load i32, i32* %14, align 4, !tbaa !730
  %16 = getelementptr inbounds %"class.std::error_category", %"class.std::error_category"* %13, i32 0, i32 1
  %17 = load i32, i32* %16, align 4, !tbaa !730
  %18 = icmp eq i32 %15, %17
  br i1 %18, label %19, label %25

; <label>:19:                                     ; preds = %3
  %20 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %4, i32 0, i32 0
  %21 = load i32, i32* %20, align 4, !tbaa !735
  %22 = getelementptr inbounds %"class.std::error_code", %"class.std::error_code"* %2, i32 0, i32 0
  %23 = load i32, i32* %22, align 4, !tbaa !735
  %24 = icmp eq i32 %21, %23
  br label %25

; <label>:25:                                     ; preds = %19, %3
  %26 = phi i1 [ false, %3 ], [ %24, %19 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %5) #14
  ret i1 %26
}

declare i8* @"\01?_Syserror_map@std@@YAPBDH@Z"(i32) local_unnamed_addr #6

; Function Attrs: nounwind
define zeroext i1 @builtinPrintStack() #2 {
  %1 = alloca %"class.std::basic_string", align 4
  %2 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23, !noalias !738
  %3 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23, !noalias !741
  %4 = icmp eq %class.variant.43* %3, %2
  br i1 %4, label %10, label %5

; <label>:5:                                      ; preds = %0
  %6 = bitcast %"class.std::basic_string"* %1 to i8*
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %11

; <label>:10:                                     ; preds = %45, %0
  ret i1 true

; <label>:11:                                     ; preds = %45, %5
  %12 = phi %class.variant.43* [ %2, %5 ], [ %47, %45 ]
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %6) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %1, %class.variant.43* nonnull dereferenceable(16) %12, i32 0) #14
  %13 = load i32, i32* %7, align 4, !tbaa !83
  %14 = load i32, i32* %8, align 4, !tbaa !81
  %15 = icmp ugt i32 %14, 15
  %16 = load i8*, i8** %9, align 4
  %17 = select i1 %15, i8* %16, i8* %6
  %18 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %17, i32 %13) #14
  %19 = load i32, i32* %8, align 4, !tbaa !81
  %20 = icmp ugt i32 %19, 15
  br i1 %20, label %21, label %45

; <label>:21:                                     ; preds = %11
  %22 = load i8*, i8** %9, align 4, !tbaa !12
  %23 = add i32 %19, 1
  %24 = icmp ugt i32 %23, 4095
  br i1 %24, label %25, label %42

; <label>:25:                                     ; preds = %21
  %26 = add i32 %19, 36
  %27 = icmp ugt i32 %23, -36
  br i1 %27, label %41, label %28

; <label>:28:                                     ; preds = %25
  %29 = ptrtoint i8* %22 to i32
  %30 = and i32 %29, 31
  %31 = icmp eq i32 %30, 0
  br i1 %31, label %32, label %41

; <label>:32:                                     ; preds = %28
  %33 = add i32 %29, -4
  %34 = inttoptr i32 %33 to i32*
  %35 = load i32, i32* %34, align 4, !tbaa !24
  %36 = icmp ult i32 %35, %29
  br i1 %36, label %37, label %41

; <label>:37:                                     ; preds = %32
  %38 = sub i32 %33, %35
  %39 = icmp ugt i32 %38, 31
  %40 = inttoptr i32 %35 to i8*
  br i1 %39, label %41, label %42

; <label>:41:                                     ; preds = %37, %32, %28, %25
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:42:                                     ; preds = %37, %21
  %43 = phi i8* [ %40, %37 ], [ %22, %21 ]
  %44 = phi i32 [ %26, %37 ], [ %23, %21 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %43, i32 %44) #14
  br label %45

; <label>:45:                                     ; preds = %42, %11
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %6) #14
  %46 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8 signext 10)
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 1
  %48 = icmp eq %class.variant.43* %3, %47
  br i1 %48, label %10, label %11
}

; Function Attrs: inlinehint nounwind
define linkonce_odr dereferenceable(80) %"class.std::basic_ostream"* @"\01??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z"(%"class.std::basic_ostream"* dereferenceable(80), i8 signext) local_unnamed_addr #1 comdat {
  %3 = bitcast %"class.std::basic_ostream"* %0 to i8*
  %4 = getelementptr inbounds %"class.std::basic_ostream", %"class.std::basic_ostream"* %0, i32 0, i32 0
  %5 = load i32*, i32** %4, align 8
  %6 = getelementptr inbounds i32, i32* %5, i32 1
  %7 = load i32, i32* %6, align 4
  %8 = getelementptr inbounds i8, i8* %3, i32 %7
  %9 = getelementptr inbounds i8, i8* %8, i32 56
  %10 = bitcast i8* %9 to %"class.std::basic_streambuf"**
  %11 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %10, align 8, !tbaa !709
  %12 = icmp eq %"class.std::basic_streambuf"* %11, null
  br i1 %12, label %21, label %13

; <label>:13:                                     ; preds = %2
  %14 = bitcast %"class.std::basic_streambuf"* %11 to void (%"class.std::basic_streambuf"*)***
  %15 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %14, align 4, !tbaa !9
  %16 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %15, i32 1
  %17 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %16, align 4
  tail call x86_thiscallcc void %17(%"class.std::basic_streambuf"* nonnull %11) #14
  %18 = load i32*, i32** %4, align 8
  %19 = getelementptr inbounds i32, i32* %18, i32 1
  %20 = load i32, i32* %19, align 4
  br label %21

; <label>:21:                                     ; preds = %13, %2
  %22 = phi i32 [ %7, %2 ], [ %20, %13 ]
  %23 = getelementptr inbounds i8, i8* %3, i32 %22
  %24 = getelementptr inbounds i8, i8* %23, i32 12
  %25 = bitcast i8* %24 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !711
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %183

; <label>:28:                                     ; preds = %21
  %29 = getelementptr inbounds i8, i8* %23, i32 60
  %30 = bitcast i8* %29 to %"class.std::basic_ostream"**
  %31 = load %"class.std::basic_ostream"*, %"class.std::basic_ostream"** %30, align 4, !tbaa !712
  %32 = icmp eq %"class.std::basic_ostream"* %31, null
  %33 = icmp eq %"class.std::basic_ostream"* %31, %0
  %34 = or i1 %32, %33
  br i1 %34, label %45, label %35

; <label>:35:                                     ; preds = %28
  %36 = tail call x86_thiscallcc dereferenceable(80) %"class.std::basic_ostream"* @"\01?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ"(%"class.std::basic_ostream"* nonnull %31) #14
  %37 = load i32*, i32** %4, align 8
  %38 = getelementptr inbounds i32, i32* %37, i32 1
  %39 = load i32, i32* %38, align 4
  %40 = getelementptr inbounds i8, i8* %3, i32 %39
  %41 = getelementptr inbounds i8, i8* %40, i32 12
  %42 = bitcast i8* %41 to i32*
  %43 = load i32, i32* %42, align 4, !tbaa !711
  %44 = icmp eq i32 %43, 0
  br i1 %44, label %45, label %183

; <label>:45:                                     ; preds = %35, %28
  %46 = phi i32 [ %39, %35 ], [ %22, %28 ]
  %47 = getelementptr inbounds i8, i8* %3, i32 %46
  %48 = getelementptr inbounds i8, i8* %47, i32 32
  %49 = bitcast i8* %48 to i64*
  %50 = load i64, i64* %49, align 8, !tbaa !707
  %51 = icmp slt i64 %50, 2
  %52 = add nsw i64 %50, -1
  %53 = select i1 %51, i64 0, i64 %52
  %54 = getelementptr inbounds i8, i8* %47, i32 20
  %55 = bitcast i8* %54 to i32*
  %56 = load i32, i32* %55, align 4, !tbaa !713
  %57 = and i32 %56, 448
  %58 = icmp eq i32 %57, 64
  br i1 %58, label %108, label %59

; <label>:59:                                     ; preds = %45
  %60 = icmp sgt i64 %53, 0
  br i1 %60, label %61, label %103

; <label>:61:                                     ; preds = %59
  br label %62

; <label>:62:                                     ; preds = %98, %61
  %63 = phi i32 [ %101, %98 ], [ %46, %61 ]
  %64 = phi i64 [ %94, %98 ], [ %53, %61 ]
  %65 = getelementptr inbounds i8, i8* %3, i32 %63
  %66 = getelementptr inbounds i8, i8* %65, i32 56
  %67 = bitcast i8* %66 to %"class.std::basic_streambuf"**
  %68 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %67, align 8, !tbaa !709
  %69 = getelementptr inbounds i8, i8* %65, i32 64
  %70 = load i8, i8* %69, align 8, !tbaa !714
  %71 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %68, i32 0, i32 8
  %72 = load i8**, i8*** %71, align 4, !tbaa !715
  %73 = load i8*, i8** %72, align 4, !tbaa !23
  %74 = icmp eq i8* %73, null
  br i1 %74, label %84, label %75

; <label>:75:                                     ; preds = %62
  %76 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %68, i32 0, i32 12
  %77 = load i32*, i32** %76, align 4, !tbaa !717
  %78 = load i32, i32* %77, align 4, !tbaa !24
  %79 = icmp sgt i32 %78, 0
  br i1 %79, label %80, label %84

; <label>:80:                                     ; preds = %75
  %81 = add nsw i32 %78, -1
  store i32 %81, i32* %77, align 4, !tbaa !24
  %82 = getelementptr inbounds i8, i8* %73, i32 1
  store i8* %82, i8** %72, align 4, !tbaa !23
  store i8 %70, i8* %73, align 1, !tbaa !12
  %83 = zext i8 %70 to i32
  br label %91

; <label>:84:                                     ; preds = %75, %62
  %85 = bitcast %"class.std::basic_streambuf"* %68 to i32 (%"class.std::basic_streambuf"*, i32)***
  %86 = load i32 (%"class.std::basic_streambuf"*, i32)**, i32 (%"class.std::basic_streambuf"*, i32)*** %85, align 4, !tbaa !9
  %87 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %86, i32 3
  %88 = load i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %87, align 4
  %89 = zext i8 %70 to i32
  %90 = tail call x86_thiscallcc i32 %88(%"class.std::basic_streambuf"* nonnull %68, i32 %89) #14
  br label %91

; <label>:91:                                     ; preds = %84, %80
  %92 = phi i32 [ %83, %80 ], [ %90, %84 ]
  %93 = icmp eq i32 %92, -1
  %94 = add nsw i64 %64, -1
  %95 = xor i1 %93, true
  %96 = icmp sgt i64 %64, 1
  %97 = and i1 %96, %95
  br i1 %97, label %98, label %102

; <label>:98:                                     ; preds = %91
  %99 = load i32*, i32** %4, align 8
  %100 = getelementptr inbounds i32, i32* %99, i32 1
  %101 = load i32, i32* %100, align 4
  br label %62

; <label>:102:                                    ; preds = %91
  br i1 %93, label %183, label %103

; <label>:103:                                    ; preds = %102, %59
  %104 = phi i64 [ %94, %102 ], [ %53, %59 ]
  %105 = load i32*, i32** %4, align 8
  %106 = getelementptr inbounds i32, i32* %105, i32 1
  %107 = load i32, i32* %106, align 4
  br label %108

; <label>:108:                                    ; preds = %103, %45
  %109 = phi i32 [ %107, %103 ], [ %46, %45 ]
  %110 = phi i64 [ %104, %103 ], [ %53, %45 ]
  %111 = getelementptr inbounds i8, i8* %3, i32 %109
  %112 = getelementptr inbounds i8, i8* %111, i32 56
  %113 = bitcast i8* %112 to %"class.std::basic_streambuf"**
  %114 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %113, align 8, !tbaa !709
  %115 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %114, i32 0, i32 8
  %116 = load i8**, i8*** %115, align 4, !tbaa !715
  %117 = load i8*, i8** %116, align 4, !tbaa !23
  %118 = icmp eq i8* %117, null
  br i1 %118, label %128, label %119

; <label>:119:                                    ; preds = %108
  %120 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %114, i32 0, i32 12
  %121 = load i32*, i32** %120, align 4, !tbaa !717
  %122 = load i32, i32* %121, align 4, !tbaa !24
  %123 = icmp sgt i32 %122, 0
  br i1 %123, label %124, label %128

; <label>:124:                                    ; preds = %119
  %125 = add nsw i32 %122, -1
  store i32 %125, i32* %121, align 4, !tbaa !24
  %126 = getelementptr inbounds i8, i8* %117, i32 1
  store i8* %126, i8** %116, align 4, !tbaa !23
  store i8 %1, i8* %117, align 1, !tbaa !12
  %127 = zext i8 %1 to i32
  br label %135

; <label>:128:                                    ; preds = %119, %108
  %129 = bitcast %"class.std::basic_streambuf"* %114 to i32 (%"class.std::basic_streambuf"*, i32)***
  %130 = load i32 (%"class.std::basic_streambuf"*, i32)**, i32 (%"class.std::basic_streambuf"*, i32)*** %129, align 4, !tbaa !9
  %131 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %130, i32 3
  %132 = load i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %131, align 4
  %133 = zext i8 %1 to i32
  %134 = tail call x86_thiscallcc i32 %132(%"class.std::basic_streambuf"* nonnull %114, i32 %133) #14
  br label %135

; <label>:135:                                    ; preds = %128, %124
  %136 = phi i32 [ %127, %124 ], [ %134, %128 ]
  %137 = icmp eq i32 %136, -1
  %138 = select i1 %137, i32 4, i32 0
  %139 = xor i1 %137, true
  %140 = icmp sgt i64 %110, 0
  %141 = and i1 %140, %139
  br i1 %141, label %142, label %183

; <label>:142:                                    ; preds = %135
  br label %143

; <label>:143:                                    ; preds = %174, %142
  %144 = phi i64 [ %177, %174 ], [ %110, %142 ]
  %145 = load i32*, i32** %4, align 8
  %146 = getelementptr inbounds i32, i32* %145, i32 1
  %147 = load i32, i32* %146, align 4
  %148 = getelementptr inbounds i8, i8* %3, i32 %147
  %149 = getelementptr inbounds i8, i8* %148, i32 56
  %150 = bitcast i8* %149 to %"class.std::basic_streambuf"**
  %151 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %150, align 8, !tbaa !709
  %152 = getelementptr inbounds i8, i8* %148, i32 64
  %153 = load i8, i8* %152, align 8, !tbaa !714
  %154 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %151, i32 0, i32 8
  %155 = load i8**, i8*** %154, align 4, !tbaa !715
  %156 = load i8*, i8** %155, align 4, !tbaa !23
  %157 = icmp eq i8* %156, null
  br i1 %157, label %167, label %158

; <label>:158:                                    ; preds = %143
  %159 = getelementptr inbounds %"class.std::basic_streambuf", %"class.std::basic_streambuf"* %151, i32 0, i32 12
  %160 = load i32*, i32** %159, align 4, !tbaa !717
  %161 = load i32, i32* %160, align 4, !tbaa !24
  %162 = icmp sgt i32 %161, 0
  br i1 %162, label %163, label %167

; <label>:163:                                    ; preds = %158
  %164 = add nsw i32 %161, -1
  store i32 %164, i32* %160, align 4, !tbaa !24
  %165 = getelementptr inbounds i8, i8* %156, i32 1
  store i8* %165, i8** %155, align 4, !tbaa !23
  store i8 %153, i8* %156, align 1, !tbaa !12
  %166 = zext i8 %153 to i32
  br label %174

; <label>:167:                                    ; preds = %158, %143
  %168 = bitcast %"class.std::basic_streambuf"* %151 to i32 (%"class.std::basic_streambuf"*, i32)***
  %169 = load i32 (%"class.std::basic_streambuf"*, i32)**, i32 (%"class.std::basic_streambuf"*, i32)*** %168, align 4, !tbaa !9
  %170 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %169, i32 3
  %171 = load i32 (%"class.std::basic_streambuf"*, i32)*, i32 (%"class.std::basic_streambuf"*, i32)** %170, align 4
  %172 = zext i8 %153 to i32
  %173 = tail call x86_thiscallcc i32 %171(%"class.std::basic_streambuf"* nonnull %151, i32 %172) #14
  br label %174

; <label>:174:                                    ; preds = %167, %163
  %175 = phi i32 [ %166, %163 ], [ %173, %167 ]
  %176 = icmp eq i32 %175, -1
  %177 = add nsw i64 %144, -1
  %178 = xor i1 %176, true
  %179 = icmp sgt i64 %144, 1
  %180 = and i1 %179, %178
  br i1 %180, label %143, label %181

; <label>:181:                                    ; preds = %174
  %182 = select i1 %176, i32 4, i32 0
  br label %183

; <label>:183:                                    ; preds = %181, %135, %102, %35, %21
  %184 = phi i32 [ 0, %35 ], [ 0, %21 ], [ %138, %135 ], [ 4, %102 ], [ %182, %181 ]
  %185 = load i32*, i32** %4, align 8
  %186 = getelementptr inbounds i32, i32* %185, i32 1
  %187 = load i32, i32* %186, align 4
  %188 = getelementptr inbounds i8, i8* %3, i32 %187
  %189 = getelementptr inbounds i8, i8* %188, i32 32
  %190 = bitcast i8* %189 to i64*
  store i64 0, i64* %190, align 8, !tbaa !707
  %191 = load i32*, i32** %4, align 8
  %192 = getelementptr inbounds i32, i32* %191, i32 1
  %193 = load i32, i32* %192, align 4
  %194 = getelementptr inbounds i8, i8* %3, i32 %193
  %195 = icmp eq i32 %184, 0
  br i1 %195, label %207, label %196

; <label>:196:                                    ; preds = %183
  %197 = bitcast i8* %194 to %"class.std::ios_base"*
  %198 = getelementptr inbounds i8, i8* %194, i32 12
  %199 = bitcast i8* %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !711
  %201 = getelementptr inbounds i8, i8* %194, i32 56
  %202 = bitcast i8* %201 to %"class.std::basic_streambuf"**
  %203 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %202, align 8, !tbaa !709
  %204 = icmp eq %"class.std::basic_streambuf"* %203, null
  %205 = select i1 %204, i32 4, i32 %184
  %206 = or i32 %200, %205
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %197, i32 %206, i1 zeroext false) #14
  br label %207

; <label>:207:                                    ; preds = %196, %183
  %208 = tail call i32 @"\01?uncaught_exceptions@std@@YAHXZ"() #14
  %209 = icmp eq i32 %208, 0
  br i1 %209, label %210, label %245

; <label>:210:                                    ; preds = %207
  %211 = load i32*, i32** %4, align 8
  %212 = getelementptr inbounds i32, i32* %211, i32 1
  %213 = load i32, i32* %212, align 4
  %214 = getelementptr inbounds i8, i8* %3, i32 %213
  %215 = getelementptr inbounds i8, i8* %214, i32 12
  %216 = bitcast i8* %215 to i32*
  %217 = load i32, i32* %216, align 4, !tbaa !711
  %218 = icmp eq i32 %217, 0
  br i1 %218, label %219, label %245

; <label>:219:                                    ; preds = %210
  %220 = getelementptr inbounds i8, i8* %214, i32 20
  %221 = bitcast i8* %220 to i32*
  %222 = load i32, i32* %221, align 4, !tbaa !713
  %223 = and i32 %222, 2
  %224 = icmp eq i32 %223, 0
  br i1 %224, label %245, label %225

; <label>:225:                                    ; preds = %219
  %226 = getelementptr inbounds i8, i8* %214, i32 56
  %227 = bitcast i8* %226 to %"class.std::basic_streambuf"**
  %228 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %227, align 8, !tbaa !709
  %229 = bitcast %"class.std::basic_streambuf"* %228 to i32 (%"class.std::basic_streambuf"*)***
  %230 = load i32 (%"class.std::basic_streambuf"*)**, i32 (%"class.std::basic_streambuf"*)*** %229, align 4, !tbaa !9
  %231 = getelementptr inbounds i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %230, i32 13
  %232 = load i32 (%"class.std::basic_streambuf"*)*, i32 (%"class.std::basic_streambuf"*)** %231, align 4
  %233 = tail call x86_thiscallcc i32 %232(%"class.std::basic_streambuf"* %228) #14
  %234 = icmp eq i32 %233, -1
  br i1 %234, label %235, label %245

; <label>:235:                                    ; preds = %225
  %236 = load i32*, i32** %4, align 8
  %237 = getelementptr inbounds i32, i32* %236, i32 1
  %238 = load i32, i32* %237, align 4
  %239 = getelementptr inbounds i8, i8* %3, i32 %238
  %240 = bitcast i8* %239 to %"class.std::ios_base"*
  %241 = getelementptr inbounds i8, i8* %239, i32 12
  %242 = bitcast i8* %241 to i32*
  %243 = load i32, i32* %242, align 4, !tbaa !711
  %244 = or i32 %243, 4
  tail call x86_thiscallcc void @"\01?clear@ios_base@std@@QAEXH_N@Z"(%"class.std::ios_base"* %240, i32 %244, i1 zeroext false) #14
  br label %245

; <label>:245:                                    ; preds = %235, %225, %219, %210, %207
  %246 = load i32*, i32** %4, align 8
  %247 = getelementptr inbounds i32, i32* %246, i32 1
  %248 = load i32, i32* %247, align 4
  %249 = getelementptr inbounds i8, i8* %3, i32 %248
  %250 = getelementptr inbounds i8, i8* %249, i32 56
  %251 = bitcast i8* %250 to %"class.std::basic_streambuf"**
  %252 = load %"class.std::basic_streambuf"*, %"class.std::basic_streambuf"** %251, align 8, !tbaa !709
  %253 = icmp eq %"class.std::basic_streambuf"* %252, null
  br i1 %253, label %259, label %254

; <label>:254:                                    ; preds = %245
  %255 = bitcast %"class.std::basic_streambuf"* %252 to void (%"class.std::basic_streambuf"*)***
  %256 = load void (%"class.std::basic_streambuf"*)**, void (%"class.std::basic_streambuf"*)*** %255, align 4, !tbaa !9
  %257 = getelementptr inbounds void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %256, i32 2
  %258 = load void (%"class.std::basic_streambuf"*)*, void (%"class.std::basic_streambuf"*)** %257, align 4
  tail call x86_thiscallcc void %258(%"class.std::basic_streambuf"* nonnull %252) #14
  br label %259

; <label>:259:                                    ; preds = %254, %245
  ret %"class.std::basic_ostream"* %0
}

; Function Attrs: nounwind
define zeroext i1 @builtinRcp() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %57

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %57

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %44 [
    i32 11, label %36
    i32 12, label %40
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fdiv float 1.000000e+00, %38
  store float %39, float* %37, align 4, !tbaa !70
  br label %57

; <label>:40:                                     ; preds = %31
  %41 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %42 = load double, double* %41, align 8, !tbaa !72
  %43 = fdiv double 1.000000e+00, %42
  store double %43, double* %41, align 8, !tbaa !72
  br label %57

; <label>:44:                                     ; preds = %31
  %45 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %46 = icmp eq i32 %45, 0
  br i1 %46, label %47, label %57

; <label>:47:                                     ; preds = %44
  %48 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %48) #14
  %49 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %50 = icmp ult i32 %49, 16
  br i1 %50, label %54, label %51

; <label>:51:                                     ; preds = %47
  %52 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %52, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %52, i32 16
  store i8 0, i8* %53, align 1, !tbaa !12
  br label %56

; <label>:54:                                     ; preds = %47
  %55 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %56

; <label>:56:                                     ; preds = %54, %51
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %48) #14
  br label %57

; <label>:57:                                     ; preds = %56, %44, %40, %36, %28, %14
  %58 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %56 ], [ false, %44 ], [ true, %40 ], [ true, %36 ]
  ret i1 %58
}

; Function Attrs: nounwind
define zeroext i1 @builtinReadMemory() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %128

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %128

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %38 = load i32, i32* %37, align 8, !tbaa !535
  %39 = icmp eq i32 %38, 10
  br i1 %39, label %53, label %40

; <label>:40:                                     ; preds = %33
  %41 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %128

; <label>:43:                                     ; preds = %40
  %44 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %44) #14
  %45 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %46 = icmp ult i32 %45, 16
  br i1 %46, label %50, label %47

; <label>:47:                                     ; preds = %43
  %48 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %49 = getelementptr inbounds i8, i8* %48, i32 16
  store i8 0, i8* %49, align 1, !tbaa !12
  br label %52

; <label>:50:                                     ; preds = %43
  %51 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %52

; <label>:52:                                     ; preds = %50, %47
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %44) #14
  br label %128

; <label>:53:                                     ; preds = %33
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %55 = bitcast %class.variant.43* %54 to i8**
  %56 = load i8*, i8** %55, align 4, !tbaa !540
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %58 = load i32, i32* %57, align 8, !tbaa !535
  switch i32 %58, label %108 [
    i32 0, label %59
    i32 1, label %62
    i32 2, label %65
    i32 3, label %69
    i32 4, label %73
    i32 5, label %77
    i32 6, label %81
    i32 7, label %84
    i32 8, label %88
    i32 9, label %92
    i32 10, label %96
    i32 11, label %100
    i32 12, label %104
  ]

; <label>:59:                                     ; preds = %53
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %56, align 1, !tbaa !566, !range !382
  store i8 %61, i8* %60, align 8, !tbaa !566
  br label %121

; <label>:62:                                     ; preds = %53
  %63 = bitcast %class.variant.43* %36 to i8*
  %64 = load i8, i8* %56, align 1, !tbaa !12
  store i8 %64, i8* %63, align 8, !tbaa !12
  br label %121

; <label>:65:                                     ; preds = %53
  %66 = bitcast i8* %56 to i16*
  %67 = bitcast %class.variant.43* %36 to i16*
  %68 = load i16, i16* %66, align 2, !tbaa !59
  store i16 %68, i16* %67, align 8, !tbaa !59
  br label %121

; <label>:69:                                     ; preds = %53
  %70 = bitcast i8* %56 to i32*
  %71 = bitcast %class.variant.43* %36 to i32*
  %72 = load i32, i32* %70, align 4, !tbaa !24
  store i32 %72, i32* %71, align 8, !tbaa !24
  br label %121

; <label>:73:                                     ; preds = %53
  %74 = bitcast i8* %56 to i64*
  %75 = bitcast %class.variant.43* %36 to i64*
  %76 = load i64, i64* %74, align 8, !tbaa !61
  store i64 %76, i64* %75, align 8, !tbaa !61
  br label %121

; <label>:77:                                     ; preds = %53
  %78 = bitcast i8* %56 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = bitcast %class.variant.43* %36 to i32*
  store i32 %79, i32* %80, align 4, !tbaa !24
  br label %121

; <label>:81:                                     ; preds = %53
  %82 = bitcast %class.variant.43* %36 to i8*
  %83 = load i8, i8* %56, align 1, !tbaa !12
  store i8 %83, i8* %82, align 8, !tbaa !12
  br label %121

; <label>:84:                                     ; preds = %53
  %85 = bitcast i8* %56 to i16*
  %86 = bitcast %class.variant.43* %36 to i16*
  %87 = load i16, i16* %85, align 2, !tbaa !59
  store i16 %87, i16* %86, align 8, !tbaa !59
  br label %121

; <label>:88:                                     ; preds = %53
  %89 = bitcast i8* %56 to i32*
  %90 = bitcast %class.variant.43* %36 to i32*
  %91 = load i32, i32* %89, align 4, !tbaa !24
  store i32 %91, i32* %90, align 8, !tbaa !24
  br label %121

; <label>:92:                                     ; preds = %53
  %93 = bitcast i8* %56 to i64*
  %94 = bitcast %class.variant.43* %36 to i64*
  %95 = load i64, i64* %93, align 8, !tbaa !61
  store i64 %95, i64* %94, align 8, !tbaa !61
  br label %121

; <label>:96:                                     ; preds = %53
  %97 = bitcast i8* %56 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !24
  %99 = bitcast %class.variant.43* %36 to i32*
  store i32 %98, i32* %99, align 4, !tbaa !24
  br label %121

; <label>:100:                                    ; preds = %53
  %101 = bitcast i8* %56 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !70
  %103 = bitcast %class.variant.43* %36 to i32*
  store i32 %102, i32* %103, align 8, !tbaa !70
  br label %121

; <label>:104:                                    ; preds = %53
  %105 = bitcast i8* %56 to double*
  %106 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %107 = load double, double* %105, align 8, !tbaa !72
  store double %107, double* %106, align 8, !tbaa !72
  br label %121

; <label>:108:                                    ; preds = %53
  %109 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %110 = icmp eq i32 %109, 0
  br i1 %110, label %111, label %128

; <label>:111:                                    ; preds = %108
  %112 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %112) #14
  %113 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %114 = icmp ult i32 %113, 16
  br i1 %114, label %118, label %115

; <label>:115:                                    ; preds = %111
  %116 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %116, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %117 = getelementptr inbounds i8, i8* %116, i32 16
  store i8 0, i8* %117, align 1, !tbaa !12
  br label %120

; <label>:118:                                    ; preds = %111
  %119 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %120

; <label>:120:                                    ; preds = %118, %115
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %112) #14
  br label %128

; <label>:121:                                    ; preds = %104, %100, %96, %92, %88, %84, %81, %77, %73, %69, %65, %62, %59
  %122 = phi i32 [ 12, %104 ], [ 11, %100 ], [ 10, %96 ], [ 9, %92 ], [ 8, %88 ], [ 7, %84 ], [ 6, %81 ], [ 5, %77 ], [ 4, %73 ], [ 3, %69 ], [ 2, %65 ], [ 1, %62 ], [ 0, %59 ]
  store i32 %122, i32* %57, align 8, !tbaa !535
  %123 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %124 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %125 = sub i32 %123, %124
  %126 = ashr exact i32 %125, 4
  %127 = add nsw i32 %126, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %127, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %128

; <label>:128:                                    ; preds = %121, %120, %108, %52, %40, %30, %16
  %129 = phi i1 [ false, %30 ], [ false, %16 ], [ false, %52 ], [ false, %40 ], [ true, %121 ], [ false, %120 ], [ false, %108 ]
  ret i1 %129
}

; Function Attrs: nounwind
define zeroext i1 @builtinRemove() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %17 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %18 = sub i32 %16, %17
  %19 = ashr exact i32 %18, 4
  %20 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %21 = sub i32 %19, %20
  %22 = icmp ult i32 %21, 2
  %23 = inttoptr i32 %17 to %class.variant.43*
  br i1 %22, label %26, label %24

; <label>:24:                                     ; preds = %0
  %25 = add nsw i32 %19, -2
  br label %45

; <label>:26:                                     ; preds = %0
  %27 = icmp ult i32 %19, 2
  br i1 %27, label %28, label %43

; <label>:28:                                     ; preds = %26
  %29 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %30 = icmp eq i32 %29, 0
  br i1 %30, label %31, label %632

; <label>:31:                                     ; preds = %28
  %32 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %32) #14
  %33 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %34 = icmp ult i32 %33, 15
  br i1 %34, label %40, label %35

; <label>:35:                                     ; preds = %31
  %36 = icmp eq i32 %33, 15
  %37 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %38 = select i1 %36, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %37
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %38, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %39 = getelementptr inbounds i8, i8* %38, i32 15
  store i8 0, i8* %39, align 1, !tbaa !12
  br label %42

; <label>:40:                                     ; preds = %31
  %41 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %42

; <label>:42:                                     ; preds = %40, %35
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %32) #14
  br label %632

; <label>:43:                                     ; preds = %26
  %44 = add nsw i32 %19, -2
  store i32 %44, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %45

; <label>:45:                                     ; preds = %43, %24
  %46 = phi i32 [ %25, %24 ], [ %44, %43 ]
  %47 = add nsw i32 %19, -1
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %23, i32 %46
  %49 = getelementptr inbounds %class.variant.43, %class.variant.43* %23, i32 %47, i32 1
  %50 = load i32, i32* %49, align 8, !tbaa !535
  %51 = icmp eq i32 %50, 17
  br i1 %51, label %67, label %52

; <label>:52:                                     ; preds = %45
  %53 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %54 = icmp eq i32 %53, 0
  br i1 %54, label %55, label %632

; <label>:55:                                     ; preds = %52
  %56 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %56) #14
  %57 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %58 = icmp ult i32 %57, 10
  br i1 %58, label %64, label %59

; <label>:59:                                     ; preds = %55
  %60 = icmp ugt i32 %57, 15
  %61 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %62 = select i1 %60, i8* %61, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %62, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %63 = getelementptr inbounds i8, i8* %62, i32 10
  store i8 0, i8* %63, align 1, !tbaa !12
  br label %66

; <label>:64:                                     ; preds = %55
  %65 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %66

; <label>:66:                                     ; preds = %64, %59
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %56) #14
  br label %632

; <label>:67:                                     ; preds = %45
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %23, i32 %47
  %69 = bitcast %class.variant.43* %68 to %struct.Combined**
  %70 = load %struct.Combined*, %struct.Combined** %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %class.variant.43, %class.variant.43* %23, i32 %46, i32 1
  %72 = load i32, i32* %71, align 8, !tbaa !535
  switch i32 %72, label %498 [
    i32 1, label %73
    i32 2, label %103
    i32 3, label %133
    i32 4, label %162
    i32 6, label %194
    i32 7, label %222
    i32 8, label %250
    i32 9, label %277
    i32 10, label %307
    i32 13, label %334
    i32 14, label %362
  ]

; <label>:73:                                     ; preds = %67
  %74 = bitcast %class.variant.43* %48 to i8*
  %75 = load i8, i8* %74, align 1, !tbaa !12
  %76 = icmp slt i8 %75, 0
  br i1 %76, label %88, label %77

; <label>:77:                                     ; preds = %73
  %78 = zext i8 %75 to i32
  %79 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %80 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %81 = bitcast %struct.Field** %80 to i32*
  %82 = load i32, i32* %81, align 4, !tbaa !23
  %83 = bitcast %"class.std::vector.17"* %79 to i32*
  %84 = load i32, i32* %83, align 4, !tbaa !23
  %85 = sub i32 %82, %84
  %86 = sdiv exact i32 %85, 24
  %87 = icmp ugt i32 %86, %78
  br i1 %87, label %513, label %88

; <label>:88:                                     ; preds = %77, %73
  %89 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %90 = icmp eq i32 %89, 0
  br i1 %90, label %91, label %632

; <label>:91:                                     ; preds = %88
  %92 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %92) #14
  %93 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %94 = icmp ult i32 %93, 13
  br i1 %94, label %100, label %95

; <label>:95:                                     ; preds = %91
  %96 = icmp ugt i32 %93, 15
  %97 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %98 = select i1 %96, i8* %97, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %98, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %99 = getelementptr inbounds i8, i8* %98, i32 13
  store i8 0, i8* %99, align 1, !tbaa !12
  br label %102

; <label>:100:                                    ; preds = %91
  %101 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %102

; <label>:102:                                    ; preds = %100, %95
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %92) #14
  br label %632

; <label>:103:                                    ; preds = %67
  %104 = bitcast %class.variant.43* %48 to i16*
  %105 = load i16, i16* %104, align 2, !tbaa !59
  %106 = icmp slt i16 %105, 0
  br i1 %106, label %118, label %107

; <label>:107:                                    ; preds = %103
  %108 = zext i16 %105 to i32
  %109 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %110 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %111 = bitcast %struct.Field** %110 to i32*
  %112 = load i32, i32* %111, align 4, !tbaa !23
  %113 = bitcast %"class.std::vector.17"* %109 to i32*
  %114 = load i32, i32* %113, align 4, !tbaa !23
  %115 = sub i32 %112, %114
  %116 = sdiv exact i32 %115, 24
  %117 = icmp ugt i32 %116, %108
  br i1 %117, label %513, label %118

; <label>:118:                                    ; preds = %107, %103
  %119 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %120 = icmp eq i32 %119, 0
  br i1 %120, label %121, label %632

; <label>:121:                                    ; preds = %118
  %122 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %122) #14
  %123 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %124 = icmp ult i32 %123, 13
  br i1 %124, label %130, label %125

; <label>:125:                                    ; preds = %121
  %126 = icmp ugt i32 %123, 15
  %127 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %128 = select i1 %126, i8* %127, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %128, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %129 = getelementptr inbounds i8, i8* %128, i32 13
  store i8 0, i8* %129, align 1, !tbaa !12
  br label %132

; <label>:130:                                    ; preds = %121
  %131 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %132

; <label>:132:                                    ; preds = %130, %125
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %122) #14
  br label %632

; <label>:133:                                    ; preds = %67
  %134 = bitcast %class.variant.43* %48 to i32*
  %135 = load i32, i32* %134, align 4, !tbaa !24
  %136 = icmp slt i32 %135, 0
  br i1 %136, label %147, label %137

; <label>:137:                                    ; preds = %133
  %138 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %139 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %140 = bitcast %struct.Field** %139 to i32*
  %141 = load i32, i32* %140, align 4, !tbaa !23
  %142 = bitcast %"class.std::vector.17"* %138 to i32*
  %143 = load i32, i32* %142, align 4, !tbaa !23
  %144 = sub i32 %141, %143
  %145 = sdiv exact i32 %144, 24
  %146 = icmp ult i32 %135, %145
  br i1 %146, label %513, label %147

; <label>:147:                                    ; preds = %137, %133
  %148 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %149 = icmp eq i32 %148, 0
  br i1 %149, label %150, label %632

; <label>:150:                                    ; preds = %147
  %151 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %151) #14
  %152 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %153 = icmp ult i32 %152, 13
  br i1 %153, label %159, label %154

; <label>:154:                                    ; preds = %150
  %155 = icmp ugt i32 %152, 15
  %156 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %157 = select i1 %155, i8* %156, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %157, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %158 = getelementptr inbounds i8, i8* %157, i32 13
  store i8 0, i8* %158, align 1, !tbaa !12
  br label %161

; <label>:159:                                    ; preds = %150
  %160 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %161

; <label>:161:                                    ; preds = %159, %154
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %151) #14
  br label %632

; <label>:162:                                    ; preds = %67
  %163 = bitcast %class.variant.43* %48 to i64*
  %164 = load i64, i64* %163, align 8, !tbaa !61
  %165 = icmp slt i64 %164, 0
  br i1 %165, label %177, label %166

; <label>:166:                                    ; preds = %162
  %167 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %168 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %169 = bitcast %struct.Field** %168 to i32*
  %170 = load i32, i32* %169, align 4, !tbaa !23
  %171 = bitcast %"class.std::vector.17"* %167 to i32*
  %172 = load i32, i32* %171, align 4, !tbaa !23
  %173 = sub i32 %170, %172
  %174 = sdiv exact i32 %173, 24
  %175 = zext i32 %174 to i64
  %176 = icmp ult i64 %164, %175
  br i1 %176, label %192, label %177

; <label>:177:                                    ; preds = %166, %162
  %178 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %179 = icmp eq i32 %178, 0
  br i1 %179, label %180, label %632

; <label>:180:                                    ; preds = %177
  %181 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %181) #14
  %182 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %183 = icmp ult i32 %182, 13
  br i1 %183, label %189, label %184

; <label>:184:                                    ; preds = %180
  %185 = icmp ugt i32 %182, 15
  %186 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %187 = select i1 %185, i8* %186, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %187, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %188 = getelementptr inbounds i8, i8* %187, i32 13
  store i8 0, i8* %188, align 1, !tbaa !12
  br label %191

; <label>:189:                                    ; preds = %180
  %190 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %191

; <label>:191:                                    ; preds = %189, %184
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %181) #14
  br label %632

; <label>:192:                                    ; preds = %166
  %193 = trunc i64 %164 to i32
  br label %513

; <label>:194:                                    ; preds = %67
  %195 = bitcast %class.variant.43* %48 to i8*
  %196 = load i8, i8* %195, align 1, !tbaa !12
  %197 = zext i8 %196 to i32
  %198 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %199 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %200 = bitcast %struct.Field** %199 to i32*
  %201 = load i32, i32* %200, align 4, !tbaa !23
  %202 = bitcast %"class.std::vector.17"* %198 to i32*
  %203 = load i32, i32* %202, align 4, !tbaa !23
  %204 = sub i32 %201, %203
  %205 = sdiv exact i32 %204, 24
  %206 = icmp ugt i32 %205, %197
  br i1 %206, label %513, label %207

; <label>:207:                                    ; preds = %194
  %208 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %209 = icmp eq i32 %208, 0
  br i1 %209, label %210, label %632

; <label>:210:                                    ; preds = %207
  %211 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %211) #14
  %212 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %213 = icmp ult i32 %212, 13
  br i1 %213, label %219, label %214

; <label>:214:                                    ; preds = %210
  %215 = icmp ugt i32 %212, 15
  %216 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %217 = select i1 %215, i8* %216, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %217, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %218 = getelementptr inbounds i8, i8* %217, i32 13
  store i8 0, i8* %218, align 1, !tbaa !12
  br label %221

; <label>:219:                                    ; preds = %210
  %220 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %221

; <label>:221:                                    ; preds = %219, %214
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %211) #14
  br label %632

; <label>:222:                                    ; preds = %67
  %223 = bitcast %class.variant.43* %48 to i16*
  %224 = load i16, i16* %223, align 2, !tbaa !59
  %225 = zext i16 %224 to i32
  %226 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %227 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %228 = bitcast %struct.Field** %227 to i32*
  %229 = load i32, i32* %228, align 4, !tbaa !23
  %230 = bitcast %"class.std::vector.17"* %226 to i32*
  %231 = load i32, i32* %230, align 4, !tbaa !23
  %232 = sub i32 %229, %231
  %233 = sdiv exact i32 %232, 24
  %234 = icmp ugt i32 %233, %225
  br i1 %234, label %513, label %235

; <label>:235:                                    ; preds = %222
  %236 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %237 = icmp eq i32 %236, 0
  br i1 %237, label %238, label %632

; <label>:238:                                    ; preds = %235
  %239 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %239) #14
  %240 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %241 = icmp ult i32 %240, 13
  br i1 %241, label %247, label %242

; <label>:242:                                    ; preds = %238
  %243 = icmp ugt i32 %240, 15
  %244 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %245 = select i1 %243, i8* %244, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %245, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %246 = getelementptr inbounds i8, i8* %245, i32 13
  store i8 0, i8* %246, align 1, !tbaa !12
  br label %249

; <label>:247:                                    ; preds = %238
  %248 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %249

; <label>:249:                                    ; preds = %247, %242
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %239) #14
  br label %632

; <label>:250:                                    ; preds = %67
  %251 = bitcast %class.variant.43* %48 to i32*
  %252 = load i32, i32* %251, align 4, !tbaa !24
  %253 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %254 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %255 = bitcast %struct.Field** %254 to i32*
  %256 = load i32, i32* %255, align 4, !tbaa !23
  %257 = bitcast %"class.std::vector.17"* %253 to i32*
  %258 = load i32, i32* %257, align 4, !tbaa !23
  %259 = sub i32 %256, %258
  %260 = sdiv exact i32 %259, 24
  %261 = icmp ult i32 %252, %260
  br i1 %261, label %513, label %262

; <label>:262:                                    ; preds = %250
  %263 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %264 = icmp eq i32 %263, 0
  br i1 %264, label %265, label %632

; <label>:265:                                    ; preds = %262
  %266 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %266) #14
  %267 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %268 = icmp ult i32 %267, 13
  br i1 %268, label %274, label %269

; <label>:269:                                    ; preds = %265
  %270 = icmp ugt i32 %267, 15
  %271 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %272 = select i1 %270, i8* %271, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %272, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %273 = getelementptr inbounds i8, i8* %272, i32 13
  store i8 0, i8* %273, align 1, !tbaa !12
  br label %276

; <label>:274:                                    ; preds = %265
  %275 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %276

; <label>:276:                                    ; preds = %274, %269
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %266) #14
  br label %632

; <label>:277:                                    ; preds = %67
  %278 = bitcast %class.variant.43* %48 to i64*
  %279 = load i64, i64* %278, align 8, !tbaa !61
  %280 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %281 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %282 = bitcast %struct.Field** %281 to i32*
  %283 = load i32, i32* %282, align 4, !tbaa !23
  %284 = bitcast %"class.std::vector.17"* %280 to i32*
  %285 = load i32, i32* %284, align 4, !tbaa !23
  %286 = sub i32 %283, %285
  %287 = sdiv exact i32 %286, 24
  %288 = zext i32 %287 to i64
  %289 = icmp ult i64 %279, %288
  br i1 %289, label %305, label %290

; <label>:290:                                    ; preds = %277
  %291 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %292 = icmp eq i32 %291, 0
  br i1 %292, label %293, label %632

; <label>:293:                                    ; preds = %290
  %294 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %294) #14
  %295 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %296 = icmp ult i32 %295, 13
  br i1 %296, label %302, label %297

; <label>:297:                                    ; preds = %293
  %298 = icmp ugt i32 %295, 15
  %299 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %300 = select i1 %298, i8* %299, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %300, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %301 = getelementptr inbounds i8, i8* %300, i32 13
  store i8 0, i8* %301, align 1, !tbaa !12
  br label %304

; <label>:302:                                    ; preds = %293
  %303 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %304

; <label>:304:                                    ; preds = %302, %297
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %294) #14
  br label %632

; <label>:305:                                    ; preds = %277
  %306 = trunc i64 %279 to i32
  br label %513

; <label>:307:                                    ; preds = %67
  %308 = bitcast %class.variant.43* %48 to i32*
  %309 = load i32, i32* %308, align 4, !tbaa !540
  %310 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %311 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %312 = bitcast %struct.Field** %311 to i32*
  %313 = load i32, i32* %312, align 4, !tbaa !23
  %314 = bitcast %"class.std::vector.17"* %310 to i32*
  %315 = load i32, i32* %314, align 4, !tbaa !23
  %316 = sub i32 %313, %315
  %317 = sdiv exact i32 %316, 24
  %318 = icmp ult i32 %309, %317
  br i1 %318, label %513, label %319

; <label>:319:                                    ; preds = %307
  %320 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %321 = icmp eq i32 %320, 0
  br i1 %321, label %322, label %632

; <label>:322:                                    ; preds = %319
  %323 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %323) #14
  %324 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %325 = icmp ult i32 %324, 13
  br i1 %325, label %331, label %326

; <label>:326:                                    ; preds = %322
  %327 = icmp ugt i32 %324, 15
  %328 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %329 = select i1 %327, i8* %328, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %329, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %330 = getelementptr inbounds i8, i8* %329, i32 13
  store i8 0, i8* %330, align 1, !tbaa !12
  br label %333

; <label>:331:                                    ; preds = %322
  %332 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %333

; <label>:333:                                    ; preds = %331, %326
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %323) #14
  br label %632

; <label>:334:                                    ; preds = %67
  %335 = bitcast %class.variant.43* %48 to %"struct.std::pair.23"**
  %336 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %335, align 4, !tbaa !542
  %337 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %338 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %337, %"struct.std::pair.23"* dereferenceable(48) %336) #14
  %339 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %340 = bitcast %struct.Field** %339 to i32*
  %341 = load i32, i32* %340, align 4, !tbaa !23
  %342 = bitcast %"class.std::vector.17"* %337 to i32*
  %343 = load i32, i32* %342, align 4, !tbaa !23
  %344 = sub i32 %341, %343
  %345 = sdiv exact i32 %344, 24
  %346 = icmp eq i32 %338, %345
  br i1 %346, label %347, label %513

; <label>:347:                                    ; preds = %334
  %348 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %349 = icmp eq i32 %348, 0
  br i1 %349, label %350, label %632

; <label>:350:                                    ; preds = %347
  %351 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %351) #14
  %352 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %353 = icmp ult i32 %352, 13
  br i1 %353, label %359, label %354

; <label>:354:                                    ; preds = %350
  %355 = icmp ugt i32 %352, 15
  %356 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %357 = select i1 %355, i8* %356, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %357, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %358 = getelementptr inbounds i8, i8* %357, i32 13
  store i8 0, i8* %358, align 1, !tbaa !12
  br label %361

; <label>:359:                                    ; preds = %350
  %360 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %361

; <label>:361:                                    ; preds = %359, %354
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %351) #14
  br label %632

; <label>:362:                                    ; preds = %67
  %363 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %363) #14
  %364 = bitcast %class.variant.43* %48 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %365 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %364, align 4, !tbaa !549
  %366 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %365, i32 0, i32 1
  %367 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %367, align 4, !tbaa !83
  %368 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %368, align 4, !tbaa !81
  %369 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %365, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %370 = load i32, i32* %369, align 4, !tbaa !83
  %371 = bitcast %"class.std::basic_string"* %366 to i8*
  %372 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %365, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %373 = load i32, i32* %372, align 4, !tbaa !81
  %374 = icmp ugt i32 %373, 15
  %375 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %366, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %376 = load i8*, i8** %375, align 4
  %377 = select i1 %374, i8* %376, i8* %371
  %378 = icmp ult i32 %370, 16
  br i1 %378, label %379, label %380

; <label>:379:                                    ; preds = %362
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %363, i8* %377, i32 16, i32 1, i1 false) #14
  br label %402

; <label>:380:                                    ; preds = %362
  %381 = or i32 %370, 15
  %382 = icmp ult i32 %381, 2147483647
  %383 = select i1 %382, i32 %381, i32 2147483647
  %384 = icmp ugt i32 %383, 4094
  br i1 %384, label %385, label %394

; <label>:385:                                    ; preds = %380
  %386 = add nuw i32 %383, 36
  %387 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %386) #14
  %388 = ptrtoint i8* %387 to i32
  %389 = add i32 %388, 35
  %390 = and i32 %389, -32
  %391 = inttoptr i32 %390 to i8*
  %392 = inttoptr i32 %390 to i32*
  %393 = getelementptr inbounds i32, i32* %392, i32 -1
  store i32 %388, i32* %393, align 4, !tbaa !24
  br label %397

; <label>:394:                                    ; preds = %380
  %395 = add nuw i32 %383, 1
  %396 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %395) #14
  br label %397

; <label>:397:                                    ; preds = %394, %385
  %398 = phi i8* [ %391, %385 ], [ %396, %394 ]
  %399 = ptrtoint i8* %398 to i32
  %400 = bitcast %"class.std::basic_string"* %15 to i32*
  store i32 %399, i32* %400, align 4, !tbaa !23
  %401 = add i32 %370, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %398, i8* %377, i32 %401, i32 1, i1 false) #14
  br label %402

; <label>:402:                                    ; preds = %397, %379
  %403 = phi i32 [ %383, %397 ], [ 15, %379 ]
  store i32 %370, i32* %367, align 4, !tbaa !83
  store i32 %403, i32* %368, align 4, !tbaa !81
  %404 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %15) #14
  %405 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4
  %406 = call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %405, %"struct.std::pair.23"* nonnull dereferenceable(48) %404) #14
  %407 = load i32, i32* %368, align 4, !tbaa !81
  %408 = icmp ugt i32 %407, 15
  br i1 %408, label %409, label %434

; <label>:409:                                    ; preds = %402
  %410 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %411 = load i8*, i8** %410, align 4, !tbaa !12
  %412 = add i32 %407, 1
  %413 = icmp ugt i32 %412, 4095
  br i1 %413, label %414, label %431

; <label>:414:                                    ; preds = %409
  %415 = add i32 %407, 36
  %416 = icmp ugt i32 %412, -36
  br i1 %416, label %430, label %417

; <label>:417:                                    ; preds = %414
  %418 = ptrtoint i8* %411 to i32
  %419 = and i32 %418, 31
  %420 = icmp eq i32 %419, 0
  br i1 %420, label %421, label %430

; <label>:421:                                    ; preds = %417
  %422 = add i32 %418, -4
  %423 = inttoptr i32 %422 to i32*
  %424 = load i32, i32* %423, align 4, !tbaa !24
  %425 = icmp ult i32 %424, %418
  br i1 %425, label %426, label %430

; <label>:426:                                    ; preds = %421
  %427 = sub i32 %422, %424
  %428 = icmp ugt i32 %427, 31
  %429 = inttoptr i32 %424 to i8*
  br i1 %428, label %430, label %431

; <label>:430:                                    ; preds = %426, %421, %417, %414
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:431:                                    ; preds = %426, %409
  %432 = phi i8* [ %429, %426 ], [ %411, %409 ]
  %433 = phi i32 [ %415, %426 ], [ %412, %409 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %432, i32 %433) #14
  br label %434

; <label>:434:                                    ; preds = %431, %402
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %363) #14
  %435 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %364, align 4, !tbaa !549
  %436 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %435, i32 0, i32 0
  %437 = load i32, i32* %436, align 4, !tbaa !547
  %438 = icmp eq i32 %437, 1
  br i1 %438, label %441, label %439

; <label>:439:                                    ; preds = %434
  %440 = add i32 %437, -1
  store i32 %440, i32* %436, align 4, !tbaa !547
  br label %474

; <label>:441:                                    ; preds = %434
  %442 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %435, null
  br i1 %442, label %474, label %443

; <label>:443:                                    ; preds = %441
  %444 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %435, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %445 = load i32, i32* %444, align 4, !tbaa !81
  %446 = icmp ugt i32 %445, 15
  br i1 %446, label %447, label %472

; <label>:447:                                    ; preds = %443
  %448 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %435, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %449 = load i8*, i8** %448, align 4, !tbaa !12
  %450 = add i32 %445, 1
  %451 = icmp ugt i32 %450, 4095
  br i1 %451, label %452, label %469

; <label>:452:                                    ; preds = %447
  %453 = add i32 %445, 36
  %454 = icmp ugt i32 %450, -36
  br i1 %454, label %468, label %455

; <label>:455:                                    ; preds = %452
  %456 = ptrtoint i8* %449 to i32
  %457 = and i32 %456, 31
  %458 = icmp eq i32 %457, 0
  br i1 %458, label %459, label %468

; <label>:459:                                    ; preds = %455
  %460 = add i32 %456, -4
  %461 = inttoptr i32 %460 to i32*
  %462 = load i32, i32* %461, align 4, !tbaa !24
  %463 = icmp ult i32 %462, %456
  br i1 %463, label %464, label %468

; <label>:464:                                    ; preds = %459
  %465 = sub i32 %460, %462
  %466 = icmp ugt i32 %465, 31
  %467 = inttoptr i32 %462 to i8*
  br i1 %466, label %468, label %469

; <label>:468:                                    ; preds = %464, %459, %455, %452
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:469:                                    ; preds = %464, %447
  %470 = phi i8* [ %467, %464 ], [ %449, %447 ]
  %471 = phi i32 [ %453, %464 ], [ %450, %447 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %470, i32 %471) #14
  br label %472

; <label>:472:                                    ; preds = %469, %443
  %473 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %435 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %473) #21
  br label %474

; <label>:474:                                    ; preds = %472, %441, %439
  %475 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %476 = bitcast %struct.Field** %475 to i32*
  %477 = load i32, i32* %476, align 4, !tbaa !23
  %478 = bitcast %"class.std::vector.17"* %405 to i32*
  %479 = load i32, i32* %478, align 4, !tbaa !23
  %480 = sub i32 %477, %479
  %481 = sdiv exact i32 %480, 24
  %482 = icmp eq i32 %406, %481
  br i1 %482, label %483, label %513

; <label>:483:                                    ; preds = %474
  %484 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %485 = icmp eq i32 %484, 0
  br i1 %485, label %486, label %632

; <label>:486:                                    ; preds = %483
  %487 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %487) #14
  %488 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %489 = icmp ult i32 %488, 13
  br i1 %489, label %495, label %490

; <label>:490:                                    ; preds = %486
  %491 = icmp ugt i32 %488, 15
  %492 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %493 = select i1 %491, i8* %492, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %493, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %494 = getelementptr inbounds i8, i8* %493, i32 13
  store i8 0, i8* %494, align 1, !tbaa !12
  br label %497

; <label>:495:                                    ; preds = %486
  %496 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %497

; <label>:497:                                    ; preds = %495, %490
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %487) #14
  br label %632

; <label>:498:                                    ; preds = %67
  %499 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %500 = icmp eq i32 %499, 0
  br i1 %500, label %501, label %632

; <label>:501:                                    ; preds = %498
  %502 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %502) #14
  %503 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %504 = icmp ult i32 %503, 13
  br i1 %504, label %510, label %505

; <label>:505:                                    ; preds = %501
  %506 = icmp ugt i32 %503, 15
  %507 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %508 = select i1 %506, i8* %507, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %508, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %509 = getelementptr inbounds i8, i8* %508, i32 13
  store i8 0, i8* %509, align 1, !tbaa !12
  br label %512

; <label>:510:                                    ; preds = %501
  %511 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@BGLHAEFA@invalid?5index?$AA@", i32 0, i32 0)) #14
  br label %512

; <label>:512:                                    ; preds = %510, %505
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %502) #14
  br label %632

; <label>:513:                                    ; preds = %474, %334, %307, %305, %250, %222, %194, %192, %137, %107, %77
  %514 = phi %"class.std::vector.17"* [ %280, %305 ], [ %167, %192 ], [ %109, %107 ], [ %79, %77 ], [ %310, %307 ], [ %253, %250 ], [ %226, %222 ], [ %198, %194 ], [ %138, %137 ], [ %405, %474 ], [ %337, %334 ]
  %515 = phi i32 [ %285, %305 ], [ %172, %192 ], [ %114, %107 ], [ %84, %77 ], [ %315, %307 ], [ %258, %250 ], [ %231, %222 ], [ %203, %194 ], [ %143, %137 ], [ %479, %474 ], [ %343, %334 ]
  %516 = phi i32 [ %306, %305 ], [ %193, %192 ], [ %108, %107 ], [ %78, %77 ], [ %309, %307 ], [ %252, %250 ], [ %225, %222 ], [ %197, %194 ], [ %135, %137 ], [ %406, %474 ], [ %338, %334 ]
  %517 = inttoptr i32 %515 to %struct.Field*
  %518 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %519 = getelementptr inbounds %struct.Field, %struct.Field* %517, i32 %516, i32 0
  %520 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %519, align 8, !tbaa !561
  %521 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %520, i32 0, i32 1, i32 2
  %522 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %520, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %523 = bitcast %class.variant.43*** %522 to i32*
  %524 = load i32, i32* %523, align 4, !tbaa !23
  %525 = bitcast %"class.std::vector.11"* %521 to i32*
  %526 = load i32, i32* %525, align 4, !tbaa !23
  %527 = sub i32 %524, %526
  %528 = ashr exact i32 %527, 2
  %529 = icmp eq i32 %528, 0
  %530 = inttoptr i32 %526 to %class.variant.43**
  br i1 %529, label %568, label %531

; <label>:531:                                    ; preds = %513
  %532 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %521, i32 0, i32 0, i32 0, i32 0, i32 0
  %533 = getelementptr inbounds %struct.Field, %struct.Field* %517, i32 %516, i32 1
  br label %534

; <label>:534:                                    ; preds = %567, %531
  %535 = phi i32 [ 0, %531 ], [ %539, %567 ]
  %536 = getelementptr inbounds %class.variant.43*, %class.variant.43** %530, i32 %535
  %537 = load %class.variant.43*, %class.variant.43** %536, align 4, !tbaa !23
  %538 = icmp eq %class.variant.43* %537, %533
  %539 = add i32 %535, 1
  %540 = icmp ult i32 %539, %528
  br i1 %538, label %541, label %567

; <label>:541:                                    ; preds = %534
  br i1 %540, label %542, label %564

; <label>:542:                                    ; preds = %541
  br label %543

; <label>:543:                                    ; preds = %561, %542
  %544 = phi %struct.Field* [ %563, %561 ], [ %517, %542 ]
  %545 = phi %class.variant.43** [ %562, %561 ], [ %530, %542 ]
  %546 = phi i32 [ %559, %561 ], [ %539, %542 ]
  %547 = phi i32 [ %558, %561 ], [ %535, %542 ]
  %548 = getelementptr inbounds %class.variant.43*, %class.variant.43** %545, i32 %546
  %549 = load %class.variant.43*, %class.variant.43** %548, align 4, !tbaa !23
  %550 = getelementptr inbounds %struct.Field, %struct.Field* %544, i32 %516, i32 1
  %551 = icmp eq %class.variant.43* %549, %550
  br i1 %551, label %557, label %552

; <label>:552:                                    ; preds = %543
  %553 = ptrtoint %class.variant.43* %549 to i32
  %554 = getelementptr inbounds %class.variant.43*, %class.variant.43** %545, i32 %547
  %555 = bitcast %class.variant.43** %554 to i32*
  store i32 %553, i32* %555, align 4, !tbaa !23
  %556 = add i32 %547, 1
  br label %557

; <label>:557:                                    ; preds = %552, %543
  %558 = phi i32 [ %556, %552 ], [ %547, %543 ]
  %559 = add i32 %546, 1
  %560 = icmp eq i32 %559, %528
  br i1 %560, label %564, label %561

; <label>:561:                                    ; preds = %557
  %562 = load %class.variant.43**, %class.variant.43*** %532, align 4, !tbaa !23
  %563 = load %struct.Field*, %struct.Field** %518, align 4, !tbaa !23
  br label %543

; <label>:564:                                    ; preds = %557, %541
  %565 = phi i32 [ %535, %541 ], [ %558, %557 ]
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.11"* nonnull %521, i32 %565, %"class.std::vector.11"* nonnull %521) #14
  %566 = load %struct.Field*, %struct.Field** %518, align 4, !tbaa !23
  br label %568

; <label>:567:                                    ; preds = %534
  br i1 %540, label %534, label %568

; <label>:568:                                    ; preds = %567, %564, %513
  %569 = phi %struct.Field* [ %517, %513 ], [ %566, %564 ], [ %517, %567 ]
  %570 = getelementptr inbounds %struct.Field, %struct.Field* %569, i32 %516, i32 1
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %570) #14
  %571 = bitcast %"class.std::vector.17"* %514 to i32*
  %572 = load %struct.Field*, %struct.Field** %518, align 4, !tbaa !23, !noalias !744
  %573 = getelementptr inbounds %struct.Field, %struct.Field* %572, i32 %516
  %574 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %575 = bitcast %struct.Field** %574 to i32*
  %576 = load i32, i32* %575, align 4, !tbaa !23, !noalias !747
  %577 = getelementptr inbounds %struct.Field, %struct.Field* %573, i32 1
  %578 = bitcast %struct.Field* %577 to i8*
  %579 = bitcast %struct.Field* %573 to i8*
  %580 = ptrtoint %struct.Field* %577 to i32
  %581 = sub i32 %576, %580
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %579, i8* %578, i32 %581, i32 1, i1 false) #14, !noalias !747
  %582 = load %struct.Field*, %struct.Field** %574, align 4, !tbaa !23, !noalias !747
  %583 = getelementptr inbounds %struct.Field, %struct.Field* %582, i32 -1
  store %struct.Field* %583, %struct.Field** %574, align 4, !tbaa !23, !noalias !747
  %584 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 1
  %585 = load i32, i32* %584, align 4, !tbaa !563
  %586 = icmp eq i32 %585, %516
  %587 = ptrtoint %struct.Field* %583 to i32
  br i1 %586, label %588, label %592

; <label>:588:                                    ; preds = %568
  %589 = load i32, i32* %571, align 4, !tbaa !23
  %590 = sub i32 %587, %589
  %591 = sdiv exact i32 %590, 24
  br label %596

; <label>:592:                                    ; preds = %568
  %593 = icmp ugt i32 %585, %516
  br i1 %593, label %594, label %598

; <label>:594:                                    ; preds = %592
  %595 = add i32 %585, -1
  br label %596

; <label>:596:                                    ; preds = %594, %588
  %597 = phi i32 [ %595, %594 ], [ %591, %588 ]
  store i32 %597, i32* %584, align 4, !tbaa !563
  br label %598

; <label>:598:                                    ; preds = %596, %592
  %599 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 2
  %600 = load i32, i32* %599, align 4, !tbaa !564
  %601 = icmp eq i32 %600, %516
  br i1 %601, label %602, label %606

; <label>:602:                                    ; preds = %598
  %603 = load i32, i32* %571, align 4, !tbaa !23
  %604 = sub i32 %587, %603
  %605 = sdiv exact i32 %604, 24
  br label %610

; <label>:606:                                    ; preds = %598
  %607 = icmp ugt i32 %600, %516
  br i1 %607, label %608, label %612

; <label>:608:                                    ; preds = %606
  %609 = add i32 %600, -1
  br label %610

; <label>:610:                                    ; preds = %608, %602
  %611 = phi i32 [ %609, %608 ], [ %605, %602 ]
  store i32 %611, i32* %599, align 4, !tbaa !564
  br label %612

; <label>:612:                                    ; preds = %610, %606
  %613 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 3
  %614 = load i32, i32* %613, align 4, !tbaa !565
  %615 = icmp eq i32 %614, %516
  br i1 %615, label %616, label %620

; <label>:616:                                    ; preds = %612
  %617 = load i32, i32* %571, align 4, !tbaa !23
  %618 = sub i32 %587, %617
  %619 = sdiv exact i32 %618, 24
  br label %624

; <label>:620:                                    ; preds = %612
  %621 = icmp ugt i32 %614, %516
  br i1 %621, label %622, label %626

; <label>:622:                                    ; preds = %620
  %623 = add i32 %614, -1
  br label %624

; <label>:624:                                    ; preds = %622, %616
  %625 = phi i32 [ %623, %622 ], [ %619, %616 ]
  store i32 %625, i32* %613, align 4, !tbaa !565
  br label %626

; <label>:626:                                    ; preds = %624, %620
  %627 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %628 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %629 = sub i32 %627, %628
  %630 = ashr exact i32 %629, 4
  %631 = add nsw i32 %630, -2
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %631, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %70) #14
  br label %632

; <label>:632:                                    ; preds = %626, %512, %498, %497, %483, %361, %347, %333, %319, %304, %290, %276, %262, %249, %235, %221, %207, %191, %177, %161, %147, %132, %118, %102, %88, %66, %52, %42, %28
  %633 = phi i1 [ false, %42 ], [ false, %28 ], [ false, %66 ], [ false, %52 ], [ true, %626 ], [ false, %161 ], [ false, %221 ], [ false, %249 ], [ false, %276 ], [ false, %333 ], [ false, %361 ], [ false, %347 ], [ false, %497 ], [ false, %483 ], [ false, %512 ], [ false, %498 ], [ false, %147 ], [ false, %207 ], [ false, %235 ], [ false, %262 ], [ false, %319 ], [ false, %102 ], [ false, %88 ], [ false, %132 ], [ false, %118 ], [ false, %191 ], [ false, %177 ], [ false, %304 ], [ false, %290 ]
  ret i1 %633
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.11"*, i32, %"class.std::vector.11"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %class.variant.43*** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.11"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %class.variant.43*** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 2
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %class.variant.43**
  %18 = inttoptr i32 %6 to %class.variant.43**
  br i1 %16, label %19, label %108

; <label>:19:                                     ; preds = %3
  %20 = icmp ugt i32 %1, 1073741823
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xlength@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ"() #22
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = lshr i32 %15, 1
  %24 = sub nsw i32 1073741823, %23
  %25 = icmp ugt i32 %15, %24
  br i1 %25, label %29, label %26

; <label>:26:                                     ; preds = %22
  %27 = add i32 %23, %15
  %28 = icmp ult i32 %27, %1
  br i1 %28, label %29, label %31

; <label>:29:                                     ; preds = %26, %22
  %30 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0
  br label %37

; <label>:31:                                     ; preds = %26
  %32 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0
  %33 = icmp eq i32 %27, 0
  br i1 %33, label %56, label %34

; <label>:34:                                     ; preds = %31
  %35 = icmp ugt i32 %27, 1073741823
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %34
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %34, %29
  %38 = phi i32 [ %1, %29 ], [ %27, %34 ]
  %39 = phi %"class.std::_Vector_alloc.12"* [ %30, %29 ], [ %32, %34 ]
  %40 = shl i32 %38, 2
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %37
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %37
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %31
  %57 = phi %"class.std::_Vector_alloc.12"* [ %32, %31 ], [ %39, %45 ], [ %39, %54 ]
  %58 = phi i32 [ 0, %31 ], [ %38, %45 ], [ %38, %54 ]
  %59 = phi i8* [ null, %31 ], [ %51, %45 ], [ %55, %54 ]
  %60 = bitcast i8* %59 to %class.variant.43**
  %61 = getelementptr inbounds %class.variant.43*, %class.variant.43** %60, i32 %10
  %62 = sub i32 %1, %10
  %63 = bitcast %class.variant.43** %61 to i8*
  %64 = shl nuw i32 %62, 2
  tail call void @llvm.memset.p0i8.i32(i8* %63, i8 0, i32 %64, i32 1, i1 false) #14
  %65 = getelementptr inbounds %"class.std::_Vector_alloc.12", %"class.std::_Vector_alloc.12"* %57, i32 0, i32 0, i32 0, i32 1
  %66 = bitcast %class.variant.43*** %65 to i32*
  %67 = load i32, i32* %66, align 4, !tbaa !23
  %68 = getelementptr inbounds %"class.std::_Vector_alloc.12", %"class.std::_Vector_alloc.12"* %57, i32 0, i32 0, i32 0, i32 0
  %69 = load %class.variant.43**, %class.variant.43*** %68, align 4, !tbaa !23
  %70 = bitcast %class.variant.43** %69 to i8*
  %71 = ptrtoint %class.variant.43** %69 to i32
  %72 = sub i32 %67, %71
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %59, i8* %70, i32 %72, i32 1, i1 false) #14
  %73 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %74 = load %class.variant.43**, %class.variant.43*** %73, align 4, !tbaa !23
  %75 = icmp eq %class.variant.43** %74, null
  %76 = ptrtoint %class.variant.43** %74 to i32
  br i1 %75, label %104, label %77

; <label>:77:                                     ; preds = %56
  %78 = load i32, i32* %12, align 4, !tbaa !23
  %79 = sub i32 %78, %76
  %80 = ashr exact i32 %79, 2
  %81 = icmp ugt i32 %80, 1073741823
  br i1 %81, label %100, label %82

; <label>:82:                                     ; preds = %77
  %83 = bitcast %class.variant.43** %74 to i8*
  %84 = icmp ugt i32 %79, 4095
  br i1 %84, label %85, label %101

; <label>:85:                                     ; preds = %82
  %86 = add i32 %79, 35
  %87 = icmp ult i32 %79, -35
  %88 = and i32 %76, 31
  %89 = icmp eq i32 %88, 0
  %90 = and i1 %89, %87
  br i1 %90, label %91, label %100

; <label>:91:                                     ; preds = %85
  %92 = add i32 %76, -4
  %93 = inttoptr i32 %92 to i32*
  %94 = load i32, i32* %93, align 4, !tbaa !24
  %95 = icmp ult i32 %94, %76
  br i1 %95, label %96, label %100

; <label>:96:                                     ; preds = %91
  %97 = sub i32 %92, %94
  %98 = icmp ugt i32 %97, 31
  %99 = inttoptr i32 %94 to i8*
  br i1 %98, label %100, label %101

; <label>:100:                                    ; preds = %96, %91, %85, %77
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:101:                                    ; preds = %96, %82
  %102 = phi i8* [ %99, %96 ], [ %83, %82 ]
  %103 = phi i32 [ %86, %96 ], [ %79, %82 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %102, i32 %103) #14
  br label %104

; <label>:104:                                    ; preds = %101, %56
  %105 = bitcast %"class.std::vector.11"* %0 to i8**
  store i8* %59, i8** %105, align 4, !tbaa !23
  %106 = getelementptr inbounds %class.variant.43*, %class.variant.43** %60, i32 %1
  store %class.variant.43** %106, %class.variant.43*** %4, align 4, !tbaa !23
  %107 = getelementptr inbounds %class.variant.43*, %class.variant.43** %60, i32 %58
  store %class.variant.43** %107, %class.variant.43*** %11, align 4, !tbaa !23
  br label %119

; <label>:108:                                    ; preds = %3
  %109 = icmp ult i32 %10, %1
  br i1 %109, label %110, label %115

; <label>:110:                                    ; preds = %108
  %111 = sub i32 %1, %10
  %112 = getelementptr inbounds %class.variant.43*, %class.variant.43** %18, i32 %111
  %113 = inttoptr i32 %6 to i8*
  %114 = shl nuw i32 %111, 2
  tail call void @llvm.memset.p0i8.i32(i8* %113, i8 0, i32 %114, i32 1, i1 false) #14
  store %class.variant.43** %112, %class.variant.43*** %4, align 4, !tbaa !23
  br label %119

; <label>:115:                                    ; preds = %108
  %116 = icmp eq i32 %10, %1
  br i1 %116, label %119, label %117

; <label>:117:                                    ; preds = %115
  %118 = getelementptr inbounds %class.variant.43*, %class.variant.43** %17, i32 %1
  store %class.variant.43** %118, %class.variant.43*** %4, align 4, !tbaa !23
  br label %119

; <label>:119:                                    ; preds = %117, %115, %110, %104
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define zeroext i1 @builtinRshift() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %15 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %16 = sub i32 %14, %15
  %17 = ashr exact i32 %16, 4
  %18 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %19 = sub i32 %17, %18
  %20 = icmp ult i32 %19, 2
  %21 = inttoptr i32 %15 to %class.variant.43*
  br i1 %20, label %24, label %22

; <label>:22:                                     ; preds = %0
  %23 = add nsw i32 %17, -2
  br label %43

; <label>:24:                                     ; preds = %0
  %25 = icmp ult i32 %17, 2
  br i1 %25, label %26, label %41

; <label>:26:                                     ; preds = %24
  %27 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %340

; <label>:29:                                     ; preds = %26
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14
  %31 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %32 = icmp ult i32 %31, 15
  br i1 %32, label %38, label %33

; <label>:33:                                     ; preds = %29
  %34 = icmp eq i32 %31, 15
  %35 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %36 = select i1 %34, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %35
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %37 = getelementptr inbounds i8, i8* %36, i32 15
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %40

; <label>:38:                                     ; preds = %29
  %39 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %40

; <label>:40:                                     ; preds = %38, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14
  br label %340

; <label>:41:                                     ; preds = %24
  %42 = add nsw i32 %17, -2
  store i32 %42, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %43

; <label>:43:                                     ; preds = %41, %22
  %44 = phi i32 [ %23, %22 ], [ %42, %41 ]
  %45 = add nsw i32 %17, -1
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  switch i32 %49, label %252 [
    i32 1, label %50
    i32 2, label %71
    i32 3, label %92
    i32 4, label %111
    i32 5, label %132
    i32 6, label %151
    i32 7, label %172
    i32 8, label %193
    i32 9, label %212
    i32 10, label %233
  ]

; <label>:50:                                     ; preds = %43
  %51 = bitcast %class.variant.43* %46 to i8*
  %52 = load i8, i8* %51, align 1, !tbaa !12
  %53 = icmp ugt i8 %52, 63
  br i1 %53, label %54, label %69

; <label>:54:                                     ; preds = %50
  %55 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %56 = icmp eq i32 %55, 0
  br i1 %56, label %57, label %340

; <label>:57:                                     ; preds = %54
  %58 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %58) #14
  %59 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %60 = icmp ult i32 %59, 13
  br i1 %60, label %66, label %61

; <label>:61:                                     ; preds = %57
  %62 = icmp ugt i32 %59, 15
  %63 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %64 = select i1 %62, i8* %63, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %64, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %65 = getelementptr inbounds i8, i8* %64, i32 13
  store i8 0, i8* %65, align 1, !tbaa !12
  br label %68

; <label>:66:                                     ; preds = %57
  %67 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %68

; <label>:68:                                     ; preds = %66, %61
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %58) #14
  br label %340

; <label>:69:                                     ; preds = %50
  %70 = zext i8 %52 to i32
  br label %267

; <label>:71:                                     ; preds = %43
  %72 = bitcast %class.variant.43* %46 to i16*
  %73 = load i16, i16* %72, align 2, !tbaa !59
  %74 = icmp ugt i16 %73, 63
  br i1 %74, label %75, label %90

; <label>:75:                                     ; preds = %71
  %76 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %77 = icmp eq i32 %76, 0
  br i1 %77, label %78, label %340

; <label>:78:                                     ; preds = %75
  %79 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %79) #14
  %80 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %81 = icmp ult i32 %80, 13
  br i1 %81, label %87, label %82

; <label>:82:                                     ; preds = %78
  %83 = icmp ugt i32 %80, 15
  %84 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %85 = select i1 %83, i8* %84, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %85, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %86 = getelementptr inbounds i8, i8* %85, i32 13
  store i8 0, i8* %86, align 1, !tbaa !12
  br label %89

; <label>:87:                                     ; preds = %78
  %88 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %89

; <label>:89:                                     ; preds = %87, %82
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %79) #14
  br label %340

; <label>:90:                                     ; preds = %71
  %91 = zext i16 %73 to i32
  br label %267

; <label>:92:                                     ; preds = %43
  %93 = bitcast %class.variant.43* %46 to i32*
  %94 = load i32, i32* %93, align 4, !tbaa !24
  %95 = icmp ugt i32 %94, 63
  br i1 %95, label %96, label %267

; <label>:96:                                     ; preds = %92
  %97 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %98 = icmp eq i32 %97, 0
  br i1 %98, label %99, label %340

; <label>:99:                                     ; preds = %96
  %100 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %100) #14
  %101 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %102 = icmp ult i32 %101, 13
  br i1 %102, label %108, label %103

; <label>:103:                                    ; preds = %99
  %104 = icmp ugt i32 %101, 15
  %105 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %106 = select i1 %104, i8* %105, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %106, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %107 = getelementptr inbounds i8, i8* %106, i32 13
  store i8 0, i8* %107, align 1, !tbaa !12
  br label %110

; <label>:108:                                    ; preds = %99
  %109 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %110

; <label>:110:                                    ; preds = %108, %103
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %100) #14
  br label %340

; <label>:111:                                    ; preds = %43
  %112 = bitcast %class.variant.43* %46 to i64*
  %113 = load i64, i64* %112, align 8, !tbaa !61
  %114 = icmp ugt i64 %113, 63
  br i1 %114, label %115, label %130

; <label>:115:                                    ; preds = %111
  %116 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %117 = icmp eq i32 %116, 0
  br i1 %117, label %118, label %340

; <label>:118:                                    ; preds = %115
  %119 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %119) #14
  %120 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %121 = icmp ult i32 %120, 13
  br i1 %121, label %127, label %122

; <label>:122:                                    ; preds = %118
  %123 = icmp ugt i32 %120, 15
  %124 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %125 = select i1 %123, i8* %124, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %126 = getelementptr inbounds i8, i8* %125, i32 13
  store i8 0, i8* %126, align 1, !tbaa !12
  br label %129

; <label>:127:                                    ; preds = %118
  %128 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %129

; <label>:129:                                    ; preds = %127, %122
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %119) #14
  br label %340

; <label>:130:                                    ; preds = %111
  %131 = trunc i64 %113 to i32
  br label %267

; <label>:132:                                    ; preds = %43
  %133 = bitcast %class.variant.43* %46 to i32*
  %134 = load i32, i32* %133, align 4, !tbaa !538
  %135 = icmp ugt i32 %134, 63
  br i1 %135, label %136, label %267

; <label>:136:                                    ; preds = %132
  %137 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %138 = icmp eq i32 %137, 0
  br i1 %138, label %139, label %340

; <label>:139:                                    ; preds = %136
  %140 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %140) #14
  %141 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %142 = icmp ult i32 %141, 13
  br i1 %142, label %148, label %143

; <label>:143:                                    ; preds = %139
  %144 = icmp ugt i32 %141, 15
  %145 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %146 = select i1 %144, i8* %145, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %146, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %147 = getelementptr inbounds i8, i8* %146, i32 13
  store i8 0, i8* %147, align 1, !tbaa !12
  br label %150

; <label>:148:                                    ; preds = %139
  %149 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %150

; <label>:150:                                    ; preds = %148, %143
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %140) #14
  br label %340

; <label>:151:                                    ; preds = %43
  %152 = bitcast %class.variant.43* %46 to i8*
  %153 = load i8, i8* %152, align 1, !tbaa !12
  %154 = icmp ugt i8 %153, 63
  br i1 %154, label %155, label %170

; <label>:155:                                    ; preds = %151
  %156 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %340

; <label>:158:                                    ; preds = %155
  %159 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %159) #14
  %160 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %161 = icmp ult i32 %160, 13
  br i1 %161, label %167, label %162

; <label>:162:                                    ; preds = %158
  %163 = icmp ugt i32 %160, 15
  %164 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %165 = select i1 %163, i8* %164, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %165, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %166 = getelementptr inbounds i8, i8* %165, i32 13
  store i8 0, i8* %166, align 1, !tbaa !12
  br label %169

; <label>:167:                                    ; preds = %158
  %168 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %169

; <label>:169:                                    ; preds = %167, %162
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %159) #14
  br label %340

; <label>:170:                                    ; preds = %151
  %171 = zext i8 %153 to i32
  br label %267

; <label>:172:                                    ; preds = %43
  %173 = bitcast %class.variant.43* %46 to i16*
  %174 = load i16, i16* %173, align 2, !tbaa !59
  %175 = icmp ugt i16 %174, 63
  br i1 %175, label %176, label %191

; <label>:176:                                    ; preds = %172
  %177 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %178 = icmp eq i32 %177, 0
  br i1 %178, label %179, label %340

; <label>:179:                                    ; preds = %176
  %180 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %180) #14
  %181 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %182 = icmp ult i32 %181, 13
  br i1 %182, label %188, label %183

; <label>:183:                                    ; preds = %179
  %184 = icmp ugt i32 %181, 15
  %185 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %186 = select i1 %184, i8* %185, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %186, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %187 = getelementptr inbounds i8, i8* %186, i32 13
  store i8 0, i8* %187, align 1, !tbaa !12
  br label %190

; <label>:188:                                    ; preds = %179
  %189 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %190

; <label>:190:                                    ; preds = %188, %183
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %180) #14
  br label %340

; <label>:191:                                    ; preds = %172
  %192 = zext i16 %174 to i32
  br label %267

; <label>:193:                                    ; preds = %43
  %194 = bitcast %class.variant.43* %46 to i32*
  %195 = load i32, i32* %194, align 4, !tbaa !24
  %196 = icmp ugt i32 %195, 63
  br i1 %196, label %197, label %267

; <label>:197:                                    ; preds = %193
  %198 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %199 = icmp eq i32 %198, 0
  br i1 %199, label %200, label %340

; <label>:200:                                    ; preds = %197
  %201 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %201) #14
  %202 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %203 = icmp ult i32 %202, 13
  br i1 %203, label %209, label %204

; <label>:204:                                    ; preds = %200
  %205 = icmp ugt i32 %202, 15
  %206 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %207 = select i1 %205, i8* %206, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %207, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %208 = getelementptr inbounds i8, i8* %207, i32 13
  store i8 0, i8* %208, align 1, !tbaa !12
  br label %211

; <label>:209:                                    ; preds = %200
  %210 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %211

; <label>:211:                                    ; preds = %209, %204
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %201) #14
  br label %340

; <label>:212:                                    ; preds = %43
  %213 = bitcast %class.variant.43* %46 to i64*
  %214 = load i64, i64* %213, align 8, !tbaa !61
  %215 = icmp ugt i64 %214, 63
  br i1 %215, label %216, label %231

; <label>:216:                                    ; preds = %212
  %217 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %218 = icmp eq i32 %217, 0
  br i1 %218, label %219, label %340

; <label>:219:                                    ; preds = %216
  %220 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %220) #14
  %221 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %222 = icmp ult i32 %221, 13
  br i1 %222, label %228, label %223

; <label>:223:                                    ; preds = %219
  %224 = icmp ugt i32 %221, 15
  %225 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %226 = select i1 %224, i8* %225, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %226, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %227 = getelementptr inbounds i8, i8* %226, i32 13
  store i8 0, i8* %227, align 1, !tbaa !12
  br label %230

; <label>:228:                                    ; preds = %219
  %229 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %230

; <label>:230:                                    ; preds = %228, %223
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %220) #14
  br label %340

; <label>:231:                                    ; preds = %212
  %232 = trunc i64 %214 to i32
  br label %267

; <label>:233:                                    ; preds = %43
  %234 = bitcast %class.variant.43* %46 to i32*
  %235 = load i32, i32* %234, align 4, !tbaa !540
  %236 = icmp ugt i32 %235, 63
  br i1 %236, label %237, label %267

; <label>:237:                                    ; preds = %233
  %238 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %239 = icmp eq i32 %238, 0
  br i1 %239, label %240, label %340

; <label>:240:                                    ; preds = %237
  %241 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %241) #14
  %242 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %243 = icmp ult i32 %242, 13
  br i1 %243, label %249, label %244

; <label>:244:                                    ; preds = %240
  %245 = icmp ugt i32 %242, 15
  %246 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %247 = select i1 %245, i8* %246, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %247, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %248 = getelementptr inbounds i8, i8* %247, i32 13
  store i8 0, i8* %248, align 1, !tbaa !12
  br label %251

; <label>:249:                                    ; preds = %240
  %250 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %251

; <label>:251:                                    ; preds = %249, %244
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %241) #14
  br label %340

; <label>:252:                                    ; preds = %43
  %253 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %340

; <label>:255:                                    ; preds = %252
  %256 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %256) #14
  %257 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %258 = icmp ult i32 %257, 13
  br i1 %258, label %264, label %259

; <label>:259:                                    ; preds = %255
  %260 = icmp ugt i32 %257, 15
  %261 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %262 = select i1 %260, i8* %261, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %262, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %263 = getelementptr inbounds i8, i8* %262, i32 13
  store i8 0, i8* %263, align 1, !tbaa !12
  br label %266

; <label>:264:                                    ; preds = %255
  %265 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@GHCDPJIF@invalid?5shift?$AA@", i32 0, i32 0)) #14
  br label %266

; <label>:266:                                    ; preds = %264, %259
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %256) #14
  br label %340

; <label>:267:                                    ; preds = %233, %231, %193, %191, %170, %132, %130, %92, %90, %69
  %268 = phi i32 [ %232, %231 ], [ %192, %191 ], [ %171, %170 ], [ %131, %130 ], [ %91, %90 ], [ %70, %69 ], [ %94, %92 ], [ %134, %132 ], [ %195, %193 ], [ %235, %233 ]
  %269 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44, i32 1
  %270 = load i32, i32* %269, align 8, !tbaa !535
  switch i32 %270, label %321 [
    i32 1, label %271
    i32 2, label %277
    i32 3, label %283
    i32 4, label %287
    i32 5, label %292
    i32 6, label %296
    i32 7, label %302
    i32 8, label %308
    i32 9, label %312
    i32 10, label %317
  ]

; <label>:271:                                    ; preds = %267
  %272 = bitcast %class.variant.43* %47 to i8*
  %273 = load i8, i8* %272, align 1, !tbaa !12
  %274 = sext i8 %273 to i32
  %275 = ashr i32 %274, %268
  %276 = trunc i32 %275 to i8
  store i8 %276, i8* %272, align 1, !tbaa !12
  br label %334

; <label>:277:                                    ; preds = %267
  %278 = bitcast %class.variant.43* %47 to i16*
  %279 = load i16, i16* %278, align 2, !tbaa !59
  %280 = sext i16 %279 to i32
  %281 = ashr i32 %280, %268
  %282 = trunc i32 %281 to i16
  store i16 %282, i16* %278, align 2, !tbaa !59
  br label %334

; <label>:283:                                    ; preds = %267
  %284 = bitcast %class.variant.43* %47 to i32*
  %285 = load i32, i32* %284, align 4, !tbaa !24
  %286 = ashr i32 %285, %268
  store i32 %286, i32* %284, align 4, !tbaa !24
  br label %334

; <label>:287:                                    ; preds = %267
  %288 = bitcast %class.variant.43* %47 to i64*
  %289 = load i64, i64* %288, align 8, !tbaa !61
  %290 = zext i32 %268 to i64
  %291 = ashr i64 %289, %290
  store i64 %291, i64* %288, align 8, !tbaa !61
  br label %334

; <label>:292:                                    ; preds = %267
  %293 = bitcast %class.variant.43* %47 to i32*
  %294 = load i32, i32* %293, align 4, !tbaa !538
  %295 = ashr i32 %294, %268
  store i32 %295, i32* %293, align 4, !tbaa !538
  br label %334

; <label>:296:                                    ; preds = %267
  %297 = bitcast %class.variant.43* %47 to i8*
  %298 = load i8, i8* %297, align 1, !tbaa !12
  %299 = zext i8 %298 to i32
  %300 = lshr i32 %299, %268
  %301 = trunc i32 %300 to i8
  store i8 %301, i8* %297, align 1, !tbaa !12
  br label %334

; <label>:302:                                    ; preds = %267
  %303 = bitcast %class.variant.43* %47 to i16*
  %304 = load i16, i16* %303, align 2, !tbaa !59
  %305 = zext i16 %304 to i32
  %306 = lshr i32 %305, %268
  %307 = trunc i32 %306 to i16
  store i16 %307, i16* %303, align 2, !tbaa !59
  br label %334

; <label>:308:                                    ; preds = %267
  %309 = bitcast %class.variant.43* %47 to i32*
  %310 = load i32, i32* %309, align 4, !tbaa !24
  %311 = lshr i32 %310, %268
  store i32 %311, i32* %309, align 4, !tbaa !24
  br label %334

; <label>:312:                                    ; preds = %267
  %313 = bitcast %class.variant.43* %47 to i64*
  %314 = load i64, i64* %313, align 8, !tbaa !61
  %315 = zext i32 %268 to i64
  %316 = lshr i64 %314, %315
  store i64 %316, i64* %313, align 8, !tbaa !61
  br label %334

; <label>:317:                                    ; preds = %267
  %318 = bitcast %class.variant.43* %47 to i32*
  %319 = load i32, i32* %318, align 4, !tbaa !540
  %320 = lshr i32 %319, %268
  store i32 %320, i32* %318, align 4, !tbaa !540
  br label %334

; <label>:321:                                    ; preds = %267
  %322 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %323 = icmp eq i32 %322, 0
  br i1 %323, label %324, label %340

; <label>:324:                                    ; preds = %321
  %325 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %325) #14
  %326 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %327 = icmp ult i32 %326, 16
  br i1 %327, label %331, label %328

; <label>:328:                                    ; preds = %324
  %329 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %329, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %330 = getelementptr inbounds i8, i8* %329, i32 16
  store i8 0, i8* %330, align 1, !tbaa !12
  br label %333

; <label>:331:                                    ; preds = %324
  %332 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %333

; <label>:333:                                    ; preds = %331, %328
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %325) #14
  br label %340

; <label>:334:                                    ; preds = %317, %312, %308, %302, %296, %292, %287, %283, %277, %271
  %335 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %336 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %337 = sub i32 %335, %336
  %338 = ashr exact i32 %337, 4
  %339 = add nsw i32 %338, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %339, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %340

; <label>:340:                                    ; preds = %334, %333, %321, %266, %252, %251, %237, %230, %216, %211, %197, %190, %176, %169, %155, %150, %136, %129, %115, %110, %96, %89, %75, %68, %54, %40, %26
  %341 = phi i1 [ false, %40 ], [ false, %26 ], [ true, %334 ], [ false, %110 ], [ false, %150 ], [ false, %211 ], [ false, %251 ], [ false, %266 ], [ false, %252 ], [ false, %333 ], [ false, %321 ], [ false, %96 ], [ false, %136 ], [ false, %197 ], [ false, %237 ], [ false, %68 ], [ false, %54 ], [ false, %89 ], [ false, %75 ], [ false, %129 ], [ false, %115 ], [ false, %169 ], [ false, %155 ], [ false, %190 ], [ false, %176 ], [ false, %230 ], [ false, %216 ]
  ret i1 %341
}

; Function Attrs: nounwind
define zeroext i1 @builtinSame() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %class.variant.43, align 8
  %3 = alloca %class.variant.43, align 8
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %54

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %54

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = bitcast %class.variant.43* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %38) #14
  %39 = bitcast %class.variant.43* %37 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %38, i8* %39, i32 16, i32 8, i1 false), !tbaa.struct !567
  %40 = bitcast %class.variant.43* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %40) #14
  %41 = bitcast %class.variant.43* %36 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %40, i8* %41, i32 16, i32 8, i1 false), !tbaa.struct !567
  %42 = call zeroext i1 @"\01?isSame@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@0@Z"(%class.variant.43* nonnull dereferenceable(16) %2, %class.variant.43* nonnull dereferenceable(16) %3) #14
  %43 = zext i1 %42 to i8
  %44 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %45 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %46 = sub i32 %44, %45
  %47 = ashr exact i32 %46, 4
  %48 = add nsw i32 %47, -2
  %49 = inttoptr i32 %45 to %class.variant.43*
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 %48
  %51 = bitcast %class.variant.43* %50 to i8*
  store i8 %43, i8* %51, align 8, !tbaa !566
  %52 = getelementptr inbounds %class.variant.43, %class.variant.43* %49, i32 %48, i32 1
  store i32 0, i32* %52, align 8, !tbaa !535
  %53 = add nsw i32 %47, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %53, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %3) #14
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %40) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %38) #14
  br label %54

; <label>:54:                                     ; preds = %33, %30, %16
  %55 = phi i1 [ true, %33 ], [ false, %30 ], [ false, %16 ]
  ret i1 %55
}

; Function Attrs: nounwind
define zeroext i1 @builtinSet() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %170

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %170

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = icmp eq i32 %39, 17
  br i1 %40, label %41, label %45

; <label>:41:                                     ; preds = %33
  %42 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %43 = load i32, i32* %42, align 8, !tbaa !535
  %44 = icmp eq i32 %43, 17
  br i1 %44, label %58, label %45

; <label>:45:                                     ; preds = %41, %33
  %46 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %47 = icmp eq i32 %46, 0
  br i1 %47, label %48, label %170

; <label>:48:                                     ; preds = %45
  %49 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %49) #14
  %50 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %51 = icmp ult i32 %50, 17
  br i1 %51, label %55, label %52

; <label>:52:                                     ; preds = %48
  %53 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %53, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %54 = getelementptr inbounds i8, i8* %53, i32 17
  store i8 0, i8* %54, align 1, !tbaa !12
  br label %57

; <label>:55:                                     ; preds = %48
  %56 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %57

; <label>:57:                                     ; preds = %55, %52
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %49) #14
  br label %170

; <label>:58:                                     ; preds = %41
  %59 = bitcast %class.variant.43* %36 to %struct.Combined**
  %60 = load %struct.Combined*, %struct.Combined** %59, align 4, !tbaa !23
  %61 = bitcast %class.variant.43* %37 to %struct.Combined**
  %62 = load %struct.Combined*, %struct.Combined** %61, align 4, !tbaa !23
  %63 = icmp eq %struct.Combined* %60, %62
  br i1 %63, label %64, label %77

; <label>:64:                                     ; preds = %58
  %65 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %66 = icmp eq i32 %65, 0
  br i1 %66, label %67, label %170

; <label>:67:                                     ; preds = %64
  %68 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %68) #14
  %69 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %70 = icmp ult i32 %69, 35
  br i1 %70, label %74, label %71

; <label>:71:                                     ; preds = %67
  %72 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 35, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %72, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@OKCECOIE@attempted?5to?5set?5combined?5to?5its@", i32 0, i32 0), i32 35, i32 1, i1 false) #14
  %73 = getelementptr inbounds i8, i8* %72, i32 35
  store i8 0, i8* %73, align 1, !tbaa !12
  br label %76

; <label>:74:                                     ; preds = %67
  %75 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 35, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@OKCECOIE@attempted?5to?5set?5combined?5to?5its@", i32 0, i32 0)) #14
  br label %76

; <label>:76:                                     ; preds = %74, %71
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %68) #14
  br label %170

; <label>:77:                                     ; preds = %58
  %78 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 1
  store i32 0, i32* %78, align 4, !tbaa !563
  %79 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 2
  store i32 0, i32* %79, align 4, !tbaa !564
  %80 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 3
  store i32 0, i32* %80, align 4, !tbaa !565
  %81 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 4
  %82 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %81, i32 0, i32 0, i32 0, i32 0, i32 0
  %83 = bitcast %"class.std::vector.17"* %81 to i32*
  %84 = load i32, i32* %83, align 4, !tbaa !23
  %85 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %86 = load %struct.Field*, %struct.Field** %85, align 4, !tbaa !23
  %87 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 4, i32 0, i32 0, i32 0, i32 2
  %88 = bitcast %struct.Field** %87 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %82, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %85, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %87, align 4, !tbaa !23
  %90 = inttoptr i32 %84 to %struct.Field*
  %91 = icmp eq %struct.Field* %86, %90
  br i1 %91, label %93, label %92

; <label>:92:                                     ; preds = %77
  br label %113

; <label>:93:                                     ; preds = %113, %77
  %94 = getelementptr inbounds %struct.Combined, %struct.Combined* %62, i32 0, i32 1
  %95 = load i32, i32* %94, align 4, !tbaa !563
  store i32 %95, i32* %78, align 4, !tbaa !563
  %96 = getelementptr inbounds %struct.Combined, %struct.Combined* %62, i32 0, i32 2
  %97 = load i32, i32* %96, align 4, !tbaa !564
  store i32 %97, i32* %79, align 4, !tbaa !564
  %98 = getelementptr inbounds %struct.Combined, %struct.Combined* %62, i32 0, i32 3
  %99 = load i32, i32* %98, align 4, !tbaa !565
  store i32 %99, i32* %80, align 4, !tbaa !565
  %100 = getelementptr inbounds %struct.Combined, %struct.Combined* %62, i32 0, i32 4
  %101 = getelementptr inbounds %struct.Combined, %struct.Combined* %62, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %102 = bitcast %struct.Field** %101 to i32*
  %103 = load i32, i32* %102, align 4, !tbaa !23
  %104 = bitcast %"class.std::vector.17"* %100 to i32*
  %105 = load i32, i32* %104, align 4, !tbaa !23
  %106 = sub i32 %103, %105
  %107 = sdiv exact i32 %106, 24
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %81, i32 %107, %"class.std::vector.17"* %81) #14
  %108 = load i32, i32* %102, align 4, !tbaa !23
  %109 = load i32, i32* %104, align 4, !tbaa !23
  %110 = icmp eq i32 %108, %109
  br i1 %110, label %118, label %111

; <label>:111:                                    ; preds = %93
  %112 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %100, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %150

; <label>:113:                                    ; preds = %113, %92
  %114 = phi %struct.Field* [ %115, %113 ], [ %86, %92 ]
  %115 = getelementptr inbounds %struct.Field, %struct.Field* %114, i32 -1
  %116 = getelementptr inbounds %struct.Field, %struct.Field* %114, i32 -1, i32 1
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %116) #14
  %117 = icmp eq %struct.Field* %115, %90
  br i1 %117, label %93, label %113

; <label>:118:                                    ; preds = %150, %93
  %119 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %120 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %121 = sub i32 %119, %120
  %122 = ashr exact i32 %121, 4
  %123 = add nsw i32 %122, -2
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %123, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %60) #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %62) #14
  %124 = icmp eq i32 %84, 0
  br i1 %124, label %170, label %125

; <label>:125:                                    ; preds = %118
  %126 = sub i32 %89, %84
  %127 = sdiv exact i32 %126, 24
  %128 = icmp ugt i32 %127, 178956970
  br i1 %128, label %145, label %129

; <label>:129:                                    ; preds = %125
  %130 = icmp ugt i32 %126, 4095
  br i1 %130, label %131, label %146

; <label>:131:                                    ; preds = %129
  %132 = icmp ult i32 %126, -35
  %133 = and i32 %84, 31
  %134 = icmp eq i32 %133, 0
  %135 = and i1 %134, %132
  br i1 %135, label %136, label %145

; <label>:136:                                    ; preds = %131
  %137 = add i32 %126, 35
  %138 = add i32 %84, -4
  %139 = inttoptr i32 %138 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !24
  %141 = icmp uge i32 %140, %84
  %142 = sub i32 %138, %140
  %143 = icmp ugt i32 %142, 31
  %144 = or i1 %141, %143
  br i1 %144, label %145, label %146

; <label>:145:                                    ; preds = %136, %131, %125
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:146:                                    ; preds = %136, %129
  %147 = phi i32 [ %84, %129 ], [ %140, %136 ]
  %148 = phi i32 [ %126, %129 ], [ %137, %136 ]
  %149 = inttoptr i32 %147 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %149, i32 %148) #14
  br label %170

; <label>:150:                                    ; preds = %150, %111
  %151 = phi i32 [ %109, %111 ], [ %166, %150 ]
  %152 = phi i32 [ 0, %111 ], [ %164, %150 ]
  %153 = inttoptr i32 %151 to %struct.Field*
  %154 = getelementptr inbounds %struct.Field, %struct.Field* %153, i32 %152
  %155 = bitcast %struct.Field* %154 to i32*
  %156 = load i32, i32* %155, align 8, !tbaa !561
  %157 = load %struct.Field*, %struct.Field** %82, align 4, !tbaa !23
  %158 = getelementptr inbounds %struct.Field, %struct.Field* %157, i32 %152
  %159 = bitcast %struct.Field* %158 to i32*
  store i32 %156, i32* %159, align 8, !tbaa !561
  %160 = load %struct.Field*, %struct.Field** %82, align 4, !tbaa !23
  %161 = getelementptr inbounds %struct.Field, %struct.Field* %160, i32 %152, i32 1
  %162 = load %struct.Field*, %struct.Field** %112, align 4, !tbaa !23
  %163 = getelementptr inbounds %struct.Field, %struct.Field* %162, i32 %152, i32 1
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %163, %class.variant.43* dereferenceable(16) %161) #14
  %164 = add i32 %152, 1
  %165 = load i32, i32* %102, align 4, !tbaa !23
  %166 = load i32, i32* %104, align 4, !tbaa !23
  %167 = sub i32 %165, %166
  %168 = sdiv exact i32 %167, 24
  %169 = icmp ult i32 %164, %168
  br i1 %169, label %150, label %118

; <label>:170:                                    ; preds = %146, %118, %76, %64, %57, %45, %30, %16
  %171 = phi i1 [ false, %30 ], [ false, %16 ], [ false, %57 ], [ false, %45 ], [ false, %76 ], [ false, %64 ], [ true, %118 ], [ true, %146 ]
  ret i1 %171
}

; Function Attrs: nounwind
define zeroext i1 @builtinSin() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @sin(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @sin(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @sin(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinSlash() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %15 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %16 = sub i32 %14, %15
  %17 = ashr exact i32 %16, 4
  %18 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %19 = sub i32 %17, %18
  %20 = icmp ult i32 %19, 2
  %21 = inttoptr i32 %15 to %class.variant.43*
  br i1 %20, label %24, label %22

; <label>:22:                                     ; preds = %0
  %23 = add nsw i32 %17, -2
  br label %43

; <label>:24:                                     ; preds = %0
  %25 = icmp ult i32 %17, 2
  br i1 %25, label %26, label %41

; <label>:26:                                     ; preds = %24
  %27 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %314

; <label>:29:                                     ; preds = %26
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14
  %31 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %32 = icmp ult i32 %31, 15
  br i1 %32, label %38, label %33

; <label>:33:                                     ; preds = %29
  %34 = icmp eq i32 %31, 15
  %35 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %36 = select i1 %34, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %35
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %36, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %37 = getelementptr inbounds i8, i8* %36, i32 15
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %40

; <label>:38:                                     ; preds = %29
  %39 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %40

; <label>:40:                                     ; preds = %38, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14
  br label %314

; <label>:41:                                     ; preds = %24
  %42 = add nsw i32 %17, -2
  store i32 %42, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %43

; <label>:43:                                     ; preds = %41, %22
  %44 = phi i32 [ %23, %22 ], [ %42, %41 ]
  %45 = add nsw i32 %17, -1
  %46 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45
  %47 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %45, i32 1
  %49 = load i32, i32* %48, align 8, !tbaa !535
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %21, i32 %44, i32 1
  %51 = load i32, i32* %50, align 8, !tbaa !535
  %52 = icmp eq i32 %49, %51
  br i1 %52, label %66, label %53

; <label>:53:                                     ; preds = %43
  %54 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %55 = icmp eq i32 %54, 0
  br i1 %55, label %56, label %314

; <label>:56:                                     ; preds = %53
  %57 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %57) #14
  %58 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %59 = icmp ult i32 %58, 17
  br i1 %59, label %63, label %60

; <label>:60:                                     ; preds = %56
  %61 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %61, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %62 = getelementptr inbounds i8, i8* %61, i32 17
  store i8 0, i8* %62, align 1, !tbaa !12
  br label %65

; <label>:63:                                     ; preds = %56
  %64 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %65

; <label>:65:                                     ; preds = %63, %60
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %57) #14
  br label %314

; <label>:66:                                     ; preds = %43
  switch i32 %49, label %295 [
    i32 1, label %67
    i32 2, label %91
    i32 3, label %115
    i32 4, label %136
    i32 5, label %157
    i32 6, label %178
    i32 7, label %199
    i32 8, label %220
    i32 9, label %241
    i32 10, label %262
    i32 11, label %283
    i32 12, label %289
  ]

; <label>:67:                                     ; preds = %66
  %68 = bitcast %class.variant.43* %46 to i8*
  %69 = load i8, i8* %68, align 1, !tbaa !12
  %70 = icmp eq i8 %69, 0
  br i1 %70, label %71, label %84

; <label>:71:                                     ; preds = %67
  %72 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %73 = icmp eq i32 %72, 0
  br i1 %73, label %74, label %314

; <label>:74:                                     ; preds = %71
  %75 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %75) #14
  %76 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %77 = icmp ult i32 %76, 16
  br i1 %77, label %81, label %78

; <label>:78:                                     ; preds = %74
  %79 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %79, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %80 = getelementptr inbounds i8, i8* %79, i32 16
  store i8 0, i8* %80, align 1, !tbaa !12
  br label %83

; <label>:81:                                     ; preds = %74
  %82 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %83

; <label>:83:                                     ; preds = %81, %78
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %75) #14
  br label %314

; <label>:84:                                     ; preds = %67
  %85 = sext i8 %69 to i32
  %86 = bitcast %class.variant.43* %47 to i8*
  %87 = load i8, i8* %86, align 1, !tbaa !12
  %88 = sext i8 %87 to i32
  %89 = sdiv i32 %88, %85
  %90 = trunc i32 %89 to i8
  store i8 %90, i8* %86, align 1, !tbaa !12
  br label %308

; <label>:91:                                     ; preds = %66
  %92 = bitcast %class.variant.43* %46 to i16*
  %93 = load i16, i16* %92, align 2, !tbaa !59
  %94 = icmp eq i16 %93, 0
  br i1 %94, label %95, label %108

; <label>:95:                                     ; preds = %91
  %96 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %97 = icmp eq i32 %96, 0
  br i1 %97, label %98, label %314

; <label>:98:                                     ; preds = %95
  %99 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %99) #14
  %100 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %101 = icmp ult i32 %100, 16
  br i1 %101, label %105, label %102

; <label>:102:                                    ; preds = %98
  %103 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %103, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %104 = getelementptr inbounds i8, i8* %103, i32 16
  store i8 0, i8* %104, align 1, !tbaa !12
  br label %107

; <label>:105:                                    ; preds = %98
  %106 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %107

; <label>:107:                                    ; preds = %105, %102
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %99) #14
  br label %314

; <label>:108:                                    ; preds = %91
  %109 = sext i16 %93 to i32
  %110 = bitcast %class.variant.43* %47 to i16*
  %111 = load i16, i16* %110, align 2, !tbaa !59
  %112 = sext i16 %111 to i32
  %113 = sdiv i32 %112, %109
  %114 = trunc i32 %113 to i16
  store i16 %114, i16* %110, align 2, !tbaa !59
  br label %308

; <label>:115:                                    ; preds = %66
  %116 = bitcast %class.variant.43* %46 to i32*
  %117 = load i32, i32* %116, align 4, !tbaa !24
  %118 = icmp eq i32 %117, 0
  br i1 %118, label %119, label %132

; <label>:119:                                    ; preds = %115
  %120 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %121 = icmp eq i32 %120, 0
  br i1 %121, label %122, label %314

; <label>:122:                                    ; preds = %119
  %123 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %123) #14
  %124 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %125 = icmp ult i32 %124, 16
  br i1 %125, label %129, label %126

; <label>:126:                                    ; preds = %122
  %127 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %127, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %128 = getelementptr inbounds i8, i8* %127, i32 16
  store i8 0, i8* %128, align 1, !tbaa !12
  br label %131

; <label>:129:                                    ; preds = %122
  %130 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %131

; <label>:131:                                    ; preds = %129, %126
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %123) #14
  br label %314

; <label>:132:                                    ; preds = %115
  %133 = bitcast %class.variant.43* %47 to i32*
  %134 = load i32, i32* %133, align 4, !tbaa !24
  %135 = sdiv i32 %134, %117
  store i32 %135, i32* %133, align 4, !tbaa !24
  br label %308

; <label>:136:                                    ; preds = %66
  %137 = bitcast %class.variant.43* %46 to i64*
  %138 = load i64, i64* %137, align 8, !tbaa !61
  %139 = icmp eq i64 %138, 0
  br i1 %139, label %140, label %153

; <label>:140:                                    ; preds = %136
  %141 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %142 = icmp eq i32 %141, 0
  br i1 %142, label %143, label %314

; <label>:143:                                    ; preds = %140
  %144 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %144) #14
  %145 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %146 = icmp ult i32 %145, 16
  br i1 %146, label %150, label %147

; <label>:147:                                    ; preds = %143
  %148 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %148, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %149 = getelementptr inbounds i8, i8* %148, i32 16
  store i8 0, i8* %149, align 1, !tbaa !12
  br label %152

; <label>:150:                                    ; preds = %143
  %151 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %152

; <label>:152:                                    ; preds = %150, %147
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %144) #14
  br label %314

; <label>:153:                                    ; preds = %136
  %154 = bitcast %class.variant.43* %47 to i64*
  %155 = load i64, i64* %154, align 8, !tbaa !61
  %156 = sdiv i64 %155, %138
  store i64 %156, i64* %154, align 8, !tbaa !61
  br label %308

; <label>:157:                                    ; preds = %66
  %158 = bitcast %class.variant.43* %46 to i32*
  %159 = load i32, i32* %158, align 4, !tbaa !538
  %160 = icmp eq i32 %159, 0
  br i1 %160, label %161, label %174

; <label>:161:                                    ; preds = %157
  %162 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %163 = icmp eq i32 %162, 0
  br i1 %163, label %164, label %314

; <label>:164:                                    ; preds = %161
  %165 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %165) #14
  %166 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %167 = icmp ult i32 %166, 16
  br i1 %167, label %171, label %168

; <label>:168:                                    ; preds = %164
  %169 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %169, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %170 = getelementptr inbounds i8, i8* %169, i32 16
  store i8 0, i8* %170, align 1, !tbaa !12
  br label %173

; <label>:171:                                    ; preds = %164
  %172 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %173

; <label>:173:                                    ; preds = %171, %168
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %165) #14
  br label %314

; <label>:174:                                    ; preds = %157
  %175 = bitcast %class.variant.43* %47 to i32*
  %176 = load i32, i32* %175, align 4, !tbaa !538
  %177 = sdiv i32 %176, %159
  store i32 %177, i32* %175, align 4, !tbaa !538
  br label %308

; <label>:178:                                    ; preds = %66
  %179 = bitcast %class.variant.43* %46 to i8*
  %180 = load i8, i8* %179, align 1, !tbaa !12
  %181 = icmp eq i8 %180, 0
  br i1 %181, label %182, label %195

; <label>:182:                                    ; preds = %178
  %183 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %184 = icmp eq i32 %183, 0
  br i1 %184, label %185, label %314

; <label>:185:                                    ; preds = %182
  %186 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %186) #14
  %187 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %188 = icmp ult i32 %187, 16
  br i1 %188, label %192, label %189

; <label>:189:                                    ; preds = %185
  %190 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %190, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %191 = getelementptr inbounds i8, i8* %190, i32 16
  store i8 0, i8* %191, align 1, !tbaa !12
  br label %194

; <label>:192:                                    ; preds = %185
  %193 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %194

; <label>:194:                                    ; preds = %192, %189
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %186) #14
  br label %314

; <label>:195:                                    ; preds = %178
  %196 = bitcast %class.variant.43* %47 to i8*
  %197 = load i8, i8* %196, align 1, !tbaa !12
  %198 = udiv i8 %197, %180
  store i8 %198, i8* %196, align 1, !tbaa !12
  br label %308

; <label>:199:                                    ; preds = %66
  %200 = bitcast %class.variant.43* %46 to i16*
  %201 = load i16, i16* %200, align 2, !tbaa !59
  %202 = icmp eq i16 %201, 0
  br i1 %202, label %203, label %216

; <label>:203:                                    ; preds = %199
  %204 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %205 = icmp eq i32 %204, 0
  br i1 %205, label %206, label %314

; <label>:206:                                    ; preds = %203
  %207 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %207) #14
  %208 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %209 = icmp ult i32 %208, 16
  br i1 %209, label %213, label %210

; <label>:210:                                    ; preds = %206
  %211 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %211, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %212 = getelementptr inbounds i8, i8* %211, i32 16
  store i8 0, i8* %212, align 1, !tbaa !12
  br label %215

; <label>:213:                                    ; preds = %206
  %214 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %215

; <label>:215:                                    ; preds = %213, %210
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %207) #14
  br label %314

; <label>:216:                                    ; preds = %199
  %217 = bitcast %class.variant.43* %47 to i16*
  %218 = load i16, i16* %217, align 2, !tbaa !59
  %219 = udiv i16 %218, %201
  store i16 %219, i16* %217, align 2, !tbaa !59
  br label %308

; <label>:220:                                    ; preds = %66
  %221 = bitcast %class.variant.43* %46 to i32*
  %222 = load i32, i32* %221, align 4, !tbaa !24
  %223 = icmp eq i32 %222, 0
  br i1 %223, label %224, label %237

; <label>:224:                                    ; preds = %220
  %225 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %227, label %314

; <label>:227:                                    ; preds = %224
  %228 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %228) #14
  %229 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %230 = icmp ult i32 %229, 16
  br i1 %230, label %234, label %231

; <label>:231:                                    ; preds = %227
  %232 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %232, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %233 = getelementptr inbounds i8, i8* %232, i32 16
  store i8 0, i8* %233, align 1, !tbaa !12
  br label %236

; <label>:234:                                    ; preds = %227
  %235 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %236

; <label>:236:                                    ; preds = %234, %231
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %228) #14
  br label %314

; <label>:237:                                    ; preds = %220
  %238 = bitcast %class.variant.43* %47 to i32*
  %239 = load i32, i32* %238, align 4, !tbaa !24
  %240 = udiv i32 %239, %222
  store i32 %240, i32* %238, align 4, !tbaa !24
  br label %308

; <label>:241:                                    ; preds = %66
  %242 = bitcast %class.variant.43* %46 to i64*
  %243 = load i64, i64* %242, align 8, !tbaa !61
  %244 = icmp eq i64 %243, 0
  br i1 %244, label %245, label %258

; <label>:245:                                    ; preds = %241
  %246 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %247 = icmp eq i32 %246, 0
  br i1 %247, label %248, label %314

; <label>:248:                                    ; preds = %245
  %249 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %249) #14
  %250 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %251 = icmp ult i32 %250, 16
  br i1 %251, label %255, label %252

; <label>:252:                                    ; preds = %248
  %253 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %253, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %254 = getelementptr inbounds i8, i8* %253, i32 16
  store i8 0, i8* %254, align 1, !tbaa !12
  br label %257

; <label>:255:                                    ; preds = %248
  %256 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %257

; <label>:257:                                    ; preds = %255, %252
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %249) #14
  br label %314

; <label>:258:                                    ; preds = %241
  %259 = bitcast %class.variant.43* %47 to i64*
  %260 = load i64, i64* %259, align 8, !tbaa !61
  %261 = udiv i64 %260, %243
  store i64 %261, i64* %259, align 8, !tbaa !61
  br label %308

; <label>:262:                                    ; preds = %66
  %263 = bitcast %class.variant.43* %46 to i32*
  %264 = load i32, i32* %263, align 4, !tbaa !540
  %265 = icmp eq i32 %264, 0
  br i1 %265, label %266, label %279

; <label>:266:                                    ; preds = %262
  %267 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %268 = icmp eq i32 %267, 0
  br i1 %268, label %269, label %314

; <label>:269:                                    ; preds = %266
  %270 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %270) #14
  %271 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %272 = icmp ult i32 %271, 16
  br i1 %272, label %276, label %273

; <label>:273:                                    ; preds = %269
  %274 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %274, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %275 = getelementptr inbounds i8, i8* %274, i32 16
  store i8 0, i8* %275, align 1, !tbaa !12
  br label %278

; <label>:276:                                    ; preds = %269
  %277 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@OMEBCKB@division?5by?5zero?$AA@", i32 0, i32 0)) #14
  br label %278

; <label>:278:                                    ; preds = %276, %273
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %270) #14
  br label %314

; <label>:279:                                    ; preds = %262
  %280 = bitcast %class.variant.43* %47 to i32*
  %281 = load i32, i32* %280, align 4, !tbaa !540
  %282 = udiv i32 %281, %264
  store i32 %282, i32* %280, align 4, !tbaa !540
  br label %308

; <label>:283:                                    ; preds = %66
  %284 = bitcast %class.variant.43* %47 to float*
  %285 = load float, float* %284, align 4, !tbaa !70
  %286 = bitcast %class.variant.43* %46 to float*
  %287 = load float, float* %286, align 4, !tbaa !70
  %288 = fdiv float %285, %287
  store float %288, float* %284, align 4, !tbaa !70
  br label %308

; <label>:289:                                    ; preds = %66
  %290 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 0, i32 0, i32 0, i32 0
  %291 = load double, double* %290, align 8, !tbaa !72
  %292 = getelementptr inbounds %class.variant.43, %class.variant.43* %46, i32 0, i32 0, i32 0, i32 0
  %293 = load double, double* %292, align 8, !tbaa !72
  %294 = fdiv double %291, %293
  store double %294, double* %290, align 8, !tbaa !72
  br label %308

; <label>:295:                                    ; preds = %66
  %296 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %297 = icmp eq i32 %296, 0
  br i1 %297, label %298, label %314

; <label>:298:                                    ; preds = %295
  %299 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %299) #14
  %300 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %301 = icmp ult i32 %300, 17
  br i1 %301, label %305, label %302

; <label>:302:                                    ; preds = %298
  %303 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %303, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %304 = getelementptr inbounds i8, i8* %303, i32 17
  store i8 0, i8* %304, align 1, !tbaa !12
  br label %307

; <label>:305:                                    ; preds = %298
  %306 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %307

; <label>:307:                                    ; preds = %305, %302
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %299) #14
  br label %314

; <label>:308:                                    ; preds = %289, %283, %279, %258, %237, %216, %195, %174, %153, %132, %108, %84
  %309 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %310 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %311 = sub i32 %309, %310
  %312 = ashr exact i32 %311, 4
  %313 = add nsw i32 %312, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %313, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %314

; <label>:314:                                    ; preds = %308, %307, %295, %278, %266, %257, %245, %236, %224, %215, %203, %194, %182, %173, %161, %152, %140, %131, %119, %107, %95, %83, %71, %65, %53, %40, %26
  %315 = phi i1 [ false, %40 ], [ false, %26 ], [ true, %308 ], [ false, %65 ], [ false, %53 ], [ false, %71 ], [ false, %83 ], [ false, %95 ], [ false, %107 ], [ false, %119 ], [ false, %131 ], [ false, %140 ], [ false, %152 ], [ false, %161 ], [ false, %173 ], [ false, %182 ], [ false, %194 ], [ false, %203 ], [ false, %215 ], [ false, %224 ], [ false, %236 ], [ false, %245 ], [ false, %257 ], [ false, %266 ], [ false, %278 ], [ false, %307 ], [ false, %295 ]
  ret i1 %315
}

; Function Attrs: nounwind
define zeroext i1 @builtinSqrt() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @sqrt(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @sqrt(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @sqrt(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinStorageSize() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %75

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %75

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %62 [
    i32 0, label %36
    i32 1, label %38
    i32 2, label %40
    i32 3, label %42
    i32 4, label %44
    i32 5, label %46
    i32 6, label %48
    i32 7, label %50
    i32 8, label %52
    i32 9, label %54
    i32 10, label %56
    i32 11, label %58
    i32 12, label %60
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to i32*
  store i32 1, i32* %37, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:38:                                     ; preds = %31
  %39 = bitcast %class.variant.43* %33 to i32*
  store i32 1, i32* %39, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:40:                                     ; preds = %31
  %41 = bitcast %class.variant.43* %33 to i32*
  store i32 2, i32* %41, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:42:                                     ; preds = %31
  %43 = bitcast %class.variant.43* %33 to i32*
  store i32 4, i32* %43, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:44:                                     ; preds = %31
  %45 = bitcast %class.variant.43* %33 to i32*
  store i32 8, i32* %45, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:46:                                     ; preds = %31
  %47 = bitcast %class.variant.43* %33 to i32*
  store i32 4, i32* %47, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:48:                                     ; preds = %31
  %49 = bitcast %class.variant.43* %33 to i32*
  store i32 1, i32* %49, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:50:                                     ; preds = %31
  %51 = bitcast %class.variant.43* %33 to i32*
  store i32 2, i32* %51, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:52:                                     ; preds = %31
  %53 = bitcast %class.variant.43* %33 to i32*
  store i32 4, i32* %53, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:54:                                     ; preds = %31
  %55 = bitcast %class.variant.43* %33 to i32*
  store i32 8, i32* %55, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:56:                                     ; preds = %31
  %57 = bitcast %class.variant.43* %33 to i32*
  store i32 4, i32* %57, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:58:                                     ; preds = %31
  %59 = bitcast %class.variant.43* %33 to i32*
  store i32 4, i32* %59, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:60:                                     ; preds = %31
  %61 = bitcast %class.variant.43* %33 to i32*
  store i32 8, i32* %61, align 4, !tbaa !24
  store i32 10, i32* %34, align 8, !tbaa !535
  br label %75

; <label>:62:                                     ; preds = %31
  %63 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %65, label %75

; <label>:65:                                     ; preds = %62
  %66 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %66) #14
  %67 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %68 = icmp ult i32 %67, 16
  br i1 %68, label %72, label %69

; <label>:69:                                     ; preds = %65
  %70 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %70, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %71 = getelementptr inbounds i8, i8* %70, i32 16
  store i8 0, i8* %71, align 1, !tbaa !12
  br label %74

; <label>:72:                                     ; preds = %65
  %73 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %74

; <label>:74:                                     ; preds = %72, %69
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %66) #14
  br label %75

; <label>:75:                                     ; preds = %74, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %28, %14
  %76 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %74 ], [ false, %62 ], [ true, %60 ], [ true, %58 ], [ true, %56 ], [ true, %54 ], [ true, %52 ], [ true, %50 ], [ true, %48 ], [ true, %46 ], [ true, %44 ], [ true, %42 ], [ true, %40 ], [ true, %38 ], [ true, %36 ]
  ret i1 %76
}

; Function Attrs: nounwind
define zeroext i1 @builtinTan() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %74

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %74

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  switch i32 %35, label %61 [
    i32 11, label %36
    i32 12, label %50
  ]

; <label>:36:                                     ; preds = %31
  %37 = bitcast %class.variant.43* %33 to float*
  %38 = load float, float* %37, align 4, !tbaa !70
  %39 = fpext float %38 to double
  %40 = tail call double @tan(double %39) #14
  %41 = fptrunc double %40 to float
  %42 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %44 = sub i32 %42, %43
  %45 = ashr exact i32 %44, 4
  %46 = add nsw i32 %45, -1
  %47 = inttoptr i32 %43 to %class.variant.43*
  %48 = getelementptr inbounds %class.variant.43, %class.variant.43* %47, i32 %46
  %49 = bitcast %class.variant.43* %48 to float*
  store float %41, float* %49, align 4, !tbaa !70
  br label %74

; <label>:50:                                     ; preds = %31
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %33, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  %53 = tail call double @tan(double %52) #14
  %54 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = ashr exact i32 %56, 4
  %58 = add nsw i32 %57, -1
  %59 = inttoptr i32 %55 to %class.variant.43*
  %60 = getelementptr inbounds %class.variant.43, %class.variant.43* %59, i32 %58, i32 0, i32 0, i32 0
  store double %53, double* %60, align 8, !tbaa !72
  br label %74

; <label>:61:                                     ; preds = %31
  %62 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %74

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %65) #14
  %66 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %67 = icmp ult i32 %66, 16
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %64
  %69 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %70 = getelementptr inbounds i8, i8* %69, i32 16
  store i8 0, i8* %70, align 1, !tbaa !12
  br label %73

; <label>:71:                                     ; preds = %64
  %72 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %73

; <label>:73:                                     ; preds = %71, %68
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %65) #14
  br label %74

; <label>:74:                                     ; preds = %73, %61, %50, %36, %28, %14
  %75 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %73 ], [ false, %61 ], [ true, %50 ], [ true, %36 ]
  ret i1 %75
}

; Function Attrs: nounwind
declare double @tan(double) local_unnamed_addr #5

; Function Attrs: nounwind
define zeroext i1 @builtinTextMemoryPointer() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"class.std::basic_string", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = icmp eq i32 %7, %8
  %10 = inttoptr i32 %5 to %class.variant.43*
  br i1 %9, label %13, label %11

; <label>:11:                                     ; preds = %0
  %12 = add nsw i32 %7, -1
  br label %32

; <label>:13:                                     ; preds = %0
  %14 = icmp eq i32 %7, 0
  br i1 %14, label %15, label %30

; <label>:15:                                     ; preds = %13
  %16 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %17 = icmp eq i32 %16, 0
  br i1 %17, label %18, label %186

; <label>:18:                                     ; preds = %15
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %20 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %21 = icmp ult i32 %20, 15
  br i1 %21, label %27, label %22

; <label>:22:                                     ; preds = %18
  %23 = icmp eq i32 %20, 15
  %24 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %25 = select i1 %23, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %24
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %26 = getelementptr inbounds i8, i8* %25, i32 15
  store i8 0, i8* %26, align 1, !tbaa !12
  br label %29

; <label>:27:                                     ; preds = %18
  %28 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %29

; <label>:29:                                     ; preds = %27, %22
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  br label %186

; <label>:30:                                     ; preds = %13
  %31 = add nsw i32 %7, -1
  store i32 %31, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %32

; <label>:32:                                     ; preds = %30, %11
  %33 = phi i32 [ %12, %11 ], [ %31, %30 ]
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33
  %35 = bitcast %class.variant.43* %34 to i32*
  %36 = load i32, i32* %35, align 8
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33, i32 1
  %38 = load i32, i32* %37, align 8
  switch i32 %38, label %173 [
    i32 13, label %39
    i32 14, label %51
  ]

; <label>:39:                                     ; preds = %32
  %40 = inttoptr i32 %36 to %"struct.std::pair.23"*
  %41 = inttoptr i32 %36 to i8*
  %42 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %43 = load i32, i32* %42, align 4, !tbaa !81
  %44 = icmp ugt i32 %43, 15
  br i1 %44, label %45, label %48

; <label>:45:                                     ; preds = %39
  %46 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %47 = load i8*, i8** %46, align 4, !tbaa !12
  br label %48

; <label>:48:                                     ; preds = %45, %39
  %49 = phi i8* [ %47, %45 ], [ %41, %39 ]
  %50 = ptrtoint i8* %49 to i32
  store i32 %50, i32* %35, align 4, !tbaa !24
  store i32 10, i32* %37, align 8, !tbaa !535
  br label %186

; <label>:51:                                     ; preds = %32
  %52 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %52) #14
  %53 = inttoptr i32 %36 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*
  %54 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %53, i32 0, i32 1
  %55 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %55, align 4, !tbaa !83
  %56 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %56, align 4, !tbaa !81
  %57 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %53, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %58 = load i32, i32* %57, align 4, !tbaa !83
  %59 = bitcast %"class.std::basic_string"* %54 to i8*
  %60 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %53, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %61 = load i32, i32* %60, align 4, !tbaa !81
  %62 = icmp ugt i32 %61, 15
  %63 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load i8*, i8** %63, align 4
  %65 = select i1 %62, i8* %64, i8* %59
  %66 = icmp ult i32 %58, 16
  br i1 %66, label %67, label %68

; <label>:67:                                     ; preds = %51
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %52, i8* %65, i32 16, i32 1, i1 false) #14
  br label %90

; <label>:68:                                     ; preds = %51
  %69 = or i32 %58, 15
  %70 = icmp ult i32 %69, 2147483647
  %71 = select i1 %70, i32 %69, i32 2147483647
  %72 = icmp ugt i32 %71, 4094
  br i1 %72, label %73, label %82

; <label>:73:                                     ; preds = %68
  %74 = add nuw i32 %71, 36
  %75 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %74) #14
  %76 = ptrtoint i8* %75 to i32
  %77 = add i32 %76, 35
  %78 = and i32 %77, -32
  %79 = inttoptr i32 %78 to i8*
  %80 = inttoptr i32 %78 to i32*
  %81 = getelementptr inbounds i32, i32* %80, i32 -1
  store i32 %76, i32* %81, align 4, !tbaa !24
  br label %85

; <label>:82:                                     ; preds = %68
  %83 = add nuw i32 %71, 1
  %84 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %83) #14
  br label %85

; <label>:85:                                     ; preds = %82, %73
  %86 = phi i8* [ %79, %73 ], [ %84, %82 ]
  %87 = ptrtoint i8* %86 to i32
  %88 = bitcast %"class.std::basic_string"* %3 to i32*
  store i32 %87, i32* %88, align 4, !tbaa !23
  %89 = add i32 %58, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %86, i8* %65, i32 %89, i32 1, i1 false) #14
  br label %90

; <label>:90:                                     ; preds = %85, %67
  %91 = phi i32 [ %71, %85 ], [ 15, %67 ]
  store i32 %58, i32* %55, align 4, !tbaa !83
  store i32 %91, i32* %56, align 4, !tbaa !81
  %92 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %3) #14
  %93 = bitcast %"struct.std::pair.23"* %92 to i8*
  %94 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %92, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %95 = load i32, i32* %94, align 4, !tbaa !81
  %96 = icmp ugt i32 %95, 15
  %97 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %92, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %98 = load i8*, i8** %97, align 4
  %99 = select i1 %96, i8* %98, i8* %93
  %100 = ptrtoint i8* %99 to i32
  %101 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %102 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %103 = sub i32 %101, %102
  %104 = ashr exact i32 %103, 4
  %105 = add nsw i32 %104, -1
  %106 = inttoptr i32 %102 to %class.variant.43*
  %107 = getelementptr inbounds %class.variant.43, %class.variant.43* %106, i32 %105
  %108 = bitcast %class.variant.43* %107 to i32*
  store i32 %100, i32* %108, align 4, !tbaa !24
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %106, i32 %105, i32 1
  store i32 10, i32* %109, align 8, !tbaa !535
  %110 = load i32, i32* %56, align 4, !tbaa !81
  %111 = icmp ugt i32 %110, 15
  br i1 %111, label %112, label %137

; <label>:112:                                    ; preds = %90
  %113 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %114 = load i8*, i8** %113, align 4, !tbaa !12
  %115 = add i32 %110, 1
  %116 = icmp ugt i32 %115, 4095
  br i1 %116, label %117, label %134

; <label>:117:                                    ; preds = %112
  %118 = add i32 %110, 36
  %119 = icmp ugt i32 %115, -36
  br i1 %119, label %133, label %120

; <label>:120:                                    ; preds = %117
  %121 = ptrtoint i8* %114 to i32
  %122 = and i32 %121, 31
  %123 = icmp eq i32 %122, 0
  br i1 %123, label %124, label %133

; <label>:124:                                    ; preds = %120
  %125 = add i32 %121, -4
  %126 = inttoptr i32 %125 to i32*
  %127 = load i32, i32* %126, align 4, !tbaa !24
  %128 = icmp ult i32 %127, %121
  br i1 %128, label %129, label %133

; <label>:129:                                    ; preds = %124
  %130 = sub i32 %125, %127
  %131 = icmp ugt i32 %130, 31
  %132 = inttoptr i32 %127 to i8*
  br i1 %131, label %133, label %134

; <label>:133:                                    ; preds = %129, %124, %120, %117
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:134:                                    ; preds = %129, %112
  %135 = phi i8* [ %132, %129 ], [ %114, %112 ]
  %136 = phi i32 [ %118, %129 ], [ %115, %112 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %135, i32 %136) #14
  br label %137

; <label>:137:                                    ; preds = %134, %90
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %52) #14
  %138 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %53, i32 0, i32 0
  %139 = load i32, i32* %138, align 4, !tbaa !547
  %140 = icmp eq i32 %139, 1
  br i1 %140, label %143, label %141

; <label>:141:                                    ; preds = %137
  %142 = add i32 %139, -1
  store i32 %142, i32* %138, align 4, !tbaa !547
  br label %186

; <label>:143:                                    ; preds = %137
  %144 = load i32, i32* %60, align 4, !tbaa !81
  %145 = icmp ugt i32 %144, 15
  br i1 %145, label %146, label %171

; <label>:146:                                    ; preds = %143
  %147 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %53, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %148 = load i8*, i8** %147, align 4, !tbaa !12
  %149 = add i32 %144, 1
  %150 = icmp ugt i32 %149, 4095
  br i1 %150, label %151, label %168

; <label>:151:                                    ; preds = %146
  %152 = add i32 %144, 36
  %153 = icmp ugt i32 %149, -36
  br i1 %153, label %167, label %154

; <label>:154:                                    ; preds = %151
  %155 = ptrtoint i8* %148 to i32
  %156 = and i32 %155, 31
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %167

; <label>:158:                                    ; preds = %154
  %159 = add i32 %155, -4
  %160 = inttoptr i32 %159 to i32*
  %161 = load i32, i32* %160, align 4, !tbaa !24
  %162 = icmp ult i32 %161, %155
  br i1 %162, label %163, label %167

; <label>:163:                                    ; preds = %158
  %164 = sub i32 %159, %161
  %165 = icmp ugt i32 %164, 31
  %166 = inttoptr i32 %161 to i8*
  br i1 %165, label %167, label %168

; <label>:167:                                    ; preds = %163, %158, %154, %151
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:168:                                    ; preds = %163, %146
  %169 = phi i8* [ %166, %163 ], [ %148, %146 ]
  %170 = phi i32 [ %152, %163 ], [ %149, %146 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %169, i32 %170) #14
  br label %171

; <label>:171:                                    ; preds = %168, %143
  %172 = inttoptr i32 %36 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %172) #21
  br label %186

; <label>:173:                                    ; preds = %32
  %174 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %175 = icmp eq i32 %174, 0
  br i1 %175, label %176, label %186

; <label>:176:                                    ; preds = %173
  %177 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %177) #14
  %178 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %179 = icmp ult i32 %178, 16
  br i1 %179, label %183, label %180

; <label>:180:                                    ; preds = %176
  %181 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %181, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %182 = getelementptr inbounds i8, i8* %181, i32 16
  store i8 0, i8* %182, align 1, !tbaa !12
  br label %185

; <label>:183:                                    ; preds = %176
  %184 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %185

; <label>:185:                                    ; preds = %183, %180
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %177) #14
  br label %186

; <label>:186:                                    ; preds = %185, %173, %171, %141, %48, %29, %15
  %187 = phi i1 [ false, %29 ], [ false, %15 ], [ false, %185 ], [ false, %173 ], [ true, %48 ], [ true, %141 ], [ true, %171 ]
  ret i1 %187
}

; Function Attrs: nounwind
define zeroext i1 @builtinTextMemorySize() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %97

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %97

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = bitcast %class.variant.43* %33 to i32*
  %35 = load i32, i32* %34, align 8
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %37 = load i32, i32* %36, align 8
  switch i32 %37, label %84 [
    i32 13, label %38
    i32 14, label %42
  ]

; <label>:38:                                     ; preds = %31
  %39 = inttoptr i32 %35 to %"struct.std::pair.23"*
  %40 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %39, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %41 = load i32, i32* %40, align 4, !tbaa !83
  store i32 %41, i32* %34, align 4, !tbaa !24
  store i32 10, i32* %36, align 8, !tbaa !535
  br label %97

; <label>:42:                                     ; preds = %31
  %43 = inttoptr i32 %35 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*
  %44 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %43, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %45 = load i32, i32* %44, align 4, !tbaa !83
  store i32 %45, i32* %34, align 4, !tbaa !24
  store i32 10, i32* %36, align 8, !tbaa !535
  %46 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %43, i32 0, i32 0
  %47 = load i32, i32* %46, align 4, !tbaa !547
  %48 = icmp eq i32 %47, 1
  br i1 %48, label %51, label %49

; <label>:49:                                     ; preds = %42
  %50 = add i32 %47, -1
  store i32 %50, i32* %46, align 4, !tbaa !547
  br label %97

; <label>:51:                                     ; preds = %42
  %52 = icmp eq i32 %35, 0
  br i1 %52, label %97, label %53

; <label>:53:                                     ; preds = %51
  %54 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %43, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %55 = load i32, i32* %54, align 4, !tbaa !81
  %56 = icmp ugt i32 %55, 15
  br i1 %56, label %57, label %82

; <label>:57:                                     ; preds = %53
  %58 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %43, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %59 = load i8*, i8** %58, align 4, !tbaa !12
  %60 = add i32 %55, 1
  %61 = icmp ugt i32 %60, 4095
  br i1 %61, label %62, label %79

; <label>:62:                                     ; preds = %57
  %63 = add i32 %55, 36
  %64 = icmp ugt i32 %60, -36
  br i1 %64, label %78, label %65

; <label>:65:                                     ; preds = %62
  %66 = ptrtoint i8* %59 to i32
  %67 = and i32 %66, 31
  %68 = icmp eq i32 %67, 0
  br i1 %68, label %69, label %78

; <label>:69:                                     ; preds = %65
  %70 = add i32 %66, -4
  %71 = inttoptr i32 %70 to i32*
  %72 = load i32, i32* %71, align 4, !tbaa !24
  %73 = icmp ult i32 %72, %66
  br i1 %73, label %74, label %78

; <label>:74:                                     ; preds = %69
  %75 = sub i32 %70, %72
  %76 = icmp ugt i32 %75, 31
  %77 = inttoptr i32 %72 to i8*
  br i1 %76, label %78, label %79

; <label>:78:                                     ; preds = %74, %69, %65, %62
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:79:                                     ; preds = %74, %57
  %80 = phi i8* [ %77, %74 ], [ %59, %57 ]
  %81 = phi i32 [ %63, %74 ], [ %60, %57 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %80, i32 %81) #14
  br label %82

; <label>:82:                                     ; preds = %79, %53
  %83 = inttoptr i32 %35 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %83) #21
  br label %97

; <label>:84:                                     ; preds = %31
  %85 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %86 = icmp eq i32 %85, 0
  br i1 %86, label %87, label %97

; <label>:87:                                     ; preds = %84
  %88 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %88) #14
  %89 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %90 = icmp ult i32 %89, 16
  br i1 %90, label %94, label %91

; <label>:91:                                     ; preds = %87
  %92 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %92, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %93 = getelementptr inbounds i8, i8* %92, i32 16
  store i8 0, i8* %93, align 1, !tbaa !12
  br label %96

; <label>:94:                                     ; preds = %87
  %95 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %96

; <label>:96:                                     ; preds = %94, %91
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %88) #14
  br label %97

; <label>:97:                                     ; preds = %96, %84, %82, %51, %49, %38, %28, %14
  %98 = phi i1 [ false, %28 ], [ false, %14 ], [ false, %96 ], [ false, %84 ], [ true, %38 ], [ true, %49 ], [ true, %51 ], [ true, %82 ]
  ret i1 %98
}

; Function Attrs: nounwind
define zeroext i1 @builtinTextSplit() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = ashr exact i32 %7, 4
  %9 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %10 = icmp eq i32 %8, %9
  %11 = inttoptr i32 %6 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %8, -1
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp eq i32 %8, 0
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %204

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %204

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %8, -1
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %36 = tail call zeroext i1 @"\01?isAnyText@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %35) #14
  br i1 %36, label %50, label %37

; <label>:37:                                     ; preds = %33
  %38 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %204

; <label>:40:                                     ; preds = %37
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %43 = icmp ult i32 %42, 16
  br i1 %43, label %47, label %44

; <label>:44:                                     ; preds = %40
  %45 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %46 = getelementptr inbounds i8, i8* %45, i32 16
  store i8 0, i8* %46, align 1, !tbaa !12
  br label %49

; <label>:47:                                     ; preds = %40
  %48 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %49

; <label>:49:                                     ; preds = %47, %44
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  br label %204

; <label>:50:                                     ; preds = %33
  %51 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %52 = load i32, i32* %51, align 8, !tbaa !535
  %53 = icmp eq i32 %52, 13
  br i1 %53, label %54, label %58

; <label>:54:                                     ; preds = %50
  %55 = bitcast %class.variant.43* %35 to %"struct.std::pair.23"**
  %56 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %55, align 4, !tbaa !542
  %57 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %56, i32 0, i32 0
  br label %62

; <label>:58:                                     ; preds = %50
  %59 = bitcast %class.variant.43* %35 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %60 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %59, align 4, !tbaa !549
  %61 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %60, i32 0, i32 1
  br label %62

; <label>:62:                                     ; preds = %58, %54
  %63 = phi %"class.std::basic_string"* [ %57, %54 ], [ %61, %58 ]
  %64 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %65 = getelementptr inbounds i8, i8* %64, i32 16
  %66 = bitcast i8* %65 to %struct.Field**
  store %struct.Field* null, %struct.Field** %66, align 4, !tbaa !554
  %67 = getelementptr inbounds i8, i8* %64, i32 20
  %68 = bitcast i8* %67 to %struct.Field**
  store %struct.Field* null, %struct.Field** %68, align 4, !tbaa !556
  %69 = getelementptr inbounds i8, i8* %64, i32 24
  %70 = bitcast i8* %69 to %struct.Field**
  store %struct.Field* null, %struct.Field** %70, align 4, !tbaa !557
  %71 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %72 = add i32 %71, 1
  store i32 %72, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %73 = bitcast i8* %64 to i32*
  store i32 1, i32* %73, align 4, !tbaa !558
  %74 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 1
  %75 = load i32, i32* %74, align 4, !tbaa !83
  %76 = icmp eq i32 %75, 0
  br i1 %76, label %92, label %77

; <label>:77:                                     ; preds = %62
  %78 = bitcast %"class.std::basic_string"* %63 to i8*
  %79 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 2
  %80 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %81 = bitcast i8* %65 to %"class.std::vector.17"*
  %82 = bitcast i8* %67 to i32*
  %83 = bitcast i8* %65 to i32*
  %84 = bitcast %"class.std::basic_string"* %4 to i8*
  %85 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %86 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %87 = bitcast i32* %85 to i64*
  %88 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  br label %105

; <label>:89:                                     ; preds = %141
  %90 = load i32, i32* %82, align 4, !tbaa !23
  %91 = load i32, i32* %83, align 4, !tbaa !23
  br label %92

; <label>:92:                                     ; preds = %89, %62
  %93 = phi i32 [ %91, %89 ], [ 0, %62 ]
  %94 = phi i32 [ %90, %89 ], [ 0, %62 ]
  %95 = sub i32 %94, %93
  %96 = sdiv exact i32 %95, 24
  %97 = getelementptr inbounds i8, i8* %64, i32 4
  %98 = bitcast i8* %97 to i32*
  store i32 %96, i32* %98, align 4, !tbaa !563
  %99 = getelementptr inbounds i8, i8* %64, i32 8
  %100 = bitcast i8* %99 to i32*
  store i32 %96, i32* %100, align 4, !tbaa !564
  %101 = getelementptr inbounds i8, i8* %64, i32 12
  %102 = bitcast i8* %101 to i32*
  store i32 %96, i32* %102, align 4, !tbaa !565
  %103 = load i32, i32* %51, align 8, !tbaa !535
  %104 = icmp eq i32 %103, 14
  br i1 %104, label %152, label %193

; <label>:105:                                    ; preds = %141, %77
  %106 = phi i32 [ 0, %77 ], [ %149, %141 ]
  %107 = load i32, i32* %79, align 4, !tbaa !81
  %108 = icmp ugt i32 %107, 15
  br i1 %108, label %109, label %111

; <label>:109:                                    ; preds = %105
  %110 = load i8*, i8** %80, align 4, !tbaa !12
  br label %111

; <label>:111:                                    ; preds = %109, %105
  %112 = phi i8* [ %110, %109 ], [ %78, %105 ]
  %113 = getelementptr inbounds i8, i8* %112, i32 %106
  %114 = call i32 @"\01?codePointSize@@YAIPBD@Z"(i8* %113) #14
  %115 = load i32, i32* %82, align 4, !tbaa !23
  %116 = load i32, i32* %83, align 4, !tbaa !23
  %117 = sub i32 %115, %116
  %118 = sdiv exact i32 %117, 24
  %119 = add nsw i32 %118, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %81, i32 %119, %"class.std::vector.17"* %81) #14
  %120 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %121 = load %struct.Field*, %struct.Field** %68, align 4, !tbaa !23
  %122 = getelementptr inbounds %struct.Field, %struct.Field* %121, i32 -1
  %123 = bitcast %struct.Field* %122 to i32*
  store i32 %120, i32* %123, align 8, !tbaa !561
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %84) #14
  store i64 0, i64* %87, align 4, !alias.scope !750
  store i32 15, i32* %86, align 4, !tbaa !81, !alias.scope !750
  store i8 0, i8* %84, align 4, !tbaa !12, !alias.scope !750
  %124 = load i32, i32* %74, align 4, !tbaa !83, !noalias !750
  %125 = icmp ult i32 %124, %106
  br i1 %125, label %126, label %127

; <label>:126:                                    ; preds = %111
  call void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() #12
  unreachable

; <label>:127:                                    ; preds = %111
  %128 = sub i32 %124, %106
  %129 = icmp ult i32 %128, %114
  %130 = select i1 %129, i32 %128, i32 %114
  %131 = load i32, i32* %79, align 4, !tbaa !81, !noalias !750
  %132 = icmp ugt i32 %131, 15
  %133 = load i8*, i8** %80, align 4, !noalias !750
  %134 = select i1 %132, i8* %133, i8* %78
  %135 = getelementptr inbounds i8, i8* %134, i32 %106
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %88) #14, !noalias !750
  %136 = icmp ugt i32 %130, 15
  br i1 %136, label %139, label %137

; <label>:137:                                    ; preds = %127
  store i32 %130, i32* %85, align 4, !tbaa !83, !alias.scope !750
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %84, i8* %135, i32 %130, i32 1, i1 false) #14
  %138 = getelementptr inbounds i8, i8* %84, i32 %130
  store i8 0, i8* %138, align 1, !tbaa !12, !alias.scope !750
  br label %141

; <label>:139:                                    ; preds = %127
  %140 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %4, i32 %130, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* %135) #14
  br label %141

; <label>:141:                                    ; preds = %139, %137
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %88) #14, !noalias !750
  %142 = load %struct.Field*, %struct.Field** %68, align 4, !tbaa !23
  %143 = getelementptr inbounds %struct.Field, %struct.Field* %142, i32 -1, i32 1
  %144 = call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %145 = bitcast i8* %144 to i32*
  store i32 1, i32* %145, align 4, !tbaa !547
  %146 = getelementptr inbounds i8, i8* %144, i32 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %146, i8* nonnull %84, i32 24, i32 1, i1 false) #14
  %147 = bitcast %class.variant.43* %143 to i8**
  store i8* %144, i8** %147, align 4, !tbaa !549
  %148 = getelementptr inbounds %struct.Field, %struct.Field* %142, i32 -1, i32 1, i32 1
  store i32 14, i32* %148, align 8, !tbaa !535
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %84) #14
  %149 = add i32 %114, %106
  %150 = load i32, i32* %74, align 4, !tbaa !83
  %151 = icmp ult i32 %149, %150
  br i1 %151, label %105, label %89

; <label>:152:                                    ; preds = %92
  %153 = bitcast %class.variant.43* %35 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %154 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %153, align 4, !tbaa !549
  %155 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 0
  %156 = load i32, i32* %155, align 4, !tbaa !547
  %157 = icmp eq i32 %156, 1
  br i1 %157, label %160, label %158

; <label>:158:                                    ; preds = %152
  %159 = add i32 %156, -1
  store i32 %159, i32* %155, align 4, !tbaa !547
  br label %193

; <label>:160:                                    ; preds = %152
  %161 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, null
  br i1 %161, label %193, label %162

; <label>:162:                                    ; preds = %160
  %163 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %164 = load i32, i32* %163, align 4, !tbaa !81
  %165 = icmp ugt i32 %164, 15
  br i1 %165, label %166, label %191

; <label>:166:                                    ; preds = %162
  %167 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %168 = load i8*, i8** %167, align 4, !tbaa !12
  %169 = add i32 %164, 1
  %170 = icmp ugt i32 %169, 4095
  br i1 %170, label %171, label %188

; <label>:171:                                    ; preds = %166
  %172 = add i32 %164, 36
  %173 = icmp ugt i32 %169, -36
  br i1 %173, label %187, label %174

; <label>:174:                                    ; preds = %171
  %175 = ptrtoint i8* %168 to i32
  %176 = and i32 %175, 31
  %177 = icmp eq i32 %176, 0
  br i1 %177, label %178, label %187

; <label>:178:                                    ; preds = %174
  %179 = add i32 %175, -4
  %180 = inttoptr i32 %179 to i32*
  %181 = load i32, i32* %180, align 4, !tbaa !24
  %182 = icmp ult i32 %181, %175
  br i1 %182, label %183, label %187

; <label>:183:                                    ; preds = %178
  %184 = sub i32 %179, %181
  %185 = icmp ugt i32 %184, 31
  %186 = inttoptr i32 %181 to i8*
  br i1 %185, label %187, label %188

; <label>:187:                                    ; preds = %183, %178, %174, %171
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:188:                                    ; preds = %183, %166
  %189 = phi i8* [ %186, %183 ], [ %168, %166 ]
  %190 = phi i32 [ %172, %183 ], [ %169, %166 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %189, i32 %190) #14
  br label %191

; <label>:191:                                    ; preds = %188, %162
  %192 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %154 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %192) #21
  br label %193

; <label>:193:                                    ; preds = %191, %160, %158, %92
  %194 = ptrtoint i8* %64 to i32
  %195 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %196 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %197 = sub i32 %195, %196
  %198 = ashr exact i32 %197, 4
  %199 = add nsw i32 %198, -1
  %200 = inttoptr i32 %196 to %class.variant.43*
  %201 = getelementptr inbounds %class.variant.43, %class.variant.43* %200, i32 %199
  %202 = bitcast %class.variant.43* %201 to i32*
  store i32 %194, i32* %202, align 8, !tbaa !23
  %203 = getelementptr inbounds %class.variant.43, %class.variant.43* %200, i32 %199, i32 1
  store i32 17, i32* %203, align 8, !tbaa !535
  br label %204

; <label>:204:                                    ; preds = %193, %49, %37, %30, %16
  %205 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %193 ], [ false, %49 ], [ false, %37 ]
  ret i1 %205
}

; Function Attrs: nounwind
define zeroext i1 @builtinTilde() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %0
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %0
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %54

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %54

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32, i32 1
  %34 = load i32, i32* %33, align 8, !tbaa !535
  %35 = icmp eq i32 %34, 0
  br i1 %35, label %49, label %36

; <label>:36:                                     ; preds = %31
  %37 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %38 = icmp eq i32 %37, 0
  br i1 %38, label %39, label %54

; <label>:39:                                     ; preds = %36
  %40 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %40) #14
  %41 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %42 = icmp ult i32 %41, 16
  br i1 %42, label %46, label %43

; <label>:43:                                     ; preds = %39
  %44 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %45 = getelementptr inbounds i8, i8* %44, i32 16
  store i8 0, i8* %45, align 1, !tbaa !12
  br label %48

; <label>:46:                                     ; preds = %39
  %47 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %48

; <label>:48:                                     ; preds = %46, %43
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %40) #14
  br label %54

; <label>:49:                                     ; preds = %31
  %50 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %51 = bitcast %class.variant.43* %50 to i8*
  %52 = load i8, i8* %51, align 1, !tbaa !566, !range !382
  %53 = xor i8 %52, 1
  store i8 %53, i8* %51, align 1, !tbaa !566
  br label %54

; <label>:54:                                     ; preds = %49, %48, %36, %28, %14
  %55 = phi i1 [ false, %28 ], [ false, %14 ], [ true, %49 ], [ false, %48 ], [ false, %36 ]
  ret i1 %55
}

; Function Attrs: nounwind
define zeroext i1 @builtinToText() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %class.variant.43, align 8
  %3 = alloca %"class.std::basic_string", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = icmp eq i32 %7, %8
  %10 = inttoptr i32 %5 to %class.variant.43*
  br i1 %9, label %13, label %11

; <label>:11:                                     ; preds = %0
  %12 = add nsw i32 %7, -1
  br label %32

; <label>:13:                                     ; preds = %0
  %14 = icmp eq i32 %7, 0
  br i1 %14, label %15, label %30

; <label>:15:                                     ; preds = %13
  %16 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %17 = icmp eq i32 %16, 0
  br i1 %17, label %18, label %50

; <label>:18:                                     ; preds = %15
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %20 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %21 = icmp ult i32 %20, 15
  br i1 %21, label %27, label %22

; <label>:22:                                     ; preds = %18
  %23 = icmp eq i32 %20, 15
  %24 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %25 = select i1 %23, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %24
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %26 = getelementptr inbounds i8, i8* %25, i32 15
  store i8 0, i8* %26, align 1, !tbaa !12
  br label %29

; <label>:27:                                     ; preds = %18
  %28 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %29

; <label>:29:                                     ; preds = %27, %22
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  br label %50

; <label>:30:                                     ; preds = %13
  %31 = add nsw i32 %7, -1
  store i32 %31, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %32

; <label>:32:                                     ; preds = %30, %11
  %33 = phi i32 [ %12, %11 ], [ %31, %30 ]
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33
  %35 = bitcast %class.variant.43* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %35) #14
  %36 = bitcast %class.variant.43* %34 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %35, i8* %36, i32 16, i32 8, i1 false), !tbaa.struct !567
  %37 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %37) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %3, %class.variant.43* nonnull dereferenceable(16) %2, i32 0) #14
  %38 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %39 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %40 = sub i32 %38, %39
  %41 = ashr exact i32 %40, 4
  %42 = add nsw i32 %41, -1
  %43 = inttoptr i32 %39 to %class.variant.43*
  %44 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 %42
  %45 = call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %46 = bitcast i8* %45 to i32*
  store i32 1, i32* %46, align 4, !tbaa !547
  %47 = getelementptr inbounds i8, i8* %45, i32 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* nonnull %37, i32 24, i32 1, i1 false) #14
  %48 = bitcast %class.variant.43* %44 to i8**
  store i8* %45, i8** %48, align 4, !tbaa !549
  %49 = getelementptr inbounds %class.variant.43, %class.variant.43* %43, i32 %42, i32 1
  store i32 14, i32* %49, align 8, !tbaa !535
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %37) #14
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %35) #14
  br label %50

; <label>:50:                                     ; preds = %32, %29, %15
  %51 = phi i1 [ true, %32 ], [ false, %29 ], [ false, %15 ]
  ret i1 %51
}

; Function Attrs: nounwind
define zeroext i1 @builtinTRUE() #2 {
  %1 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %2 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %3 = sub i32 %1, %2
  %4 = ashr exact i32 %3, 4
  %5 = add nsw i32 %4, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %5, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  %10 = add nsw i32 %9, -1
  %11 = inttoptr i32 %7 to %class.variant.43*
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10
  %13 = bitcast %class.variant.43* %12 to i8*
  store i8 1, i8* %13, align 8, !tbaa !566
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %10, i32 1
  store i32 0, i32* %14, align 8, !tbaa !535
  ret i1 true
}

; Function Attrs: nounwind
define zeroext i1 @builtinUntail() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = icmp eq i32 %7, %8
  %10 = inttoptr i32 %5 to %class.variant.43*
  br i1 %9, label %13, label %11

; <label>:11:                                     ; preds = %0
  %12 = add nsw i32 %7, -1
  br label %32

; <label>:13:                                     ; preds = %0
  %14 = icmp eq i32 %7, 0
  br i1 %14, label %15, label %30

; <label>:15:                                     ; preds = %13
  %16 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %17 = icmp eq i32 %16, 0
  br i1 %17, label %18, label %115

; <label>:18:                                     ; preds = %15
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %20 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %21 = icmp ult i32 %20, 15
  br i1 %21, label %27, label %22

; <label>:22:                                     ; preds = %18
  %23 = icmp eq i32 %20, 15
  %24 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %25 = select i1 %23, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %24
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %26 = getelementptr inbounds i8, i8* %25, i32 15
  store i8 0, i8* %26, align 1, !tbaa !12
  br label %29

; <label>:27:                                     ; preds = %18
  %28 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %29

; <label>:29:                                     ; preds = %27, %22
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  br label %115

; <label>:30:                                     ; preds = %13
  %31 = add nsw i32 %7, -1
  store i32 %31, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %32

; <label>:32:                                     ; preds = %30, %11
  %33 = phi i32 [ %12, %11 ], [ %31, %30 ]
  %34 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33, i32 1
  %35 = load i32, i32* %34, align 8, !tbaa !535
  %36 = icmp eq i32 %35, 17
  br i1 %36, label %52, label %37

; <label>:37:                                     ; preds = %32
  %38 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %115

; <label>:40:                                     ; preds = %37
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %43 = icmp ult i32 %42, 10
  br i1 %43, label %49, label %44

; <label>:44:                                     ; preds = %40
  %45 = icmp ugt i32 %42, 15
  %46 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %47 = select i1 %45, i8* %46, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %48 = getelementptr inbounds i8, i8* %47, i32 10
  store i8 0, i8* %48, align 1, !tbaa !12
  br label %51

; <label>:49:                                     ; preds = %40
  %50 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %51

; <label>:51:                                     ; preds = %49, %44
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  br label %115

; <label>:52:                                     ; preds = %32
  %53 = getelementptr inbounds %class.variant.43, %class.variant.43* %10, i32 %33
  %54 = bitcast %class.variant.43* %53 to %struct.Combined**
  %55 = load %struct.Combined*, %struct.Combined** %54, align 4, !tbaa !23
  %56 = getelementptr inbounds %struct.Combined, %struct.Combined* %55, i32 0, i32 4
  %57 = getelementptr inbounds %struct.Combined, %struct.Combined* %55, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %58 = bitcast %struct.Field** %57 to i32*
  %59 = load i32, i32* %58, align 4, !tbaa !23
  %60 = bitcast %"class.std::vector.17"* %56 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !23
  %62 = icmp eq i32 %59, %61
  br i1 %62, label %63, label %78

; <label>:63:                                     ; preds = %52
  %64 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %65 = icmp eq i32 %64, 0
  br i1 %65, label %66, label %115

; <label>:66:                                     ; preds = %63
  %67 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %67) #14
  %68 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %69 = icmp ult i32 %68, 10
  br i1 %69, label %75, label %70

; <label>:70:                                     ; preds = %66
  %71 = icmp ugt i32 %68, 15
  %72 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %73 = select i1 %71, i8* %72, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %73, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@DAAPHPOG@empty?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %74 = getelementptr inbounds i8, i8* %73, i32 10
  store i8 0, i8* %74, align 1, !tbaa !12
  br label %77

; <label>:75:                                     ; preds = %66
  %76 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@DAAPHPOG@empty?5list?$AA@", i32 0, i32 0)) #14
  br label %77

; <label>:77:                                     ; preds = %75, %70
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %67) #14
  br label %115

; <label>:78:                                     ; preds = %52
  %79 = add nsw i32 %7, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %79, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %80 = load %struct.Field*, %struct.Field** %57, align 4, !tbaa !23
  %81 = getelementptr inbounds %struct.Field, %struct.Field* %80, i32 -1, i32 1
  %82 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %83 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %84 = sub i32 %82, %83
  %85 = ashr exact i32 %84, 4
  %86 = add nsw i32 %85, -1
  %87 = inttoptr i32 %83 to %class.variant.43*
  %88 = getelementptr inbounds %class.variant.43, %class.variant.43* %87, i32 %86
  %89 = bitcast %class.variant.43* %88 to i8*
  %90 = bitcast %class.variant.43* %81 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %89, i8* %90, i32 16, i32 8, i1 false), !tbaa.struct !567
  %91 = getelementptr inbounds %struct.Combined, %struct.Combined* %55, i32 0, i32 1
  %92 = load i32, i32* %91, align 4, !tbaa !563
  %93 = load i32, i32* %58, align 4, !tbaa !23
  %94 = load i32, i32* %60, align 4, !tbaa !23
  %95 = sub i32 %93, %94
  %96 = sdiv exact i32 %95, 24
  %97 = icmp eq i32 %92, %96
  %98 = inttoptr i32 %93 to %struct.Field*
  br i1 %97, label %99, label %101

; <label>:99:                                     ; preds = %78
  %100 = add i32 %92, -1
  store i32 %100, i32* %91, align 4, !tbaa !563
  br label %101

; <label>:101:                                    ; preds = %99, %78
  %102 = getelementptr inbounds %struct.Combined, %struct.Combined* %55, i32 0, i32 2
  %103 = load i32, i32* %102, align 4, !tbaa !564
  %104 = icmp eq i32 %103, %96
  br i1 %104, label %105, label %107

; <label>:105:                                    ; preds = %101
  %106 = add nsw i32 %96, -1
  store i32 %106, i32* %102, align 4, !tbaa !564
  br label %107

; <label>:107:                                    ; preds = %105, %101
  %108 = getelementptr inbounds %struct.Combined, %struct.Combined* %55, i32 0, i32 3
  %109 = load i32, i32* %108, align 4, !tbaa !565
  %110 = icmp eq i32 %109, %96
  br i1 %110, label %111, label %113

; <label>:111:                                    ; preds = %107
  %112 = add nsw i32 %96, -1
  store i32 %112, i32* %108, align 4, !tbaa !565
  br label %113

; <label>:113:                                    ; preds = %111, %107
  %114 = getelementptr inbounds %struct.Field, %struct.Field* %98, i32 -1
  store %struct.Field* %114, %struct.Field** %57, align 4, !tbaa !23
  br label %115

; <label>:115:                                    ; preds = %113, %77, %63, %51, %37, %29, %15
  %116 = phi i1 [ false, %29 ], [ false, %15 ], [ false, %51 ], [ false, %37 ], [ true, %113 ], [ false, %77 ], [ false, %63 ]
  ret i1 %116
}

; Function Attrs: nounwind
define zeroext i1 @builtinUseFile() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = alloca %"class.std::basic_string", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = alloca %"class.std::basic_string", align 4
  %19 = alloca %"class.std::basic_string", align 4
  %20 = alloca %"class.std::basic_string", align 4
  %21 = alloca %"class.std::basic_string", align 4
  %22 = alloca %"class.std::basic_string", align 4
  %23 = alloca %"class.std::basic_string", align 4
  %24 = alloca [12 x i8], align 4
  %25 = alloca %"class.std::basic_string", align 4
  %26 = alloca %"class.std::basic_string", align 4
  %27 = alloca %"class.std::basic_string", align 4
  %28 = alloca %"class.std::basic_string", align 4
  %29 = alloca %"class.std::basic_string", align 4
  %30 = alloca %"class.std::basic_string", align 4
  %31 = alloca i64, align 4
  %32 = bitcast i64* %31 to %struct.SourceText*
  %33 = alloca i32, align 4
  %34 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %35 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %36 = sub i32 %34, %35
  %37 = ashr exact i32 %36, 4
  %38 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %39 = icmp eq i32 %37, %38
  %40 = inttoptr i32 %35 to %class.variant.43*
  br i1 %39, label %43, label %41

; <label>:41:                                     ; preds = %0
  %42 = add nsw i32 %37, -1
  br label %62

; <label>:43:                                     ; preds = %0
  %44 = icmp eq i32 %37, 0
  br i1 %44, label %45, label %60

; <label>:45:                                     ; preds = %43
  %46 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %47 = icmp eq i32 %46, 0
  br i1 %47, label %48, label %1064

; <label>:48:                                     ; preds = %45
  %49 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %49) #14
  %50 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %51 = icmp ult i32 %50, 15
  br i1 %51, label %57, label %52

; <label>:52:                                     ; preds = %48
  %53 = icmp eq i32 %50, 15
  %54 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %55 = select i1 %53, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %54
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %55, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %56 = getelementptr inbounds i8, i8* %55, i32 15
  store i8 0, i8* %56, align 1, !tbaa !12
  br label %59

; <label>:57:                                     ; preds = %48
  %58 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %59

; <label>:59:                                     ; preds = %57, %52
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %49) #14
  br label %1064

; <label>:60:                                     ; preds = %43
  %61 = add nsw i32 %37, -1
  store i32 %61, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %62

; <label>:62:                                     ; preds = %60, %41
  %63 = phi i32 [ %42, %41 ], [ %61, %60 ]
  %64 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %64) #14
  %65 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %66 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  %67 = bitcast i32* %65 to i64*
  store i64 0, i64* %67, align 4
  store i32 15, i32* %66, align 4, !tbaa !81
  store i8 0, i8* %64, align 4, !tbaa !12
  %68 = getelementptr inbounds %class.variant.43, %class.variant.43* %40, i32 %63
  %69 = tail call zeroext i1 @"\01?isAnyText@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %68) #14
  br i1 %69, label %83, label %70

; <label>:70:                                     ; preds = %62
  %71 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %72 = icmp eq i32 %71, 0
  br i1 %72, label %73, label %1034

; <label>:73:                                     ; preds = %70
  %74 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %74) #14
  %75 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %76 = icmp ult i32 %75, 16
  br i1 %76, label %80, label %77

; <label>:77:                                     ; preds = %73
  %78 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %78, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %79 = getelementptr inbounds i8, i8* %78, i32 16
  store i8 0, i8* %79, align 1, !tbaa !12
  br label %82

; <label>:80:                                     ; preds = %73
  %81 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %82

; <label>:82:                                     ; preds = %80, %77
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %74) #14
  br label %1034

; <label>:83:                                     ; preds = %62
  %84 = tail call zeroext i1 @"\01?hasFileSystem@@YA_NXZ"() #14
  br i1 %84, label %100, label %85

; <label>:85:                                     ; preds = %83
  %86 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %87 = icmp eq i32 %86, 0
  br i1 %87, label %88, label %1034

; <label>:88:                                     ; preds = %85
  %89 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %89) #14
  %90 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %91 = icmp ult i32 %90, 13
  br i1 %91, label %97, label %92

; <label>:92:                                     ; preds = %88
  %93 = icmp ugt i32 %90, 15
  %94 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %95 = select i1 %93, i8* %94, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %95, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@NKLCAAOG@no?5filesystem?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %96 = getelementptr inbounds i8, i8* %95, i32 13
  store i8 0, i8* %96, align 1, !tbaa !12
  br label %99

; <label>:97:                                     ; preds = %88
  %98 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@NKLCAAOG@no?5filesystem?$AA@", i32 0, i32 0)) #14
  br label %99

; <label>:99:                                     ; preds = %97, %92
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %89) #14
  br label %1034

; <label>:100:                                    ; preds = %83
  %101 = getelementptr inbounds %class.variant.43, %class.variant.43* %40, i32 %63, i32 1
  %102 = load i32, i32* %101, align 8, !tbaa !535
  %103 = icmp eq i32 %102, 13
  br i1 %103, label %104, label %137

; <label>:104:                                    ; preds = %100
  %105 = bitcast %"class.std::basic_string"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %105) #14
  %106 = bitcast %class.variant.43* %68 to %"struct.std::pair.23"**
  %107 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %106, align 4, !tbaa !542
  %108 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %107, i32 0, i32 0
  call void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z"(%"class.std::basic_string"* nonnull sret %16, %"class.std::basic_string"* dereferenceable(24) %108, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05JJJEGPH@?4easy?$AA@", i32 0, i32 0))
  %109 = load i32, i32* %66, align 4, !tbaa !81
  %110 = icmp ugt i32 %109, 15
  br i1 %110, label %111, label %136

; <label>:111:                                    ; preds = %104
  %112 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %113 = load i8*, i8** %112, align 4, !tbaa !12
  %114 = add i32 %109, 1
  %115 = icmp ugt i32 %114, 4095
  br i1 %115, label %116, label %133

; <label>:116:                                    ; preds = %111
  %117 = add i32 %109, 36
  %118 = icmp ugt i32 %114, -36
  br i1 %118, label %132, label %119

; <label>:119:                                    ; preds = %116
  %120 = ptrtoint i8* %113 to i32
  %121 = and i32 %120, 31
  %122 = icmp eq i32 %121, 0
  br i1 %122, label %123, label %132

; <label>:123:                                    ; preds = %119
  %124 = add i32 %120, -4
  %125 = inttoptr i32 %124 to i32*
  %126 = load i32, i32* %125, align 4, !tbaa !24
  %127 = icmp ult i32 %126, %120
  br i1 %127, label %128, label %132

; <label>:128:                                    ; preds = %123
  %129 = sub i32 %124, %126
  %130 = icmp ugt i32 %129, 31
  %131 = inttoptr i32 %126 to i8*
  br i1 %130, label %132, label %133

; <label>:132:                                    ; preds = %128, %123, %119, %116
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:133:                                    ; preds = %128, %111
  %134 = phi i8* [ %131, %128 ], [ %113, %111 ]
  %135 = phi i32 [ %117, %128 ], [ %114, %111 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %134, i32 %135) #14
  br label %136

; <label>:136:                                    ; preds = %133, %104
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %64, i8* nonnull %105, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %105) #14
  br label %209

; <label>:137:                                    ; preds = %100
  %138 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %138) #14
  %139 = bitcast %class.variant.43* %68 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %140 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %139, align 4, !tbaa !549
  %141 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %140, i32 0, i32 1
  call void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z"(%"class.std::basic_string"* nonnull sret %17, %"class.std::basic_string"* nonnull dereferenceable(24) %141, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05JJJEGPH@?4easy?$AA@", i32 0, i32 0))
  %142 = load i32, i32* %66, align 4, !tbaa !81
  %143 = icmp ugt i32 %142, 15
  br i1 %143, label %144, label %169

; <label>:144:                                    ; preds = %137
  %145 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %146 = load i8*, i8** %145, align 4, !tbaa !12
  %147 = add i32 %142, 1
  %148 = icmp ugt i32 %147, 4095
  br i1 %148, label %149, label %166

; <label>:149:                                    ; preds = %144
  %150 = add i32 %142, 36
  %151 = icmp ugt i32 %147, -36
  br i1 %151, label %165, label %152

; <label>:152:                                    ; preds = %149
  %153 = ptrtoint i8* %146 to i32
  %154 = and i32 %153, 31
  %155 = icmp eq i32 %154, 0
  br i1 %155, label %156, label %165

; <label>:156:                                    ; preds = %152
  %157 = add i32 %153, -4
  %158 = inttoptr i32 %157 to i32*
  %159 = load i32, i32* %158, align 4, !tbaa !24
  %160 = icmp ult i32 %159, %153
  br i1 %160, label %161, label %165

; <label>:161:                                    ; preds = %156
  %162 = sub i32 %157, %159
  %163 = icmp ugt i32 %162, 31
  %164 = inttoptr i32 %159 to i8*
  br i1 %163, label %165, label %166

; <label>:165:                                    ; preds = %161, %156, %152, %149
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:166:                                    ; preds = %161, %144
  %167 = phi i8* [ %164, %161 ], [ %146, %144 ]
  %168 = phi i32 [ %150, %161 ], [ %147, %144 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %167, i32 %168) #14
  br label %169

; <label>:169:                                    ; preds = %166, %137
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %64, i8* nonnull %138, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %138) #14
  %170 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %139, align 4, !tbaa !549
  %171 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %170, i32 0, i32 0
  %172 = load i32, i32* %171, align 4, !tbaa !547
  %173 = icmp eq i32 %172, 1
  br i1 %173, label %176, label %174

; <label>:174:                                    ; preds = %169
  %175 = add i32 %172, -1
  store i32 %175, i32* %171, align 4, !tbaa !547
  br label %209

; <label>:176:                                    ; preds = %169
  %177 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %170, null
  br i1 %177, label %209, label %178

; <label>:178:                                    ; preds = %176
  %179 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %170, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %180 = load i32, i32* %179, align 4, !tbaa !81
  %181 = icmp ugt i32 %180, 15
  br i1 %181, label %182, label %207

; <label>:182:                                    ; preds = %178
  %183 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %170, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %184 = load i8*, i8** %183, align 4, !tbaa !12
  %185 = add i32 %180, 1
  %186 = icmp ugt i32 %185, 4095
  br i1 %186, label %187, label %204

; <label>:187:                                    ; preds = %182
  %188 = add i32 %180, 36
  %189 = icmp ugt i32 %185, -36
  br i1 %189, label %203, label %190

; <label>:190:                                    ; preds = %187
  %191 = ptrtoint i8* %184 to i32
  %192 = and i32 %191, 31
  %193 = icmp eq i32 %192, 0
  br i1 %193, label %194, label %203

; <label>:194:                                    ; preds = %190
  %195 = add i32 %191, -4
  %196 = inttoptr i32 %195 to i32*
  %197 = load i32, i32* %196, align 4, !tbaa !24
  %198 = icmp ult i32 %197, %191
  br i1 %198, label %199, label %203

; <label>:199:                                    ; preds = %194
  %200 = sub i32 %195, %197
  %201 = icmp ugt i32 %200, 31
  %202 = inttoptr i32 %197 to i8*
  br i1 %201, label %203, label %204

; <label>:203:                                    ; preds = %199, %194, %190, %187
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:204:                                    ; preds = %199, %182
  %205 = phi i8* [ %202, %199 ], [ %184, %182 ]
  %206 = phi i32 [ %188, %199 ], [ %185, %182 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %205, i32 %206) #14
  br label %207

; <label>:207:                                    ; preds = %204, %178
  %208 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %170 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %208) #21
  br label %209

; <label>:209:                                    ; preds = %207, %176, %174, %136
  %210 = bitcast %"class.std::basic_string"* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %210) #14
  %211 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 1
  %212 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 2
  %213 = bitcast i32* %211 to i64*
  store i64 0, i64* %213, align 4
  store i32 15, i32* %212, align 4, !tbaa !81
  store i8 0, i8* %210, align 4, !tbaa !12
  %214 = bitcast %"class.std::basic_string"* %19 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %214) #14
  %215 = bitcast %"class.std::basic_string"* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %215) #14
  %216 = load i32*, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %217 = getelementptr inbounds i32, i32* %216, i32 -1
  %218 = load i32, i32* %217, align 4, !tbaa !24
  %219 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %220 = getelementptr inbounds %struct.File, %struct.File* %219, i32 %218, i32 1
  %221 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 1
  %222 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 2
  %223 = bitcast i32* %221 to i64*
  store i64 0, i64* %223, align 4, !alias.scope !753
  store i32 15, i32* %222, align 4, !tbaa !81, !alias.scope !753
  store i8 0, i8* %215, align 4, !tbaa !12, !alias.scope !753
  %224 = getelementptr inbounds %struct.File, %struct.File* %219, i32 %218, i32 1, i32 0, i32 0, i32 0, i32 1
  %225 = load i32, i32* %224, align 4, !tbaa !83, !noalias !753
  %226 = load i32, i32* %65, align 4, !tbaa !83, !noalias !753
  %227 = add i32 %226, %225
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %20, i32 %227) #14
  %228 = load i32, i32* %224, align 4, !tbaa !83, !noalias !753
  %229 = bitcast %"class.std::basic_string"* %220 to i8*
  %230 = getelementptr inbounds %struct.File, %struct.File* %219, i32 %218, i32 1, i32 0, i32 0, i32 0, i32 2
  %231 = load i32, i32* %230, align 4, !tbaa !81, !noalias !753
  %232 = icmp ugt i32 %231, 15
  %233 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %220, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %234 = load i8*, i8** %233, align 4, !noalias !753
  %235 = select i1 %232, i8* %234, i8* %229
  %236 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %236) #14, !noalias !753
  %237 = load i32, i32* %221, align 4, !tbaa !83, !alias.scope !753
  %238 = load i32, i32* %222, align 4, !tbaa !81, !alias.scope !753
  %239 = sub i32 %238, %237
  %240 = icmp ult i32 %239, %228
  br i1 %240, label %249, label %241

; <label>:241:                                    ; preds = %209
  %242 = add i32 %237, %228
  store i32 %242, i32* %221, align 4, !tbaa !83, !alias.scope !753
  %243 = icmp ugt i32 %238, 15
  %244 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %245 = load i8*, i8** %244, align 4
  %246 = select i1 %243, i8* %245, i8* %215
  %247 = getelementptr inbounds i8, i8* %246, i32 %237
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %247, i8* %235, i32 %228, i32 1, i1 false) #14
  %248 = getelementptr inbounds i8, i8* %246, i32 %242
  store i8 0, i8* %248, align 1, !tbaa !12
  br label %251

; <label>:249:                                    ; preds = %209
  %250 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %20, i32 %228, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %235, i32 %228) #14
  br label %251

; <label>:251:                                    ; preds = %249, %241
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %236) #14, !noalias !753
  %252 = load i32, i32* %65, align 4, !tbaa !83, !noalias !753
  %253 = load i32, i32* %66, align 4, !tbaa !81, !noalias !753
  %254 = icmp ugt i32 %253, 15
  %255 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %256 = load i8*, i8** %255, align 4, !noalias !753
  %257 = select i1 %254, i8* %256, i8* %64
  %258 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %258) #14, !noalias !753
  %259 = load i32, i32* %221, align 4, !tbaa !83, !alias.scope !753
  %260 = load i32, i32* %222, align 4, !tbaa !81, !alias.scope !753
  %261 = sub i32 %260, %259
  %262 = icmp ult i32 %261, %252
  br i1 %262, label %271, label %263

; <label>:263:                                    ; preds = %251
  %264 = add i32 %259, %252
  store i32 %264, i32* %221, align 4, !tbaa !83, !alias.scope !753
  %265 = icmp ugt i32 %260, 15
  %266 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %267 = load i8*, i8** %266, align 4
  %268 = select i1 %265, i8* %267, i8* %215
  %269 = getelementptr inbounds i8, i8* %268, i32 %259
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %269, i8* %257, i32 %252, i32 1, i1 false) #14
  %270 = getelementptr inbounds i8, i8* %268, i32 %264
  store i8 0, i8* %270, align 1, !tbaa !12
  br label %273

; <label>:271:                                    ; preds = %251
  %272 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %20, i32 %252, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* %257, i32 %252) #14
  br label %273

; <label>:273:                                    ; preds = %271, %263
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %258) #14, !noalias !753
  call void @"\01?loadFile@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@AAV12@@Z"(%"class.std::basic_string"* nonnull sret %19, %"class.std::basic_string"* nonnull dereferenceable(24) %20, %"class.std::basic_string"* nonnull dereferenceable(24) %18) #14
  %274 = load i32, i32* %222, align 4, !tbaa !81
  %275 = icmp ugt i32 %274, 15
  br i1 %275, label %276, label %301

; <label>:276:                                    ; preds = %273
  %277 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %278 = load i8*, i8** %277, align 4, !tbaa !12
  %279 = add i32 %274, 1
  %280 = icmp ugt i32 %279, 4095
  br i1 %280, label %281, label %298

; <label>:281:                                    ; preds = %276
  %282 = add i32 %274, 36
  %283 = icmp ugt i32 %279, -36
  br i1 %283, label %297, label %284

; <label>:284:                                    ; preds = %281
  %285 = ptrtoint i8* %278 to i32
  %286 = and i32 %285, 31
  %287 = icmp eq i32 %286, 0
  br i1 %287, label %288, label %297

; <label>:288:                                    ; preds = %284
  %289 = add i32 %285, -4
  %290 = inttoptr i32 %289 to i32*
  %291 = load i32, i32* %290, align 4, !tbaa !24
  %292 = icmp ult i32 %291, %285
  br i1 %292, label %293, label %297

; <label>:293:                                    ; preds = %288
  %294 = sub i32 %289, %291
  %295 = icmp ugt i32 %294, 31
  %296 = inttoptr i32 %291 to i8*
  br i1 %295, label %297, label %298

; <label>:297:                                    ; preds = %293, %288, %284, %281
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:298:                                    ; preds = %293, %276
  %299 = phi i8* [ %296, %293 ], [ %278, %276 ]
  %300 = phi i32 [ %282, %293 ], [ %279, %276 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %299, i32 %300) #14
  br label %301

; <label>:301:                                    ; preds = %298, %273
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %215) #14
  %302 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 1
  %303 = load i32, i32* %302, align 4, !tbaa !83
  %304 = icmp eq i32 %303, 0
  br i1 %304, label %728, label %305

; <label>:305:                                    ; preds = %301
  %306 = load i32, i32* bitcast (%"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %307 = load i32, i32* bitcast (%"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A" to i32*), align 4, !tbaa !23
  %308 = icmp eq i32 %306, %307
  br i1 %308, label %520, label %309

; <label>:309:                                    ; preds = %305
  %310 = bitcast %"class.std::basic_string"* %21 to i8*
  %311 = bitcast %"class.std::basic_string"* %22 to i8*
  %312 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 1
  %313 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 2
  %314 = bitcast i32* %312 to i64*
  %315 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  %316 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  %317 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 2
  %318 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %319 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 1
  %320 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 2
  %321 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %322

; <label>:322:                                    ; preds = %510, %309
  %323 = phi i32 [ %307, %309 ], [ %513, %510 ]
  %324 = phi i32 [ 0, %309 ], [ %511, %510 ]
  %325 = inttoptr i32 %323 to %"class.std::basic_string"*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %310) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %311) #14
  %326 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %325, i32 %324
  store i64 0, i64* %314, align 4, !alias.scope !756
  store i32 15, i32* %313, align 4, !tbaa !81, !alias.scope !756
  store i8 0, i8* %311, align 4, !tbaa !12, !alias.scope !756
  %327 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %325, i32 %324, i32 0, i32 0, i32 0, i32 1
  %328 = load i32, i32* %327, align 4, !tbaa !83, !noalias !756
  %329 = load i32, i32* %65, align 4, !tbaa !83, !noalias !756
  %330 = add i32 %329, %328
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %22, i32 %330) #14
  %331 = load i32, i32* %327, align 4, !tbaa !83, !noalias !756
  %332 = bitcast %"class.std::basic_string"* %326 to i8*
  %333 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %325, i32 %324, i32 0, i32 0, i32 0, i32 2
  %334 = load i32, i32* %333, align 4, !tbaa !81, !noalias !756
  %335 = icmp ugt i32 %334, 15
  %336 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %326, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %337 = load i8*, i8** %336, align 4, !noalias !756
  %338 = select i1 %335, i8* %337, i8* %332
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %315) #14, !noalias !756
  %339 = load i32, i32* %312, align 4, !tbaa !83, !alias.scope !756
  %340 = load i32, i32* %313, align 4, !tbaa !81, !alias.scope !756
  %341 = sub i32 %340, %339
  %342 = icmp ult i32 %341, %331
  br i1 %342, label %350, label %343

; <label>:343:                                    ; preds = %322
  %344 = add i32 %339, %331
  store i32 %344, i32* %312, align 4, !tbaa !83, !alias.scope !756
  %345 = icmp ugt i32 %340, 15
  %346 = load i8*, i8** %321, align 4
  %347 = select i1 %345, i8* %346, i8* %311
  %348 = getelementptr inbounds i8, i8* %347, i32 %339
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %348, i8* %338, i32 %331, i32 1, i1 false) #14
  %349 = getelementptr inbounds i8, i8* %347, i32 %344
  store i8 0, i8* %349, align 1, !tbaa !12
  br label %352

; <label>:350:                                    ; preds = %322
  %351 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %22, i32 %331, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* %338, i32 %331) #14
  br label %352

; <label>:352:                                    ; preds = %350, %343
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %315) #14, !noalias !756
  %353 = load i32, i32* %65, align 4, !tbaa !83, !noalias !756
  %354 = load i32, i32* %66, align 4, !tbaa !81, !noalias !756
  %355 = icmp ugt i32 %354, 15
  %356 = load i8*, i8** %255, align 4, !noalias !756
  %357 = select i1 %355, i8* %356, i8* %64
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %316) #14, !noalias !756
  %358 = load i32, i32* %312, align 4, !tbaa !83, !alias.scope !756
  %359 = load i32, i32* %313, align 4, !tbaa !81, !alias.scope !756
  %360 = sub i32 %359, %358
  %361 = icmp ult i32 %360, %353
  br i1 %361, label %369, label %362

; <label>:362:                                    ; preds = %352
  %363 = add i32 %358, %353
  store i32 %363, i32* %312, align 4, !tbaa !83, !alias.scope !756
  %364 = icmp ugt i32 %359, 15
  %365 = load i8*, i8** %321, align 4
  %366 = select i1 %364, i8* %365, i8* %311
  %367 = getelementptr inbounds i8, i8* %366, i32 %358
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %367, i8* %357, i32 %353, i32 1, i1 false) #14
  %368 = getelementptr inbounds i8, i8* %366, i32 %363
  store i8 0, i8* %368, align 1, !tbaa !12
  br label %371

; <label>:369:                                    ; preds = %352
  %370 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %22, i32 %353, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %357, i32 %353) #14
  br label %371

; <label>:371:                                    ; preds = %369, %362
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %316) #14, !noalias !756
  call void @"\01?loadFile@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@AAV12@@Z"(%"class.std::basic_string"* nonnull sret %21, %"class.std::basic_string"* nonnull dereferenceable(24) %22, %"class.std::basic_string"* nonnull dereferenceable(24) %18) #14
  %372 = load i32, i32* %317, align 4, !tbaa !81
  %373 = icmp ugt i32 %372, 15
  br i1 %373, label %374, label %398

; <label>:374:                                    ; preds = %371
  %375 = load i8*, i8** %318, align 4, !tbaa !12
  %376 = add i32 %372, 1
  %377 = icmp ugt i32 %376, 4095
  br i1 %377, label %378, label %395

; <label>:378:                                    ; preds = %374
  %379 = add i32 %372, 36
  %380 = icmp ugt i32 %376, -36
  br i1 %380, label %394, label %381

; <label>:381:                                    ; preds = %378
  %382 = ptrtoint i8* %375 to i32
  %383 = and i32 %382, 31
  %384 = icmp eq i32 %383, 0
  br i1 %384, label %385, label %394

; <label>:385:                                    ; preds = %381
  %386 = add i32 %382, -4
  %387 = inttoptr i32 %386 to i32*
  %388 = load i32, i32* %387, align 4, !tbaa !24
  %389 = icmp ult i32 %388, %382
  br i1 %389, label %390, label %394

; <label>:390:                                    ; preds = %385
  %391 = sub i32 %386, %388
  %392 = icmp ugt i32 %391, 31
  %393 = inttoptr i32 %388 to i8*
  br i1 %392, label %394, label %395

; <label>:394:                                    ; preds = %390, %385, %381, %378
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:395:                                    ; preds = %390, %374
  %396 = phi i8* [ %393, %390 ], [ %375, %374 ]
  %397 = phi i32 [ %379, %390 ], [ %376, %374 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %396, i32 %397) #14
  br label %398

; <label>:398:                                    ; preds = %395, %371
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %214, i8* nonnull %310, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %319, align 4, !tbaa !83
  store i32 15, i32* %320, align 4, !tbaa !81
  store i8 0, i8* %310, align 4, !tbaa !12
  %399 = load i32, i32* %313, align 4, !tbaa !81
  %400 = icmp ugt i32 %399, 15
  br i1 %400, label %401, label %425

; <label>:401:                                    ; preds = %398
  %402 = load i8*, i8** %321, align 4, !tbaa !12
  %403 = add i32 %399, 1
  %404 = icmp ugt i32 %403, 4095
  br i1 %404, label %405, label %422

; <label>:405:                                    ; preds = %401
  %406 = add i32 %399, 36
  %407 = icmp ugt i32 %403, -36
  br i1 %407, label %421, label %408

; <label>:408:                                    ; preds = %405
  %409 = ptrtoint i8* %402 to i32
  %410 = and i32 %409, 31
  %411 = icmp eq i32 %410, 0
  br i1 %411, label %412, label %421

; <label>:412:                                    ; preds = %408
  %413 = add i32 %409, -4
  %414 = inttoptr i32 %413 to i32*
  %415 = load i32, i32* %414, align 4, !tbaa !24
  %416 = icmp ult i32 %415, %409
  br i1 %416, label %417, label %421

; <label>:417:                                    ; preds = %412
  %418 = sub i32 %413, %415
  %419 = icmp ugt i32 %418, 31
  %420 = inttoptr i32 %415 to i8*
  br i1 %419, label %421, label %422

; <label>:421:                                    ; preds = %417, %412, %408, %405
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:422:                                    ; preds = %417, %401
  %423 = phi i8* [ %420, %417 ], [ %402, %401 ]
  %424 = phi i32 [ %406, %417 ], [ %403, %401 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %423, i32 %424) #14
  br label %425

; <label>:425:                                    ; preds = %422, %398
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %311) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %310) #14
  %426 = load i32, i32* %302, align 4, !tbaa !83
  %427 = icmp eq i32 %426, 0
  br i1 %427, label %428, label %510

; <label>:428:                                    ; preds = %425
  %429 = bitcast %"class.std::basic_string"* %23 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %429) #14
  %430 = load %"class.std::basic_string"*, %"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %431 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %430, i32 %324
  %432 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 1
  %433 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 2
  %434 = bitcast i32* %432 to i64*
  store i64 0, i64* %434, align 4, !alias.scope !759
  store i32 15, i32* %433, align 4, !tbaa !81, !alias.scope !759
  store i8 0, i8* %429, align 4, !tbaa !12, !alias.scope !759
  %435 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %430, i32 %324, i32 0, i32 0, i32 0, i32 1
  %436 = load i32, i32* %435, align 4, !tbaa !83, !noalias !759
  %437 = load i32, i32* %65, align 4, !tbaa !83, !noalias !759
  %438 = add i32 %437, %436
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %23, i32 %438) #14
  %439 = load i32, i32* %435, align 4, !tbaa !83, !noalias !759
  %440 = bitcast %"class.std::basic_string"* %431 to i8*
  %441 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %430, i32 %324, i32 0, i32 0, i32 0, i32 2
  %442 = load i32, i32* %441, align 4, !tbaa !81, !noalias !759
  %443 = icmp ugt i32 %442, 15
  %444 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %431, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %445 = load i8*, i8** %444, align 4, !noalias !759
  %446 = select i1 %443, i8* %445, i8* %440
  %447 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %447) #14, !noalias !759
  %448 = load i32, i32* %432, align 4, !tbaa !83, !alias.scope !759
  %449 = load i32, i32* %433, align 4, !tbaa !81, !alias.scope !759
  %450 = sub i32 %449, %448
  %451 = icmp ult i32 %450, %439
  br i1 %451, label %460, label %452

; <label>:452:                                    ; preds = %428
  %453 = add i32 %448, %439
  store i32 %453, i32* %432, align 4, !tbaa !83, !alias.scope !759
  %454 = icmp ugt i32 %449, 15
  %455 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %456 = load i8*, i8** %455, align 4
  %457 = select i1 %454, i8* %456, i8* %429
  %458 = getelementptr inbounds i8, i8* %457, i32 %448
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %458, i8* %446, i32 %439, i32 1, i1 false) #14
  %459 = getelementptr inbounds i8, i8* %457, i32 %453
  store i8 0, i8* %459, align 1, !tbaa !12
  br label %462

; <label>:460:                                    ; preds = %428
  %461 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %23, i32 %439, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %446, i32 %439) #14
  br label %462

; <label>:462:                                    ; preds = %460, %452
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %447) #14, !noalias !759
  %463 = load i32, i32* %65, align 4, !tbaa !83, !noalias !759
  %464 = load i32, i32* %66, align 4, !tbaa !81, !noalias !759
  %465 = icmp ugt i32 %464, 15
  %466 = load i8*, i8** %255, align 4, !noalias !759
  %467 = select i1 %465, i8* %466, i8* %64
  %468 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %468) #14, !noalias !759
  %469 = load i32, i32* %432, align 4, !tbaa !83, !alias.scope !759
  %470 = load i32, i32* %433, align 4, !tbaa !81, !alias.scope !759
  %471 = sub i32 %470, %469
  %472 = icmp ult i32 %471, %463
  br i1 %472, label %481, label %473

; <label>:473:                                    ; preds = %462
  %474 = add i32 %469, %463
  store i32 %474, i32* %432, align 4, !tbaa !83, !alias.scope !759
  %475 = icmp ugt i32 %470, 15
  %476 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %477 = load i8*, i8** %476, align 4
  %478 = select i1 %475, i8* %477, i8* %429
  %479 = getelementptr inbounds i8, i8* %478, i32 %469
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %479, i8* %467, i32 %463, i32 1, i1 false) #14
  %480 = getelementptr inbounds i8, i8* %478, i32 %474
  store i8 0, i8* %480, align 1, !tbaa !12
  br label %483

; <label>:481:                                    ; preds = %462
  %482 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %23, i32 %463, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %467, i32 %463) #14
  br label %483

; <label>:483:                                    ; preds = %481, %473
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %468) #14, !noalias !759
  %484 = load i32, i32* %66, align 4, !tbaa !81
  %485 = icmp ugt i32 %484, 15
  br i1 %485, label %486, label %517

; <label>:486:                                    ; preds = %483
  %487 = load i8*, i8** %255, align 4, !tbaa !12
  %488 = add i32 %484, 1
  %489 = icmp ugt i32 %488, 4095
  br i1 %489, label %490, label %507

; <label>:490:                                    ; preds = %486
  %491 = add i32 %484, 36
  %492 = icmp ugt i32 %488, -36
  br i1 %492, label %506, label %493

; <label>:493:                                    ; preds = %490
  %494 = ptrtoint i8* %487 to i32
  %495 = and i32 %494, 31
  %496 = icmp eq i32 %495, 0
  br i1 %496, label %497, label %506

; <label>:497:                                    ; preds = %493
  %498 = add i32 %494, -4
  %499 = inttoptr i32 %498 to i32*
  %500 = load i32, i32* %499, align 4, !tbaa !24
  %501 = icmp ult i32 %500, %494
  br i1 %501, label %502, label %506

; <label>:502:                                    ; preds = %497
  %503 = sub i32 %498, %500
  %504 = icmp ugt i32 %503, 31
  %505 = inttoptr i32 %500 to i8*
  br i1 %504, label %506, label %507

; <label>:506:                                    ; preds = %502, %497, %493, %490
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:507:                                    ; preds = %502, %486
  %508 = phi i8* [ %505, %502 ], [ %487, %486 ]
  %509 = phi i32 [ %491, %502 ], [ %488, %486 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %508, i32 %509) #14
  br label %517

; <label>:510:                                    ; preds = %425
  %511 = add i32 %324, 1
  %512 = load i32, i32* bitcast (%"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %513 = load i32, i32* bitcast (%"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A" to i32*), align 4, !tbaa !23
  %514 = sub i32 %512, %513
  %515 = sdiv exact i32 %514, 24
  %516 = icmp ult i32 %511, %515
  br i1 %516, label %322, label %520

; <label>:517:                                    ; preds = %507, %483
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %64, i8* nonnull %429, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %429) #14
  %518 = load i32, i32* %302, align 4, !tbaa !83
  %519 = icmp eq i32 %518, 0
  br i1 %519, label %814, label %520

; <label>:520:                                    ; preds = %517, %510, %305
  %521 = getelementptr inbounds [12 x i8], [12 x i8]* %24, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %521)
  %522 = bitcast %"class.std::basic_string"* %25 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %522) #14
  %523 = bitcast %"class.std::basic_string"* %26 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %523) #14
  %524 = bitcast %"class.std::basic_string"* %27 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %524) #14
  call void @"\01?extractFileName@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"(%"class.std::basic_string"* nonnull sret %27, %"class.std::basic_string"* nonnull dereferenceable(24) %15) #14
  %525 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %525) #14, !noalias !762
  %526 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 1
  %527 = load i32, i32* %526, align 4, !tbaa !83, !noalias !762
  %528 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 2
  %529 = load i32, i32* %528, align 4, !tbaa !81, !noalias !762
  %530 = sub i32 %529, %527
  %531 = icmp ult i32 %530, 21
  br i1 %531, label %554, label %532

; <label>:532:                                    ; preds = %520
  %533 = add i32 %527, 21
  store i32 %533, i32* %526, align 4, !tbaa !83, !noalias !762
  %534 = icmp ugt i32 %529, 15
  %535 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %536 = load i8*, i8** %535, align 4, !noalias !762
  %537 = select i1 %534, i8* %536, i8* %524
  %538 = icmp uge i8* %537, getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 21)
  %539 = getelementptr inbounds i8, i8* %537, i32 %527
  %540 = icmp ult i8* %539, getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 0)
  %541 = or i1 %538, %540
  br i1 %541, label %547, label %542

; <label>:542:                                    ; preds = %532
  %543 = icmp ugt i8* %537, getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 0)
  br i1 %543, label %544, label %547

; <label>:544:                                    ; preds = %542
  %545 = ptrtoint i8* %537 to i32
  %546 = sub i32 %545, ptrtoint ([22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@" to i32)
  br label %547

; <label>:547:                                    ; preds = %544, %542, %532
  %548 = phi i32 [ %546, %544 ], [ 21, %532 ], [ 0, %542 ]
  %549 = add i32 %527, 1
  %550 = getelementptr inbounds i8, i8* %537, i32 21
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %550, i8* %537, i32 %549, i32 1, i1 false) #14, !noalias !762
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %537, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 0), i32 %548, i32 1, i1 false) #14, !noalias !762
  %551 = sub i32 21, %548
  %552 = getelementptr inbounds i8, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 21), i32 %548
  %553 = getelementptr inbounds i8, i8* %537, i32 %548
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %553, i8* %552, i32 %551, i32 1, i1 false) #14, !noalias !762
  br label %556

; <label>:554:                                    ; preds = %520
  %555 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %27, i32 21, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i32 0, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @"\01??_C@_0BG@LMGFOLOC@unable?5to?5load?5file?5?$CC?$AA@", i32 0, i32 0), i32 21) #14, !noalias !762
  br label %556

; <label>:556:                                    ; preds = %554, %547
  %557 = phi %"class.std::basic_string"* [ %27, %547 ], [ %555, %554 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %525) #14, !noalias !762
  %558 = bitcast %"class.std::basic_string"* %557 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %523, i8* nonnull %558, i32 24, i32 1, i1 false) #14
  %559 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %557, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %559, align 4, !tbaa !83, !noalias !762
  %560 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %557, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %560, align 4, !tbaa !81, !noalias !762
  store i8 0, i8* %558, align 1, !tbaa !12, !noalias !762
  %561 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %561) #14, !noalias !765
  %562 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 1
  %563 = load i32, i32* %562, align 4, !tbaa !83, !noalias !765
  %564 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 2
  %565 = load i32, i32* %564, align 4, !tbaa !81, !noalias !765
  %566 = sub i32 %565, %563
  %567 = icmp ult i32 %566, 3
  br i1 %567, label %576, label %568

; <label>:568:                                    ; preds = %556
  %569 = add i32 %563, 3
  store i32 %569, i32* %562, align 4, !tbaa !83, !noalias !765
  %570 = icmp ugt i32 %565, 15
  %571 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %572 = load i8*, i8** %571, align 4, !noalias !765
  %573 = select i1 %570, i8* %572, i8* %523
  %574 = getelementptr inbounds i8, i8* %573, i32 %563
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %574, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03HAFDNMHA@?$CC?0?5?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14, !noalias !765
  %575 = getelementptr inbounds i8, i8* %573, i32 %569
  store i8 0, i8* %575, align 1, !tbaa !12, !noalias !765
  br label %578

; <label>:576:                                    ; preds = %556
  %577 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %26, i32 3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03HAFDNMHA@?$CC?0?5?$AA@", i32 0, i32 0), i32 3) #14, !noalias !765
  br label %578

; <label>:578:                                    ; preds = %576, %568
  %579 = phi %"class.std::basic_string"* [ %26, %568 ], [ %577, %576 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %561) #14, !noalias !765
  %580 = bitcast %"class.std::basic_string"* %579 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %522, i8* nonnull %580, i32 24, i32 1, i1 false) #14
  %581 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %579, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %581, align 4, !tbaa !83, !noalias !765
  %582 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %579, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %582, align 4, !tbaa !81, !noalias !765
  store i8 0, i8* %580, align 1, !tbaa !12, !noalias !765
  %583 = load i32, i32* %302, align 4, !tbaa !83, !noalias !768
  %584 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 2
  %585 = load i32, i32* %584, align 4, !tbaa !81, !noalias !768
  %586 = icmp ugt i32 %585, 15
  %587 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %588 = load i8*, i8** %587, align 4, !noalias !768
  %589 = select i1 %586, i8* %588, i8* %214
  %590 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %590) #14, !noalias !768
  %591 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 1
  %592 = load i32, i32* %591, align 4, !tbaa !83, !noalias !768
  %593 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 2
  %594 = load i32, i32* %593, align 4, !tbaa !81, !noalias !768
  %595 = sub i32 %594, %592
  %596 = icmp ult i32 %595, %583
  br i1 %596, label %605, label %597

; <label>:597:                                    ; preds = %578
  %598 = add i32 %592, %583
  store i32 %598, i32* %591, align 4, !tbaa !83, !noalias !768
  %599 = icmp ugt i32 %594, 15
  %600 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %601 = load i8*, i8** %600, align 4, !noalias !768
  %602 = select i1 %599, i8* %601, i8* %522
  %603 = getelementptr inbounds i8, i8* %602, i32 %592
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %603, i8* %589, i32 %583, i32 1, i1 false) #14, !noalias !768
  %604 = getelementptr inbounds i8, i8* %602, i32 %598
  store i8 0, i8* %604, align 1, !tbaa !12, !noalias !768
  br label %607

; <label>:605:                                    ; preds = %578
  %606 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %25, i32 %583, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %589, i32 %583) #14, !noalias !768
  br label %607

; <label>:607:                                    ; preds = %605, %597
  %608 = phi %"class.std::basic_string"* [ %25, %597 ], [ %606, %605 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %590) #14, !noalias !768
  %609 = bitcast %"class.std::basic_string"* %608 to i8*
  %610 = bitcast %"class.std::basic_string"* %608 to i32*
  %611 = load i32, i32* %610, align 1
  %612 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %608, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %521, i8* %612, i32 12, i32 1, i1 false)
  %613 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %608, i32 0, i32 0, i32 0, i32 0, i32 1
  %614 = load i32, i32* %613, align 1
  %615 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %608, i32 0, i32 0, i32 0, i32 0, i32 2
  %616 = load i32, i32* %615, align 1
  store i32 0, i32* %613, align 4, !tbaa !83, !noalias !768
  store i32 15, i32* %615, align 4, !tbaa !81, !noalias !768
  store i8 0, i8* %609, align 1, !tbaa !12, !noalias !768
  %617 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %618 = icmp ugt i32 %617, 15
  br i1 %618, label %619, label %643

; <label>:619:                                    ; preds = %607
  %620 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %621 = add i32 %617, 1
  %622 = icmp ugt i32 %621, 4095
  br i1 %622, label %623, label %640

; <label>:623:                                    ; preds = %619
  %624 = add i32 %617, 36
  %625 = icmp ugt i32 %621, -36
  br i1 %625, label %639, label %626

; <label>:626:                                    ; preds = %623
  %627 = ptrtoint i8* %620 to i32
  %628 = and i32 %627, 31
  %629 = icmp eq i32 %628, 0
  br i1 %629, label %630, label %639

; <label>:630:                                    ; preds = %626
  %631 = add i32 %627, -4
  %632 = inttoptr i32 %631 to i32*
  %633 = load i32, i32* %632, align 4, !tbaa !24
  %634 = icmp ult i32 %633, %627
  br i1 %634, label %635, label %639

; <label>:635:                                    ; preds = %630
  %636 = sub i32 %631, %633
  %637 = icmp ugt i32 %636, 31
  %638 = inttoptr i32 %633 to i8*
  br i1 %637, label %639, label %640

; <label>:639:                                    ; preds = %635, %630, %626, %623
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:640:                                    ; preds = %635, %619
  %641 = phi i8* [ %638, %635 ], [ %620, %619 ]
  %642 = phi i32 [ %624, %635 ], [ %621, %619 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %641, i32 %642) #14
  br label %643

; <label>:643:                                    ; preds = %640, %607
  store i32 %611, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %521, i32 12, i32 4, i1 false)
  store i32 %614, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %616, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %644 = load i32, i32* %593, align 4, !tbaa !81
  %645 = icmp ugt i32 %644, 15
  br i1 %645, label %646, label %671

; <label>:646:                                    ; preds = %643
  %647 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %648 = load i8*, i8** %647, align 4, !tbaa !12
  %649 = add i32 %644, 1
  %650 = icmp ugt i32 %649, 4095
  br i1 %650, label %651, label %668

; <label>:651:                                    ; preds = %646
  %652 = add i32 %644, 36
  %653 = icmp ugt i32 %649, -36
  br i1 %653, label %667, label %654

; <label>:654:                                    ; preds = %651
  %655 = ptrtoint i8* %648 to i32
  %656 = and i32 %655, 31
  %657 = icmp eq i32 %656, 0
  br i1 %657, label %658, label %667

; <label>:658:                                    ; preds = %654
  %659 = add i32 %655, -4
  %660 = inttoptr i32 %659 to i32*
  %661 = load i32, i32* %660, align 4, !tbaa !24
  %662 = icmp ult i32 %661, %655
  br i1 %662, label %663, label %667

; <label>:663:                                    ; preds = %658
  %664 = sub i32 %659, %661
  %665 = icmp ugt i32 %664, 31
  %666 = inttoptr i32 %661 to i8*
  br i1 %665, label %667, label %668

; <label>:667:                                    ; preds = %663, %658, %654, %651
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:668:                                    ; preds = %663, %646
  %669 = phi i8* [ %666, %663 ], [ %648, %646 ]
  %670 = phi i32 [ %652, %663 ], [ %649, %646 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %669, i32 %670) #14
  br label %671

; <label>:671:                                    ; preds = %668, %643
  store i32 0, i32* %591, align 4, !tbaa !83
  store i32 15, i32* %593, align 4, !tbaa !81
  store i8 0, i8* %522, align 4, !tbaa !12
  %672 = load i32, i32* %564, align 4, !tbaa !81
  %673 = icmp ugt i32 %672, 15
  br i1 %673, label %674, label %699

; <label>:674:                                    ; preds = %671
  %675 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %676 = load i8*, i8** %675, align 4, !tbaa !12
  %677 = add i32 %672, 1
  %678 = icmp ugt i32 %677, 4095
  br i1 %678, label %679, label %696

; <label>:679:                                    ; preds = %674
  %680 = add i32 %672, 36
  %681 = icmp ugt i32 %677, -36
  br i1 %681, label %695, label %682

; <label>:682:                                    ; preds = %679
  %683 = ptrtoint i8* %676 to i32
  %684 = and i32 %683, 31
  %685 = icmp eq i32 %684, 0
  br i1 %685, label %686, label %695

; <label>:686:                                    ; preds = %682
  %687 = add i32 %683, -4
  %688 = inttoptr i32 %687 to i32*
  %689 = load i32, i32* %688, align 4, !tbaa !24
  %690 = icmp ult i32 %689, %683
  br i1 %690, label %691, label %695

; <label>:691:                                    ; preds = %686
  %692 = sub i32 %687, %689
  %693 = icmp ugt i32 %692, 31
  %694 = inttoptr i32 %689 to i8*
  br i1 %693, label %695, label %696

; <label>:695:                                    ; preds = %691, %686, %682, %679
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:696:                                    ; preds = %691, %674
  %697 = phi i8* [ %694, %691 ], [ %676, %674 ]
  %698 = phi i32 [ %680, %691 ], [ %677, %674 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %697, i32 %698) #14
  br label %699

; <label>:699:                                    ; preds = %696, %671
  store i32 0, i32* %562, align 4, !tbaa !83
  store i32 15, i32* %564, align 4, !tbaa !81
  store i8 0, i8* %523, align 4, !tbaa !12
  %700 = load i32, i32* %528, align 4, !tbaa !81
  %701 = icmp ugt i32 %700, 15
  br i1 %701, label %702, label %727

; <label>:702:                                    ; preds = %699
  %703 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %704 = load i8*, i8** %703, align 4, !tbaa !12
  %705 = add i32 %700, 1
  %706 = icmp ugt i32 %705, 4095
  br i1 %706, label %707, label %724

; <label>:707:                                    ; preds = %702
  %708 = add i32 %700, 36
  %709 = icmp ugt i32 %705, -36
  br i1 %709, label %723, label %710

; <label>:710:                                    ; preds = %707
  %711 = ptrtoint i8* %704 to i32
  %712 = and i32 %711, 31
  %713 = icmp eq i32 %712, 0
  br i1 %713, label %714, label %723

; <label>:714:                                    ; preds = %710
  %715 = add i32 %711, -4
  %716 = inttoptr i32 %715 to i32*
  %717 = load i32, i32* %716, align 4, !tbaa !24
  %718 = icmp ult i32 %717, %711
  br i1 %718, label %719, label %723

; <label>:719:                                    ; preds = %714
  %720 = sub i32 %715, %717
  %721 = icmp ugt i32 %720, 31
  %722 = inttoptr i32 %717 to i8*
  br i1 %721, label %723, label %724

; <label>:723:                                    ; preds = %719, %714, %710, %707
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:724:                                    ; preds = %719, %702
  %725 = phi i8* [ %722, %719 ], [ %704, %702 ]
  %726 = phi i32 [ %708, %719 ], [ %705, %702 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %725, i32 %726) #14
  br label %727

; <label>:727:                                    ; preds = %724, %699
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %524) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %523) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %522) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %521)
  br label %822

; <label>:728:                                    ; preds = %301
  %729 = bitcast %"class.std::basic_string"* %28 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %729) #14
  %730 = load i32*, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %731 = getelementptr inbounds i32, i32* %730, i32 -1
  %732 = load i32, i32* %731, align 4, !tbaa !24
  %733 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %734 = getelementptr inbounds %struct.File, %struct.File* %733, i32 %732, i32 1
  %735 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 1
  %736 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 2
  %737 = bitcast i32* %735 to i64*
  store i64 0, i64* %737, align 4, !alias.scope !771
  store i32 15, i32* %736, align 4, !tbaa !81, !alias.scope !771
  store i8 0, i8* %729, align 4, !tbaa !12, !alias.scope !771
  %738 = getelementptr inbounds %struct.File, %struct.File* %733, i32 %732, i32 1, i32 0, i32 0, i32 0, i32 1
  %739 = load i32, i32* %738, align 4, !tbaa !83, !noalias !771
  %740 = load i32, i32* %65, align 4, !tbaa !83, !noalias !771
  %741 = add i32 %740, %739
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %28, i32 %741) #14
  %742 = load i32, i32* %738, align 4, !tbaa !83, !noalias !771
  %743 = bitcast %"class.std::basic_string"* %734 to i8*
  %744 = getelementptr inbounds %struct.File, %struct.File* %733, i32 %732, i32 1, i32 0, i32 0, i32 0, i32 2
  %745 = load i32, i32* %744, align 4, !tbaa !81, !noalias !771
  %746 = icmp ugt i32 %745, 15
  %747 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %734, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %748 = load i8*, i8** %747, align 4, !noalias !771
  %749 = select i1 %746, i8* %748, i8* %743
  %750 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %750) #14, !noalias !771
  %751 = load i32, i32* %735, align 4, !tbaa !83, !alias.scope !771
  %752 = load i32, i32* %736, align 4, !tbaa !81, !alias.scope !771
  %753 = sub i32 %752, %751
  %754 = icmp ult i32 %753, %742
  br i1 %754, label %763, label %755

; <label>:755:                                    ; preds = %728
  %756 = add i32 %751, %742
  store i32 %756, i32* %735, align 4, !tbaa !83, !alias.scope !771
  %757 = icmp ugt i32 %752, 15
  %758 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %759 = load i8*, i8** %758, align 4
  %760 = select i1 %757, i8* %759, i8* %729
  %761 = getelementptr inbounds i8, i8* %760, i32 %751
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %761, i8* %749, i32 %742, i32 1, i1 false) #14
  %762 = getelementptr inbounds i8, i8* %760, i32 %756
  store i8 0, i8* %762, align 1, !tbaa !12
  br label %765

; <label>:763:                                    ; preds = %728
  %764 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %28, i32 %742, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* %749, i32 %742) #14
  br label %765

; <label>:765:                                    ; preds = %763, %755
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %750) #14, !noalias !771
  %766 = load i32, i32* %65, align 4, !tbaa !83, !noalias !771
  %767 = load i32, i32* %66, align 4, !tbaa !81, !noalias !771
  %768 = icmp ugt i32 %767, 15
  %769 = load i8*, i8** %255, align 4, !noalias !771
  %770 = select i1 %768, i8* %769, i8* %64
  %771 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %771) #14, !noalias !771
  %772 = load i32, i32* %735, align 4, !tbaa !83, !alias.scope !771
  %773 = load i32, i32* %736, align 4, !tbaa !81, !alias.scope !771
  %774 = sub i32 %773, %772
  %775 = icmp ult i32 %774, %766
  br i1 %775, label %784, label %776

; <label>:776:                                    ; preds = %765
  %777 = add i32 %772, %766
  store i32 %777, i32* %735, align 4, !tbaa !83, !alias.scope !771
  %778 = icmp ugt i32 %773, 15
  %779 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %780 = load i8*, i8** %779, align 4
  %781 = select i1 %778, i8* %780, i8* %729
  %782 = getelementptr inbounds i8, i8* %781, i32 %772
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %782, i8* %770, i32 %766, i32 1, i1 false) #14
  %783 = getelementptr inbounds i8, i8* %781, i32 %777
  store i8 0, i8* %783, align 1, !tbaa !12
  br label %786

; <label>:784:                                    ; preds = %765
  %785 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %28, i32 %766, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %770, i32 %766) #14
  br label %786

; <label>:786:                                    ; preds = %784, %776
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %771) #14, !noalias !771
  %787 = load i32, i32* %66, align 4, !tbaa !81
  %788 = icmp ugt i32 %787, 15
  br i1 %788, label %789, label %813

; <label>:789:                                    ; preds = %786
  %790 = load i8*, i8** %255, align 4, !tbaa !12
  %791 = add i32 %787, 1
  %792 = icmp ugt i32 %791, 4095
  br i1 %792, label %793, label %810

; <label>:793:                                    ; preds = %789
  %794 = add i32 %787, 36
  %795 = icmp ugt i32 %791, -36
  br i1 %795, label %809, label %796

; <label>:796:                                    ; preds = %793
  %797 = ptrtoint i8* %790 to i32
  %798 = and i32 %797, 31
  %799 = icmp eq i32 %798, 0
  br i1 %799, label %800, label %809

; <label>:800:                                    ; preds = %796
  %801 = add i32 %797, -4
  %802 = inttoptr i32 %801 to i32*
  %803 = load i32, i32* %802, align 4, !tbaa !24
  %804 = icmp ult i32 %803, %797
  br i1 %804, label %805, label %809

; <label>:805:                                    ; preds = %800
  %806 = sub i32 %801, %803
  %807 = icmp ugt i32 %806, 31
  %808 = inttoptr i32 %803 to i8*
  br i1 %807, label %809, label %810

; <label>:809:                                    ; preds = %805, %800, %796, %793
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:810:                                    ; preds = %805, %789
  %811 = phi i8* [ %808, %805 ], [ %790, %789 ]
  %812 = phi i32 [ %794, %805 ], [ %791, %789 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %811, i32 %812) #14
  br label %813

; <label>:813:                                    ; preds = %810, %786
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %64, i8* nonnull %729, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %729) #14
  br label %814

; <label>:814:                                    ; preds = %813, %517
  %815 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %18) #14
  %816 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %817 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %818 = sub i32 %816, %817
  %819 = ashr exact i32 %818, 4
  %820 = add nsw i32 %819, -1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %820, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %821 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 2
  br label %822

; <label>:822:                                    ; preds = %814, %727
  %823 = phi i32* [ %821, %814 ], [ %584, %727 ]
  %824 = phi i32 [ 0, %814 ], [ 1, %727 ]
  %825 = phi %"struct.std::pair.23"* [ %815, %814 ], [ undef, %727 ]
  %826 = load i32, i32* %823, align 4, !tbaa !81
  %827 = icmp ugt i32 %826, 15
  br i1 %827, label %828, label %853

; <label>:828:                                    ; preds = %822
  %829 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %830 = load i8*, i8** %829, align 4, !tbaa !12
  %831 = add i32 %826, 1
  %832 = icmp ugt i32 %831, 4095
  br i1 %832, label %833, label %850

; <label>:833:                                    ; preds = %828
  %834 = add i32 %826, 36
  %835 = icmp ugt i32 %831, -36
  br i1 %835, label %849, label %836

; <label>:836:                                    ; preds = %833
  %837 = ptrtoint i8* %830 to i32
  %838 = and i32 %837, 31
  %839 = icmp eq i32 %838, 0
  br i1 %839, label %840, label %849

; <label>:840:                                    ; preds = %836
  %841 = add i32 %837, -4
  %842 = inttoptr i32 %841 to i32*
  %843 = load i32, i32* %842, align 4, !tbaa !24
  %844 = icmp ult i32 %843, %837
  br i1 %844, label %845, label %849

; <label>:845:                                    ; preds = %840
  %846 = sub i32 %841, %843
  %847 = icmp ugt i32 %846, 31
  %848 = inttoptr i32 %843 to i8*
  br i1 %847, label %849, label %850

; <label>:849:                                    ; preds = %845, %840, %836, %833
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:850:                                    ; preds = %845, %828
  %851 = phi i8* [ %848, %845 ], [ %830, %828 ]
  %852 = phi i32 [ %834, %845 ], [ %831, %828 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %851, i32 %852) #14
  br label %853

; <label>:853:                                    ; preds = %850, %822
  store i32 15, i32* %823, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %214) #14
  %854 = load i32, i32* %212, align 4, !tbaa !81
  %855 = icmp ugt i32 %854, 15
  br i1 %855, label %856, label %881

; <label>:856:                                    ; preds = %853
  %857 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %858 = load i8*, i8** %857, align 4, !tbaa !12
  %859 = add i32 %854, 1
  %860 = icmp ugt i32 %859, 4095
  br i1 %860, label %861, label %878

; <label>:861:                                    ; preds = %856
  %862 = add i32 %854, 36
  %863 = icmp ugt i32 %859, -36
  br i1 %863, label %877, label %864

; <label>:864:                                    ; preds = %861
  %865 = ptrtoint i8* %858 to i32
  %866 = and i32 %865, 31
  %867 = icmp eq i32 %866, 0
  br i1 %867, label %868, label %877

; <label>:868:                                    ; preds = %864
  %869 = add i32 %865, -4
  %870 = inttoptr i32 %869 to i32*
  %871 = load i32, i32* %870, align 4, !tbaa !24
  %872 = icmp ult i32 %871, %865
  br i1 %872, label %873, label %877

; <label>:873:                                    ; preds = %868
  %874 = sub i32 %869, %871
  %875 = icmp ugt i32 %874, 31
  %876 = inttoptr i32 %871 to i8*
  br i1 %875, label %877, label %878

; <label>:877:                                    ; preds = %873, %868, %864, %861
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:878:                                    ; preds = %873, %856
  %879 = phi i8* [ %876, %873 ], [ %858, %856 ]
  %880 = phi i32 [ %862, %873 ], [ %859, %856 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %879, i32 %880) #14
  br label %881

; <label>:881:                                    ; preds = %878, %853
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %210) #14
  %882 = icmp eq i32 %824, 0
  br i1 %882, label %883, label %1034

; <label>:883:                                    ; preds = %881
  %884 = bitcast %"class.std::basic_string"* %29 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %884) #14
  call void @"\01?extractDir@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"(%"class.std::basic_string"* nonnull sret %29, %"class.std::basic_string"* nonnull dereferenceable(24) %15) #14
  %885 = bitcast %"class.std::basic_string"* %30 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %885) #14
  call void @"\01?extractFileName@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"(%"class.std::basic_string"* nonnull sret %30, %"class.std::basic_string"* nonnull dereferenceable(24) %15) #14
  %886 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %887 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %888 = sub i32 %886, %887
  %889 = icmp eq i32 %888, 0
  %890 = inttoptr i32 %887 to %struct.File*
  br i1 %889, label %943, label %891

; <label>:891:                                    ; preds = %883
  %892 = sdiv exact i32 %888, 56
  %893 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 1
  %894 = load i32, i32* %893, align 4, !tbaa !83
  %895 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 2
  %896 = load i32, i32* %895, align 4
  %897 = icmp ugt i32 %896, 15
  %898 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %899 = load i8*, i8** %898, align 4
  %900 = select i1 %897, i8* %899, i8* %885
  %901 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 1
  %902 = load i32, i32* %901, align 4
  %903 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 2
  %904 = load i32, i32* %903, align 4
  %905 = icmp ugt i32 %904, 15
  %906 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %907 = load i8*, i8** %906, align 4
  %908 = select i1 %905, i8* %907, i8* %884
  br label %909

; <label>:909:                                    ; preds = %941, %891
  %910 = phi i32 [ %892, %891 ], [ %911, %941 ]
  %911 = add i32 %910, -1
  %912 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911
  %913 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911, i32 0, i32 0, i32 0, i32 0, i32 1
  %914 = load i32, i32* %913, align 4, !tbaa !83
  %915 = icmp eq i32 %914, %894
  br i1 %915, label %916, label %941

; <label>:916:                                    ; preds = %909
  %917 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911, i32 0, i32 0, i32 0, i32 0, i32 2
  %918 = load i32, i32* %917, align 4, !tbaa !81
  %919 = icmp ugt i32 %918, 15
  %920 = getelementptr inbounds %struct.File, %struct.File* %912, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %921 = load i8*, i8** %920, align 4
  %922 = bitcast %struct.File* %912 to i8*
  %923 = select i1 %919, i8* %921, i8* %922
  %924 = call i32 @memcmp(i8* %923, i8* %900, i32 %894) #14
  %925 = icmp eq i32 %924, 0
  br i1 %925, label %926, label %941

; <label>:926:                                    ; preds = %916
  %927 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911, i32 1
  %928 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911, i32 1, i32 0, i32 0, i32 0, i32 1
  %929 = load i32, i32* %928, align 4, !tbaa !83
  %930 = icmp eq i32 %929, %902
  br i1 %930, label %931, label %941

; <label>:931:                                    ; preds = %926
  %932 = getelementptr inbounds %struct.File, %struct.File* %890, i32 %911, i32 1, i32 0, i32 0, i32 0, i32 2
  %933 = load i32, i32* %932, align 4, !tbaa !81
  %934 = icmp ugt i32 %933, 15
  %935 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %927, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %936 = load i8*, i8** %935, align 4
  %937 = bitcast %"class.std::basic_string"* %927 to i8*
  %938 = select i1 %934, i8* %936, i8* %937
  %939 = call i32 @memcmp(i8* %938, i8* %908, i32 %902) #14
  %940 = icmp eq i32 %939, 0
  br i1 %940, label %974, label %941

; <label>:941:                                    ; preds = %931, %926, %916, %909
  %942 = icmp eq i32 %911, 0
  br i1 %942, label %943, label %909

; <label>:943:                                    ; preds = %941, %883
  %944 = bitcast i64* %31 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %944) #14
  %945 = call i64 @"\01?createFile@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@3@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %15, %"struct.std::pair.23"* dereferenceable(48) %825) #14
  store i64 %945, i64* %31, align 4
  %946 = bitcast i64* %31 to %"struct.std::pair.23"**
  %947 = trunc i64 %945 to i32
  %948 = inttoptr i32 %947 to %"struct.std::pair.23"*
  %949 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %948, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %950 = load %"class.std::vector.4"*, %"class.std::vector.4"** %949, align 4, !tbaa !23
  %951 = icmp eq %"class.std::vector.4"* %950, null
  br i1 %951, label %952, label %954

; <label>:952:                                    ; preds = %943
  %953 = call zeroext i1 @"\01?parse@@YA_NABUSourceText@@@Z"(%struct.SourceText* nonnull dereferenceable(8) %32) #14
  br i1 %953, label %954, label %970

; <label>:954:                                    ; preds = %952, %943
  %955 = bitcast i32* %33 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %955) #14
  %956 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %957 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %958 = sub i32 %956, %957
  %959 = sdiv exact i32 %958, 56
  %960 = add nsw i32 %959, -1
  store i32 %960, i32* %33, align 4, !tbaa !24
  %961 = call x86_thiscallcc dereferenceable(4) i32* @"\01??$emplace_back@I@?$vector@IV?$allocator@I@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z"(%"class.std::vector.34"* nonnull @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32* nonnull dereferenceable(4) %33) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %955) #14
  %962 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %32, i32 0, i32 1
  %963 = load i32, i32* %962, align 4, !tbaa !569
  %964 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %946, align 4, !tbaa !542
  %965 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %964, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %966 = load %"class.std::vector.4"*, %"class.std::vector.4"** %965, align 4, !tbaa !23
  %967 = call zeroext i1 @"\01?interpretFlat@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %966, i32 %963) #14
  %968 = load i32*, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %969 = getelementptr inbounds i32, i32* %968, i32 -1
  store i32* %969, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  br label %970

; <label>:970:                                    ; preds = %954, %952
  %971 = phi i1 [ %967, %954 ], [ false, %952 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %944) #14
  %972 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 2
  %973 = load i32, i32* %972, align 4, !tbaa !81
  br label %974

; <label>:974:                                    ; preds = %970, %931
  %975 = phi i32* [ %972, %970 ], [ %895, %931 ]
  %976 = phi i32 [ %973, %970 ], [ %896, %931 ]
  %977 = phi i1 [ %971, %970 ], [ true, %931 ]
  %978 = icmp ugt i32 %976, 15
  br i1 %978, label %979, label %1004

; <label>:979:                                    ; preds = %974
  %980 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %981 = load i8*, i8** %980, align 4, !tbaa !12
  %982 = add i32 %976, 1
  %983 = icmp ugt i32 %982, 4095
  br i1 %983, label %984, label %1001

; <label>:984:                                    ; preds = %979
  %985 = add i32 %976, 36
  %986 = icmp ugt i32 %982, -36
  br i1 %986, label %1000, label %987

; <label>:987:                                    ; preds = %984
  %988 = ptrtoint i8* %981 to i32
  %989 = and i32 %988, 31
  %990 = icmp eq i32 %989, 0
  br i1 %990, label %991, label %1000

; <label>:991:                                    ; preds = %987
  %992 = add i32 %988, -4
  %993 = inttoptr i32 %992 to i32*
  %994 = load i32, i32* %993, align 4, !tbaa !24
  %995 = icmp ult i32 %994, %988
  br i1 %995, label %996, label %1000

; <label>:996:                                    ; preds = %991
  %997 = sub i32 %992, %994
  %998 = icmp ugt i32 %997, 31
  %999 = inttoptr i32 %994 to i8*
  br i1 %998, label %1000, label %1001

; <label>:1000:                                   ; preds = %996, %991, %987, %984
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1001:                                   ; preds = %996, %979
  %1002 = phi i8* [ %999, %996 ], [ %981, %979 ]
  %1003 = phi i32 [ %985, %996 ], [ %982, %979 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1002, i32 %1003) #14
  br label %1004

; <label>:1004:                                   ; preds = %1001, %974
  store i32 15, i32* %975, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %885) #14
  %1005 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 2
  %1006 = load i32, i32* %1005, align 4, !tbaa !81
  %1007 = icmp ugt i32 %1006, 15
  br i1 %1007, label %1008, label %1033

; <label>:1008:                                   ; preds = %1004
  %1009 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1010 = load i8*, i8** %1009, align 4, !tbaa !12
  %1011 = add i32 %1006, 1
  %1012 = icmp ugt i32 %1011, 4095
  br i1 %1012, label %1013, label %1030

; <label>:1013:                                   ; preds = %1008
  %1014 = add i32 %1006, 36
  %1015 = icmp ugt i32 %1011, -36
  br i1 %1015, label %1029, label %1016

; <label>:1016:                                   ; preds = %1013
  %1017 = ptrtoint i8* %1010 to i32
  %1018 = and i32 %1017, 31
  %1019 = icmp eq i32 %1018, 0
  br i1 %1019, label %1020, label %1029

; <label>:1020:                                   ; preds = %1016
  %1021 = add i32 %1017, -4
  %1022 = inttoptr i32 %1021 to i32*
  %1023 = load i32, i32* %1022, align 4, !tbaa !24
  %1024 = icmp ult i32 %1023, %1017
  br i1 %1024, label %1025, label %1029

; <label>:1025:                                   ; preds = %1020
  %1026 = sub i32 %1021, %1023
  %1027 = icmp ugt i32 %1026, 31
  %1028 = inttoptr i32 %1023 to i8*
  br i1 %1027, label %1029, label %1030

; <label>:1029:                                   ; preds = %1025, %1020, %1016, %1013
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1030:                                   ; preds = %1025, %1008
  %1031 = phi i8* [ %1028, %1025 ], [ %1010, %1008 ]
  %1032 = phi i32 [ %1014, %1025 ], [ %1011, %1008 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1031, i32 %1032) #14
  br label %1033

; <label>:1033:                                   ; preds = %1030, %1004
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %884) #14
  br label %1034

; <label>:1034:                                   ; preds = %1033, %881, %99, %85, %82, %70
  %1035 = phi i1 [ %977, %1033 ], [ false, %881 ], [ false, %82 ], [ false, %70 ], [ false, %99 ], [ false, %85 ]
  %1036 = load i32, i32* %66, align 4, !tbaa !81
  %1037 = icmp ugt i32 %1036, 15
  br i1 %1037, label %1038, label %1063

; <label>:1038:                                   ; preds = %1034
  %1039 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1040 = load i8*, i8** %1039, align 4, !tbaa !12
  %1041 = add i32 %1036, 1
  %1042 = icmp ugt i32 %1041, 4095
  br i1 %1042, label %1043, label %1060

; <label>:1043:                                   ; preds = %1038
  %1044 = add i32 %1036, 36
  %1045 = icmp ugt i32 %1041, -36
  br i1 %1045, label %1059, label %1046

; <label>:1046:                                   ; preds = %1043
  %1047 = ptrtoint i8* %1040 to i32
  %1048 = and i32 %1047, 31
  %1049 = icmp eq i32 %1048, 0
  br i1 %1049, label %1050, label %1059

; <label>:1050:                                   ; preds = %1046
  %1051 = add i32 %1047, -4
  %1052 = inttoptr i32 %1051 to i32*
  %1053 = load i32, i32* %1052, align 4, !tbaa !24
  %1054 = icmp ult i32 %1053, %1047
  br i1 %1054, label %1055, label %1059

; <label>:1055:                                   ; preds = %1050
  %1056 = sub i32 %1051, %1053
  %1057 = icmp ugt i32 %1056, 31
  %1058 = inttoptr i32 %1053 to i8*
  br i1 %1057, label %1059, label %1060

; <label>:1059:                                   ; preds = %1055, %1050, %1046, %1043
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1060:                                   ; preds = %1055, %1038
  %1061 = phi i8* [ %1058, %1055 ], [ %1040, %1038 ]
  %1062 = phi i32 [ %1044, %1055 ], [ %1041, %1038 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1061, i32 %1062) #14
  br label %1063

; <label>:1063:                                   ; preds = %1060, %1034
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %64) #14
  br label %1064

; <label>:1064:                                   ; preds = %1063, %59, %45
  %1065 = phi i1 [ %1035, %1063 ], [ false, %59 ], [ false, %45 ]
  ret i1 %1065
}

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@QBD@Z"(%"class.std::basic_string"* noalias sret, %"class.std::basic_string"* dereferenceable(24), i8*) local_unnamed_addr #1 comdat {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %8 = bitcast i32* %6 to i64*
  store i64 0, i64* %8, align 4
  store i32 15, i32* %7, align 4, !tbaa !81
  %9 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %9, align 4, !tbaa !12
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %11 = load i32, i32* %10, align 4, !tbaa !83
  %12 = tail call i32 @strlen(i8* %2) #14
  %13 = add i32 %12, %11
  tail call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* %0, i32 %13)
  %14 = load i32, i32* %10, align 4, !tbaa !83
  %15 = bitcast %"class.std::basic_string"* %1 to i8*
  %16 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %17 = load i32, i32* %16, align 4, !tbaa !81
  %18 = icmp ugt i32 %17, 15
  %19 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %20 = load i8*, i8** %19, align 4
  %21 = select i1 %18, i8* %20, i8* %15
  %22 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %22) #14
  %23 = load i32, i32* %6, align 4, !tbaa !83
  %24 = load i32, i32* %7, align 4, !tbaa !81
  %25 = sub i32 %24, %23
  %26 = icmp ult i32 %25, %14
  br i1 %26, label %37, label %27

; <label>:27:                                     ; preds = %3
  %28 = add i32 %23, %14
  store i32 %28, i32* %6, align 4, !tbaa !83
  %29 = icmp ugt i32 %24, 15
  br i1 %29, label %30, label %33

; <label>:30:                                     ; preds = %27
  %31 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %32 = load i8*, i8** %31, align 4, !tbaa !12
  br label %33

; <label>:33:                                     ; preds = %30, %27
  %34 = phi i8* [ %32, %30 ], [ %9, %27 ]
  %35 = getelementptr inbounds i8, i8* %34, i32 %23
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %35, i8* %21, i32 %14, i32 1, i1 false) #14
  %36 = getelementptr inbounds i8, i8* %34, i32 %28
  store i8 0, i8* %36, align 1, !tbaa !12
  br label %39

; <label>:37:                                     ; preds = %3
  %38 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %14, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %21, i32 %14) #14
  br label %39

; <label>:39:                                     ; preds = %37, %33
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %22) #14
  %40 = call i32 @strlen(i8* %2) #14
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* %6, align 4, !tbaa !83
  %43 = load i32, i32* %7, align 4, !tbaa !81
  %44 = sub i32 %43, %42
  %45 = icmp ult i32 %44, %40
  br i1 %45, label %56, label %46

; <label>:46:                                     ; preds = %39
  %47 = add i32 %42, %40
  store i32 %47, i32* %6, align 4, !tbaa !83
  %48 = icmp ugt i32 %43, 15
  br i1 %48, label %49, label %52

; <label>:49:                                     ; preds = %46
  %50 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %51 = load i8*, i8** %50, align 4, !tbaa !12
  br label %52

; <label>:52:                                     ; preds = %49, %46
  %53 = phi i8* [ %51, %49 ], [ %9, %46 ]
  %54 = getelementptr inbounds i8, i8* %53, i32 %42
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %54, i8* %2, i32 %40, i32 1, i1 false) #14
  %55 = getelementptr inbounds i8, i8* %53, i32 %47
  store i8 0, i8* %55, align 1, !tbaa !12
  br label %58

; <label>:56:                                     ; preds = %39
  %57 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %40, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %2, i32 %40) #14
  br label %58

; <label>:58:                                     ; preds = %56, %52
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i32, i8*, i32) local_unnamed_addr #2 comdat align 2 {
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !83
  %9 = sub i32 2147483647, %8
  %10 = icmp ult i32 %9, %1
  br i1 %10, label %11, label %12

; <label>:11:                                     ; preds = %6
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:12:                                     ; preds = %6
  %13 = add i32 %8, %1
  %14 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %15 = load i32, i32* %14, align 4, !tbaa !81
  %16 = or i32 %13, 15
  %17 = icmp slt i32 %16, 0
  br i1 %17, label %33, label %18

; <label>:18:                                     ; preds = %12
  %19 = lshr i32 %15, 1
  %20 = xor i32 %19, 2147483647
  %21 = icmp ugt i32 %15, %20
  br i1 %21, label %33, label %22

; <label>:22:                                     ; preds = %18
  %23 = add i32 %19, %15
  %24 = icmp ult i32 %16, %23
  %25 = select i1 %24, i32 %23, i32 %16
  %26 = add i32 %25, 1
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %46, label %28

; <label>:28:                                     ; preds = %22
  %29 = icmp ugt i32 %26, 4095
  br i1 %29, label %30, label %44

; <label>:30:                                     ; preds = %28
  %31 = icmp ugt i32 %26, -36
  br i1 %31, label %32, label %33

; <label>:32:                                     ; preds = %30
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:33:                                     ; preds = %30, %18, %12
  %34 = phi i32 [ %26, %30 ], [ -2147483648, %12 ], [ -2147483648, %18 ]
  %35 = phi i32 [ %25, %30 ], [ 2147483647, %12 ], [ 2147483647, %18 ]
  %36 = add i32 %34, 35
  %37 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  %38 = ptrtoint i8* %37 to i32
  %39 = add i32 %38, 35
  %40 = and i32 %39, -32
  %41 = inttoptr i32 %40 to i8*
  %42 = inttoptr i32 %40 to i32*
  %43 = getelementptr inbounds i32, i32* %42, i32 -1
  store i32 %38, i32* %43, align 4, !tbaa !24
  br label %46

; <label>:44:                                     ; preds = %28
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %26) #14
  br label %46

; <label>:46:                                     ; preds = %44, %33, %22
  %47 = phi i32 [ -1, %22 ], [ %35, %33 ], [ %25, %44 ]
  %48 = phi i8* [ null, %22 ], [ %41, %33 ], [ %45, %44 ]
  %49 = ptrtoint i8* %48 to i32
  store i32 %13, i32* %7, align 4, !tbaa !83
  store i32 %47, i32* %14, align 4, !tbaa !81
  %50 = icmp ugt i32 %15, 15
  br i1 %50, label %51, label %81

; <label>:51:                                     ; preds = %46
  %52 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %53 = load i8*, i8** %52, align 4, !tbaa !12
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* %53, i32 %3, i32 1, i1 false) #14
  %54 = getelementptr inbounds i8, i8* %48, i32 %3
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %54, i8* %4, i32 %5, i32 1, i1 false) #14
  %55 = sub i32 1, %3
  %56 = add i32 %55, %8
  %57 = getelementptr inbounds i8, i8* %53, i32 %3
  %58 = getelementptr inbounds i8, i8* %54, i32 %5
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %58, i8* %57, i32 %56, i32 1, i1 false) #14
  %59 = add i32 %15, 1
  %60 = icmp ugt i32 %59, 4095
  br i1 %60, label %61, label %78

; <label>:61:                                     ; preds = %51
  %62 = add i32 %15, 36
  %63 = icmp ugt i32 %59, -36
  br i1 %63, label %77, label %64

; <label>:64:                                     ; preds = %61
  %65 = ptrtoint i8* %53 to i32
  %66 = and i32 %65, 31
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %77

; <label>:68:                                     ; preds = %64
  %69 = add i32 %65, -4
  %70 = inttoptr i32 %69 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = icmp ult i32 %71, %65
  br i1 %72, label %73, label %77

; <label>:73:                                     ; preds = %68
  %74 = sub i32 %69, %71
  %75 = icmp ugt i32 %74, 31
  %76 = inttoptr i32 %71 to i8*
  br i1 %75, label %77, label %78

; <label>:77:                                     ; preds = %73, %68, %64, %61
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:78:                                     ; preds = %73, %51
  %79 = phi i8* [ %76, %73 ], [ %53, %51 ]
  %80 = phi i32 [ %62, %73 ], [ %59, %51 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %79, i32 %80) #14
  br label %88

; <label>:81:                                     ; preds = %46
  %82 = bitcast %"class.std::basic_string"* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* %82, i32 %3, i32 1, i1 false) #14
  %83 = getelementptr inbounds i8, i8* %48, i32 %3
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %83, i8* %4, i32 %5, i32 1, i1 false) #14
  %84 = sub i32 1, %3
  %85 = add i32 %84, %8
  %86 = getelementptr inbounds i8, i8* %82, i32 %3
  %87 = getelementptr inbounds i8, i8* %83, i32 %5
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %87, i8* %86, i32 %85, i32 1, i1 false) #14
  br label %88

; <label>:88:                                     ; preds = %81, %78
  %89 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %49, i32* %89, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(4) i32* @"\01??$emplace_back@I@?$vector@IV?$allocator@I@std@@@std@@QAE?A?<decltype-auto>@@$$QAI@Z"(%"class.std::vector.34"*, i32* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load i32*, i32** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32*, i32** %5, align 4, !tbaa !23
  %7 = icmp eq i32* %4, %6
  br i1 %7, label %11, label %8

; <label>:8:                                      ; preds = %2
  %9 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %9, i32* %6, align 4, !tbaa !24
  %10 = getelementptr inbounds i32, i32* %6, i32 1
  br label %98

; <label>:11:                                     ; preds = %2
  %12 = ptrtoint i32* %4 to i32
  %13 = ptrtoint i32* %6 to i32
  %14 = bitcast i32** %5 to i32*
  %15 = bitcast %"class.std::vector.34"* %0 to i32*
  %16 = load i32, i32* %15, align 4, !tbaa !23
  %17 = sub i32 %13, %16
  %18 = ashr exact i32 %17, 2
  %19 = add nsw i32 %18, 1
  %20 = bitcast i32** %3 to i32*
  %21 = sub i32 %12, %16
  %22 = ashr exact i32 %21, 2
  %23 = lshr i32 %22, 1
  %24 = sub nsw i32 1073741823, %23
  %25 = icmp ugt i32 %22, %24
  br i1 %25, label %30, label %26

; <label>:26:                                     ; preds = %11
  %27 = add i32 %23, %22
  %28 = icmp ult i32 %27, %19
  %29 = select i1 %28, i32 %19, i32 %27
  br label %30

; <label>:30:                                     ; preds = %26, %11
  %31 = phi i32 [ %29, %26 ], [ %19, %11 ]
  %32 = icmp eq i32 %31, 0
  br i1 %32, label %53, label %33

; <label>:33:                                     ; preds = %30
  %34 = icmp ugt i32 %31, 1073741823
  br i1 %34, label %35, label %36

; <label>:35:                                     ; preds = %33
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:36:                                     ; preds = %33
  %37 = shl i32 %31, 2
  %38 = icmp ugt i32 %37, 4095
  br i1 %38, label %39, label %51

; <label>:39:                                     ; preds = %36
  %40 = icmp ugt i32 %37, -36
  br i1 %40, label %41, label %42

; <label>:41:                                     ; preds = %39
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:42:                                     ; preds = %39
  %43 = add i32 %37, 35
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %53

; <label>:51:                                     ; preds = %36
  %52 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %37) #14
  br label %53

; <label>:53:                                     ; preds = %51, %42, %30
  %54 = phi i8* [ null, %30 ], [ %48, %42 ], [ %52, %51 ]
  %55 = bitcast i8* %54 to i32*
  %56 = getelementptr inbounds i32, i32* %55, i32 %18
  %57 = load i32, i32* %1, align 4, !tbaa !24
  store i32 %57, i32* %56, align 4, !tbaa !24
  %58 = load i32, i32* %14, align 4, !tbaa !23
  %59 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %60 = load i32*, i32** %59, align 4, !tbaa !23
  %61 = bitcast i32* %60 to i8*
  %62 = ptrtoint i32* %60 to i32
  %63 = sub i32 %58, %62
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %54, i8* %61, i32 %63, i32 1, i1 false) #14
  %64 = load i32*, i32** %59, align 4, !tbaa !23
  %65 = icmp eq i32* %64, null
  %66 = ptrtoint i32* %64 to i32
  br i1 %65, label %94, label %67

; <label>:67:                                     ; preds = %53
  %68 = load i32, i32* %20, align 4, !tbaa !23
  %69 = sub i32 %68, %66
  %70 = ashr exact i32 %69, 2
  %71 = icmp ugt i32 %70, 1073741823
  br i1 %71, label %90, label %72

; <label>:72:                                     ; preds = %67
  %73 = bitcast i32* %64 to i8*
  %74 = icmp ugt i32 %69, 4095
  br i1 %74, label %75, label %91

; <label>:75:                                     ; preds = %72
  %76 = add i32 %69, 35
  %77 = icmp ult i32 %69, -35
  %78 = and i32 %66, 31
  %79 = icmp eq i32 %78, 0
  %80 = and i1 %79, %77
  br i1 %80, label %81, label %90

; <label>:81:                                     ; preds = %75
  %82 = add i32 %66, -4
  %83 = inttoptr i32 %82 to i32*
  %84 = load i32, i32* %83, align 4, !tbaa !24
  %85 = icmp ult i32 %84, %66
  br i1 %85, label %86, label %90

; <label>:86:                                     ; preds = %81
  %87 = sub i32 %82, %84
  %88 = icmp ugt i32 %87, 31
  %89 = inttoptr i32 %84 to i8*
  br i1 %88, label %90, label %91

; <label>:90:                                     ; preds = %86, %81, %75, %67
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:91:                                     ; preds = %86, %72
  %92 = phi i8* [ %89, %86 ], [ %73, %72 ]
  %93 = phi i32 [ %76, %86 ], [ %69, %72 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %92, i32 %93) #14
  br label %94

; <label>:94:                                     ; preds = %91, %53
  %95 = bitcast %"class.std::vector.34"* %0 to i8**
  store i8* %54, i8** %95, align 4, !tbaa !23
  %96 = getelementptr inbounds i32, i32* %55, i32 %19
  store i32* %96, i32** %5, align 4, !tbaa !23
  %97 = getelementptr inbounds i32, i32* %55, i32 %31
  br label %98

; <label>:98:                                     ; preds = %94, %8
  %99 = phi i32** [ %3, %94 ], [ %5, %8 ]
  %100 = phi i32* [ %97, %94 ], [ %10, %8 ]
  store i32* %100, i32** %99, align 4, !tbaa !23
  %101 = load i32*, i32** %5, align 4, !tbaa !23
  %102 = getelementptr inbounds i32, i32* %101, i32 -1
  ret i32* %102
}

; Function Attrs: nounwind
define zeroext i1 @builtinWriteMemory() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %127

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %127

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %38 = load i32, i32* %37, align 8, !tbaa !535
  %39 = icmp eq i32 %38, 10
  br i1 %39, label %53, label %40

; <label>:40:                                     ; preds = %33
  %41 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %127

; <label>:43:                                     ; preds = %40
  %44 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %44) #14
  %45 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %46 = icmp ult i32 %45, 16
  br i1 %46, label %50, label %47

; <label>:47:                                     ; preds = %43
  %48 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 16, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0), i32 16, i32 1, i1 false) #14
  %49 = getelementptr inbounds i8, i8* %48, i32 16
  store i8 0, i8* %49, align 1, !tbaa !12
  br label %52

; <label>:50:                                     ; preds = %43
  %51 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@", i32 0, i32 0)) #14
  br label %52

; <label>:52:                                     ; preds = %50, %47
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %44) #14
  br label %127

; <label>:53:                                     ; preds = %33
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %55 = bitcast %class.variant.43* %54 to i8**
  %56 = load i8*, i8** %55, align 4, !tbaa !540
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %58 = load i32, i32* %57, align 8, !tbaa !535
  switch i32 %58, label %108 [
    i32 0, label %59
    i32 1, label %62
    i32 2, label %65
    i32 3, label %69
    i32 4, label %73
    i32 5, label %77
    i32 6, label %81
    i32 7, label %84
    i32 8, label %88
    i32 9, label %92
    i32 10, label %96
    i32 11, label %100
    i32 12, label %104
  ]

; <label>:59:                                     ; preds = %53
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !566, !range !382
  store i8 %61, i8* %56, align 1, !tbaa !566
  br label %121

; <label>:62:                                     ; preds = %53
  %63 = bitcast %class.variant.43* %36 to i8*
  %64 = load i8, i8* %63, align 1, !tbaa !12
  store i8 %64, i8* %56, align 1, !tbaa !12
  br label %121

; <label>:65:                                     ; preds = %53
  %66 = bitcast %class.variant.43* %36 to i16*
  %67 = load i16, i16* %66, align 2, !tbaa !59
  %68 = bitcast i8* %56 to i16*
  store i16 %67, i16* %68, align 2, !tbaa !59
  br label %121

; <label>:69:                                     ; preds = %53
  %70 = bitcast %class.variant.43* %36 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = bitcast i8* %56 to i32*
  store i32 %71, i32* %72, align 4, !tbaa !24
  br label %121

; <label>:73:                                     ; preds = %53
  %74 = bitcast %class.variant.43* %36 to i64*
  %75 = load i64, i64* %74, align 8, !tbaa !61
  %76 = bitcast i8* %56 to i64*
  store i64 %75, i64* %76, align 8, !tbaa !61
  br label %121

; <label>:77:                                     ; preds = %53
  %78 = bitcast %class.variant.43* %36 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !538
  %80 = bitcast i8* %56 to i32*
  store i32 %79, i32* %80, align 4, !tbaa !538
  br label %121

; <label>:81:                                     ; preds = %53
  %82 = bitcast %class.variant.43* %36 to i8*
  %83 = load i8, i8* %82, align 1, !tbaa !12
  store i8 %83, i8* %56, align 1, !tbaa !12
  br label %121

; <label>:84:                                     ; preds = %53
  %85 = bitcast %class.variant.43* %36 to i16*
  %86 = load i16, i16* %85, align 2, !tbaa !59
  %87 = bitcast i8* %56 to i16*
  store i16 %86, i16* %87, align 2, !tbaa !59
  br label %121

; <label>:88:                                     ; preds = %53
  %89 = bitcast %class.variant.43* %36 to i32*
  %90 = load i32, i32* %89, align 4, !tbaa !24
  %91 = bitcast i8* %56 to i32*
  store i32 %90, i32* %91, align 4, !tbaa !24
  br label %121

; <label>:92:                                     ; preds = %53
  %93 = bitcast %class.variant.43* %36 to i64*
  %94 = load i64, i64* %93, align 8, !tbaa !61
  %95 = bitcast i8* %56 to i64*
  store i64 %94, i64* %95, align 8, !tbaa !61
  br label %121

; <label>:96:                                     ; preds = %53
  %97 = bitcast %class.variant.43* %36 to i32*
  %98 = load i32, i32* %97, align 4, !tbaa !540
  %99 = bitcast i8* %56 to i32*
  store i32 %98, i32* %99, align 4, !tbaa !540
  br label %121

; <label>:100:                                    ; preds = %53
  %101 = bitcast %class.variant.43* %36 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !70
  %103 = bitcast i8* %56 to i32*
  store i32 %102, i32* %103, align 4, !tbaa !70
  br label %121

; <label>:104:                                    ; preds = %53
  %105 = getelementptr inbounds %class.variant.43, %class.variant.43* %36, i32 0, i32 0, i32 0, i32 0
  %106 = load double, double* %105, align 8, !tbaa !72
  %107 = bitcast i8* %56 to double*
  store double %106, double* %107, align 8, !tbaa !72
  br label %121

; <label>:108:                                    ; preds = %53
  %109 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %110 = icmp eq i32 %109, 0
  br i1 %110, label %111, label %127

; <label>:111:                                    ; preds = %108
  %112 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %112) #14
  %113 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %114 = icmp ult i32 %113, 17
  br i1 %114, label %118, label %115

; <label>:115:                                    ; preds = %111
  %116 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %116, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %117 = getelementptr inbounds i8, i8* %116, i32 17
  store i8 0, i8* %117, align 1, !tbaa !12
  br label %120

; <label>:118:                                    ; preds = %111
  %119 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %120

; <label>:120:                                    ; preds = %118, %115
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %112) #14
  br label %127

; <label>:121:                                    ; preds = %104, %100, %96, %92, %88, %84, %81, %77, %73, %69, %65, %62, %59
  %122 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %123 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %124 = sub i32 %122, %123
  %125 = ashr exact i32 %124, 4
  %126 = add nsw i32 %125, -2
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %126, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %127

; <label>:127:                                    ; preds = %121, %120, %108, %52, %40, %30, %16
  %128 = phi i1 [ false, %30 ], [ false, %16 ], [ false, %52 ], [ false, %40 ], [ true, %121 ], [ false, %120 ], [ false, %108 ]
  ret i1 %128
}

; Function Attrs: nounwind
define zeroext i1 @builtinXor() #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = sub i32 %7, %8
  %10 = icmp ult i32 %9, 2
  %11 = inttoptr i32 %5 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %0
  %13 = add nsw i32 %7, -2
  br label %33

; <label>:14:                                     ; preds = %0
  %15 = icmp ult i32 %7, 2
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %142

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %142

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %7, -2
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = add nsw i32 %7, -1
  %36 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %35, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %41 = load i32, i32* %40, align 8, !tbaa !535
  %42 = icmp eq i32 %39, %41
  br i1 %42, label %56, label %43

; <label>:43:                                     ; preds = %33
  %44 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %45 = icmp eq i32 %44, 0
  br i1 %45, label %46, label %142

; <label>:46:                                     ; preds = %43
  %47 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %47) #14
  %48 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %49 = icmp ult i32 %48, 17
  br i1 %49, label %53, label %50

; <label>:50:                                     ; preds = %46
  %51 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 17
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %46
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %47) #14
  br label %142

; <label>:56:                                     ; preds = %33
  switch i32 %39, label %123 [
    i32 0, label %57
    i32 1, label %63
    i32 2, label %69
    i32 3, label %75
    i32 4, label %81
    i32 5, label %87
    i32 6, label %93
    i32 7, label %99
    i32 8, label %105
    i32 9, label %111
    i32 10, label %117
  ]

; <label>:57:                                     ; preds = %56
  %58 = bitcast %class.variant.43* %37 to i8*
  %59 = load i8, i8* %58, align 1, !tbaa !566, !range !382
  %60 = bitcast %class.variant.43* %36 to i8*
  %61 = load i8, i8* %60, align 1, !tbaa !566, !range !382
  %62 = xor i8 %61, %59
  store i8 %62, i8* %58, align 1, !tbaa !566
  br label %136

; <label>:63:                                     ; preds = %56
  %64 = bitcast %class.variant.43* %37 to i8*
  %65 = load i8, i8* %64, align 1, !tbaa !12
  %66 = bitcast %class.variant.43* %36 to i8*
  %67 = load i8, i8* %66, align 1, !tbaa !12
  %68 = xor i8 %67, %65
  store i8 %68, i8* %64, align 1, !tbaa !12
  br label %136

; <label>:69:                                     ; preds = %56
  %70 = bitcast %class.variant.43* %37 to i16*
  %71 = load i16, i16* %70, align 2, !tbaa !59
  %72 = bitcast %class.variant.43* %36 to i16*
  %73 = load i16, i16* %72, align 2, !tbaa !59
  %74 = xor i16 %73, %71
  store i16 %74, i16* %70, align 2, !tbaa !59
  br label %136

; <label>:75:                                     ; preds = %56
  %76 = bitcast %class.variant.43* %37 to i32*
  %77 = load i32, i32* %76, align 4, !tbaa !24
  %78 = bitcast %class.variant.43* %36 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = xor i32 %79, %77
  store i32 %80, i32* %76, align 4, !tbaa !24
  br label %136

; <label>:81:                                     ; preds = %56
  %82 = bitcast %class.variant.43* %37 to i64*
  %83 = load i64, i64* %82, align 8, !tbaa !61
  %84 = bitcast %class.variant.43* %36 to i64*
  %85 = load i64, i64* %84, align 8, !tbaa !61
  %86 = xor i64 %85, %83
  store i64 %86, i64* %82, align 8, !tbaa !61
  br label %136

; <label>:87:                                     ; preds = %56
  %88 = bitcast %class.variant.43* %37 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !538
  %90 = bitcast %class.variant.43* %36 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !538
  %92 = xor i32 %91, %89
  store i32 %92, i32* %88, align 4, !tbaa !538
  br label %136

; <label>:93:                                     ; preds = %56
  %94 = bitcast %class.variant.43* %37 to i8*
  %95 = load i8, i8* %94, align 1, !tbaa !12
  %96 = bitcast %class.variant.43* %36 to i8*
  %97 = load i8, i8* %96, align 1, !tbaa !12
  %98 = xor i8 %97, %95
  store i8 %98, i8* %94, align 1, !tbaa !12
  br label %136

; <label>:99:                                     ; preds = %56
  %100 = bitcast %class.variant.43* %37 to i16*
  %101 = load i16, i16* %100, align 2, !tbaa !59
  %102 = bitcast %class.variant.43* %36 to i16*
  %103 = load i16, i16* %102, align 2, !tbaa !59
  %104 = xor i16 %103, %101
  store i16 %104, i16* %100, align 2, !tbaa !59
  br label %136

; <label>:105:                                    ; preds = %56
  %106 = bitcast %class.variant.43* %37 to i32*
  %107 = load i32, i32* %106, align 4, !tbaa !24
  %108 = bitcast %class.variant.43* %36 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !24
  %110 = xor i32 %109, %107
  store i32 %110, i32* %106, align 4, !tbaa !24
  br label %136

; <label>:111:                                    ; preds = %56
  %112 = bitcast %class.variant.43* %37 to i64*
  %113 = load i64, i64* %112, align 8, !tbaa !61
  %114 = bitcast %class.variant.43* %36 to i64*
  %115 = load i64, i64* %114, align 8, !tbaa !61
  %116 = xor i64 %115, %113
  store i64 %116, i64* %112, align 8, !tbaa !61
  br label %136

; <label>:117:                                    ; preds = %56
  %118 = bitcast %class.variant.43* %37 to i32*
  %119 = load i32, i32* %118, align 4, !tbaa !540
  %120 = bitcast %class.variant.43* %36 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !540
  %122 = xor i32 %121, %119
  store i32 %122, i32* %118, align 4, !tbaa !540
  br label %136

; <label>:123:                                    ; preds = %56
  %124 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %125 = icmp eq i32 %124, 0
  br i1 %125, label %126, label %142

; <label>:126:                                    ; preds = %123
  %127 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %127) #14
  %128 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %129 = icmp ult i32 %128, 17
  br i1 %129, label %133, label %130

; <label>:130:                                    ; preds = %126
  %131 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 17, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %131, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0), i32 17, i32 1, i1 false) #14
  %132 = getelementptr inbounds i8, i8* %131, i32 17
  store i8 0, i8* %132, align 1, !tbaa !12
  br label %135

; <label>:133:                                    ; preds = %126
  %134 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@KNPMEBHA@invalid?5arguments?$AA@", i32 0, i32 0)) #14
  br label %135

; <label>:135:                                    ; preds = %133, %130
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %127) #14
  br label %142

; <label>:136:                                    ; preds = %117, %111, %105, %99, %93, %87, %81, %75, %69, %63, %57
  %137 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %138 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %139 = sub i32 %137, %138
  %140 = ashr exact i32 %139, 4
  %141 = add nsw i32 %140, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %141, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %142

; <label>:142:                                    ; preds = %136, %135, %123, %55, %43, %30, %16
  %143 = phi i1 [ false, %30 ], [ false, %16 ], [ true, %136 ], [ false, %55 ], [ false, %43 ], [ false, %135 ], [ false, %123 ]
  ret i1 %143
}

; Function Attrs: nounwind
define void @initBuiltins() local_unnamed_addr #2 {
  %1 = alloca %"struct.std::_Not_a_node_tag", align 4
  %2 = alloca %"class.std::basic_string", align 4
  %3 = alloca %"class.std::basic_string", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = alloca %"class.std::basic_string", align 4
  %6 = alloca %"class.std::basic_string", align 4
  %7 = alloca %"class.std::basic_string", align 4
  %8 = alloca %"class.std::basic_string", align 4
  %9 = alloca %"class.std::basic_string", align 4
  %10 = alloca %"class.std::basic_string", align 4
  %11 = alloca %"class.std::basic_string", align 4
  %12 = alloca %"class.std::basic_string", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = alloca %"class.std::basic_string", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = alloca %"class.std::basic_string", align 4
  %19 = alloca %"class.std::basic_string", align 4
  %20 = alloca %"class.std::basic_string", align 4
  %21 = alloca %"class.std::basic_string", align 4
  %22 = alloca %"class.std::basic_string", align 4
  %23 = alloca %"class.std::basic_string", align 4
  %24 = alloca %"class.std::basic_string", align 4
  %25 = alloca %"class.std::basic_string", align 4
  %26 = alloca %"class.std::basic_string", align 4
  %27 = alloca %"class.std::basic_string", align 4
  %28 = alloca %"class.std::basic_string", align 4
  %29 = alloca %"class.std::basic_string", align 4
  %30 = alloca %"class.std::basic_string", align 4
  %31 = alloca %"class.std::basic_string", align 4
  %32 = alloca %"class.std::basic_string", align 4
  %33 = alloca %"class.std::basic_string", align 4
  %34 = alloca %"class.std::basic_string", align 4
  %35 = alloca %"class.std::basic_string", align 4
  %36 = alloca %"class.std::basic_string", align 4
  %37 = alloca %"class.std::basic_string", align 4
  %38 = alloca %"class.std::basic_string", align 4
  %39 = alloca %"class.std::basic_string", align 4
  %40 = alloca %"class.std::basic_string", align 4
  %41 = alloca %"class.std::basic_string", align 4
  %42 = alloca %"class.std::basic_string", align 4
  %43 = alloca %"class.std::basic_string", align 4
  %44 = alloca %"class.std::basic_string", align 4
  %45 = alloca %"class.std::basic_string", align 4
  %46 = alloca %"class.std::basic_string", align 4
  %47 = alloca %"class.std::basic_string", align 4
  %48 = alloca %"class.std::basic_string", align 4
  %49 = alloca %"class.std::basic_string", align 4
  %50 = alloca %"class.std::basic_string", align 4
  %51 = alloca %"class.std::basic_string", align 4
  %52 = alloca %"class.std::basic_string", align 4
  %53 = alloca %"class.std::basic_string", align 4
  %54 = alloca %"class.std::basic_string", align 4
  %55 = alloca %"class.std::basic_string", align 4
  %56 = alloca %"class.std::basic_string", align 4
  %57 = alloca %"class.std::basic_string", align 4
  %58 = alloca %"class.std::basic_string", align 4
  %59 = alloca %"class.std::basic_string", align 4
  %60 = alloca %"class.std::basic_string", align 4
  %61 = alloca %"class.std::basic_string", align 4
  %62 = alloca %"class.std::basic_string", align 4
  %63 = alloca %"class.std::basic_string", align 4
  %64 = alloca %"class.std::basic_string", align 4
  %65 = alloca %"class.std::basic_string", align 4
  %66 = alloca %"class.std::basic_string", align 4
  %67 = alloca %"class.std::basic_string", align 4
  %68 = alloca %"class.std::basic_string", align 4
  %69 = alloca %"class.std::basic_string", align 4
  %70 = alloca %"class.std::basic_string", align 4
  %71 = alloca %"class.std::basic_string", align 4
  %72 = alloca %"class.std::basic_string", align 4
  %73 = alloca %"class.std::basic_string", align 4
  %74 = alloca %"class.std::basic_string", align 4
  %75 = alloca %"class.std::basic_string", align 4
  %76 = alloca %"class.std::basic_string", align 4
  %77 = alloca %"class.std::basic_string", align 4
  %78 = bitcast %"class.std::basic_string"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %78) #14
  %79 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %80 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %80, align 4, !tbaa !81
  store i32 3, i32* %79, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %78, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03BCGAIFPO@abs?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %81 = getelementptr inbounds i8, i8* %78, i32 3
  store i8 0, i8* %81, align 1, !tbaa !12
  %82 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %2) #14
  %83 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %82, i32 0, i32 1, i32 3
  store i1 ()* @builtinAbs, i1 ()** %83, align 4, !tbaa !774
  %84 = load i32, i32* %80, align 4, !tbaa !81
  %85 = icmp ugt i32 %84, 15
  br i1 %85, label %86, label %111

; <label>:86:                                     ; preds = %0
  %87 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %88 = load i8*, i8** %87, align 4, !tbaa !12
  %89 = add i32 %84, 1
  %90 = icmp ugt i32 %89, 4095
  br i1 %90, label %91, label %108

; <label>:91:                                     ; preds = %86
  %92 = add i32 %84, 36
  %93 = icmp ugt i32 %89, -36
  br i1 %93, label %107, label %94

; <label>:94:                                     ; preds = %91
  %95 = ptrtoint i8* %88 to i32
  %96 = and i32 %95, 31
  %97 = icmp eq i32 %96, 0
  br i1 %97, label %98, label %107

; <label>:98:                                     ; preds = %94
  %99 = add i32 %95, -4
  %100 = inttoptr i32 %99 to i32*
  %101 = load i32, i32* %100, align 4, !tbaa !24
  %102 = icmp ult i32 %101, %95
  br i1 %102, label %103, label %107

; <label>:103:                                    ; preds = %98
  %104 = sub i32 %99, %101
  %105 = icmp ugt i32 %104, 31
  %106 = inttoptr i32 %101 to i8*
  br i1 %105, label %107, label %108

; <label>:107:                                    ; preds = %103, %98, %94, %91
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:108:                                    ; preds = %103, %86
  %109 = phi i8* [ %106, %103 ], [ %88, %86 ]
  %110 = phi i32 [ %92, %103 ], [ %89, %86 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %109, i32 %110) #14
  br label %111

; <label>:111:                                    ; preds = %108, %0
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %78) #14
  %112 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %112) #14
  %113 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  %114 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %114, align 4, !tbaa !81
  store i32 4, i32* %113, align 4, !tbaa !83
  %115 = bitcast %"class.std::basic_string"* %3 to i32*
  store i32 1936679777, i32* %115, align 4
  %116 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %116, align 4, !tbaa !12
  %117 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %3) #14
  %118 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %117, i32 0, i32 1, i32 3
  store i1 ()* @builtinAcos, i1 ()** %118, align 4, !tbaa !774
  %119 = load i32, i32* %114, align 4, !tbaa !81
  %120 = icmp ugt i32 %119, 15
  br i1 %120, label %121, label %146

; <label>:121:                                    ; preds = %111
  %122 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %123 = load i8*, i8** %122, align 4, !tbaa !12
  %124 = add i32 %119, 1
  %125 = icmp ugt i32 %124, 4095
  br i1 %125, label %126, label %143

; <label>:126:                                    ; preds = %121
  %127 = add i32 %119, 36
  %128 = icmp ugt i32 %124, -36
  br i1 %128, label %142, label %129

; <label>:129:                                    ; preds = %126
  %130 = ptrtoint i8* %123 to i32
  %131 = and i32 %130, 31
  %132 = icmp eq i32 %131, 0
  br i1 %132, label %133, label %142

; <label>:133:                                    ; preds = %129
  %134 = add i32 %130, -4
  %135 = inttoptr i32 %134 to i32*
  %136 = load i32, i32* %135, align 4, !tbaa !24
  %137 = icmp ult i32 %136, %130
  br i1 %137, label %138, label %142

; <label>:138:                                    ; preds = %133
  %139 = sub i32 %134, %136
  %140 = icmp ugt i32 %139, 31
  %141 = inttoptr i32 %136 to i8*
  br i1 %140, label %142, label %143

; <label>:142:                                    ; preds = %138, %133, %129, %126
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:143:                                    ; preds = %138, %121
  %144 = phi i8* [ %141, %138 ], [ %123, %121 ]
  %145 = phi i32 [ %127, %138 ], [ %124, %121 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %144, i32 %145) #14
  br label %146

; <label>:146:                                    ; preds = %143, %111
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %112) #14
  %147 = bitcast %"class.std::basic_string"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %147) #14
  %148 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %149 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %149, align 4, !tbaa !81
  store i32 14, i32* %148, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %147, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @"\01??_C@_0P@KPJDOPMC@allocateMemory?$AA@", i32 0, i32 0), i32 14, i32 1, i1 false) #14
  %150 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 10
  store i8 0, i8* %150, align 2, !tbaa !12
  %151 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %4) #14
  %152 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %151, i32 0, i32 1, i32 3
  store i1 ()* @builtinAllocateMemory, i1 ()** %152, align 4, !tbaa !774
  %153 = load i32, i32* %149, align 4, !tbaa !81
  %154 = icmp ugt i32 %153, 15
  br i1 %154, label %155, label %180

; <label>:155:                                    ; preds = %146
  %156 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %157 = load i8*, i8** %156, align 4, !tbaa !12
  %158 = add i32 %153, 1
  %159 = icmp ugt i32 %158, 4095
  br i1 %159, label %160, label %177

; <label>:160:                                    ; preds = %155
  %161 = add i32 %153, 36
  %162 = icmp ugt i32 %158, -36
  br i1 %162, label %176, label %163

; <label>:163:                                    ; preds = %160
  %164 = ptrtoint i8* %157 to i32
  %165 = and i32 %164, 31
  %166 = icmp eq i32 %165, 0
  br i1 %166, label %167, label %176

; <label>:167:                                    ; preds = %163
  %168 = add i32 %164, -4
  %169 = inttoptr i32 %168 to i32*
  %170 = load i32, i32* %169, align 4, !tbaa !24
  %171 = icmp ult i32 %170, %164
  br i1 %171, label %172, label %176

; <label>:172:                                    ; preds = %167
  %173 = sub i32 %168, %170
  %174 = icmp ugt i32 %173, 31
  %175 = inttoptr i32 %170 to i8*
  br i1 %174, label %176, label %177

; <label>:176:                                    ; preds = %172, %167, %163, %160
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:177:                                    ; preds = %172, %155
  %178 = phi i8* [ %175, %172 ], [ %157, %155 ]
  %179 = phi i32 [ %161, %172 ], [ %158, %155 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %178, i32 %179) #14
  br label %180

; <label>:180:                                    ; preds = %177, %146
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %147) #14
  %181 = bitcast %"class.std::basic_string"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %181) #14
  %182 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 1
  %183 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %183, align 4, !tbaa !81
  store i32 1, i32* %182, align 4, !tbaa !83
  store i8 38, i8* %181, align 4
  %184 = getelementptr inbounds i8, i8* %181, i32 1
  store i8 0, i8* %184, align 1, !tbaa !12
  %185 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %5) #14
  %186 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %185, i32 0, i32 1, i32 3
  store i1 ()* @builtinAmpersand, i1 ()** %186, align 4, !tbaa !774
  %187 = load i32, i32* %183, align 4, !tbaa !81
  %188 = icmp ugt i32 %187, 15
  br i1 %188, label %189, label %214

; <label>:189:                                    ; preds = %180
  %190 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %191 = load i8*, i8** %190, align 4, !tbaa !12
  %192 = add i32 %187, 1
  %193 = icmp ugt i32 %192, 4095
  br i1 %193, label %194, label %211

; <label>:194:                                    ; preds = %189
  %195 = add i32 %187, 36
  %196 = icmp ugt i32 %192, -36
  br i1 %196, label %210, label %197

; <label>:197:                                    ; preds = %194
  %198 = ptrtoint i8* %191 to i32
  %199 = and i32 %198, 31
  %200 = icmp eq i32 %199, 0
  br i1 %200, label %201, label %210

; <label>:201:                                    ; preds = %197
  %202 = add i32 %198, -4
  %203 = inttoptr i32 %202 to i32*
  %204 = load i32, i32* %203, align 4, !tbaa !24
  %205 = icmp ult i32 %204, %198
  br i1 %205, label %206, label %210

; <label>:206:                                    ; preds = %201
  %207 = sub i32 %202, %204
  %208 = icmp ugt i32 %207, 31
  %209 = inttoptr i32 %204 to i8*
  br i1 %208, label %210, label %211

; <label>:210:                                    ; preds = %206, %201, %197, %194
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:211:                                    ; preds = %206, %189
  %212 = phi i8* [ %209, %206 ], [ %191, %189 ]
  %213 = phi i32 [ %195, %206 ], [ %192, %189 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %212, i32 %213) #14
  br label %214

; <label>:214:                                    ; preds = %211, %180
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %181) #14
  %215 = bitcast %"class.std::basic_string"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %215) #14
  %216 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  %217 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %217, align 4, !tbaa !81
  store i32 3, i32* %216, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %215, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03BOPJPIAM@and?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %218 = getelementptr inbounds i8, i8* %215, i32 3
  store i8 0, i8* %218, align 1, !tbaa !12
  %219 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %6) #14
  %220 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %219, i32 0, i32 1, i32 3
  store i1 ()* @builtinAnd, i1 ()** %220, align 4, !tbaa !774
  %221 = load i32, i32* %217, align 4, !tbaa !81
  %222 = icmp ugt i32 %221, 15
  br i1 %222, label %223, label %248

; <label>:223:                                    ; preds = %214
  %224 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %225 = load i8*, i8** %224, align 4, !tbaa !12
  %226 = add i32 %221, 1
  %227 = icmp ugt i32 %226, 4095
  br i1 %227, label %228, label %245

; <label>:228:                                    ; preds = %223
  %229 = add i32 %221, 36
  %230 = icmp ugt i32 %226, -36
  br i1 %230, label %244, label %231

; <label>:231:                                    ; preds = %228
  %232 = ptrtoint i8* %225 to i32
  %233 = and i32 %232, 31
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %244

; <label>:235:                                    ; preds = %231
  %236 = add i32 %232, -4
  %237 = inttoptr i32 %236 to i32*
  %238 = load i32, i32* %237, align 4, !tbaa !24
  %239 = icmp ult i32 %238, %232
  br i1 %239, label %240, label %244

; <label>:240:                                    ; preds = %235
  %241 = sub i32 %236, %238
  %242 = icmp ugt i32 %241, 31
  %243 = inttoptr i32 %238 to i8*
  br i1 %242, label %244, label %245

; <label>:244:                                    ; preds = %240, %235, %231, %228
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:245:                                    ; preds = %240, %223
  %246 = phi i8* [ %243, %240 ], [ %225, %223 ]
  %247 = phi i32 [ %229, %240 ], [ %226, %223 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %246, i32 %247) #14
  br label %248

; <label>:248:                                    ; preds = %245, %214
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %215) #14
  %249 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %249) #14
  %250 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 1
  %251 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %251, align 4, !tbaa !81
  store i32 5, i32* %250, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %249, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05HIFJDKLD@array?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %252 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %252, align 1, !tbaa !12
  %253 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %7) #14
  %254 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %253, i32 0, i32 1, i32 3
  store i1 ()* @builtinArray, i1 ()** %254, align 4, !tbaa !774
  %255 = load i32, i32* %251, align 4, !tbaa !81
  %256 = icmp ugt i32 %255, 15
  br i1 %256, label %257, label %282

; <label>:257:                                    ; preds = %248
  %258 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %259 = load i8*, i8** %258, align 4, !tbaa !12
  %260 = add i32 %255, 1
  %261 = icmp ugt i32 %260, 4095
  br i1 %261, label %262, label %279

; <label>:262:                                    ; preds = %257
  %263 = add i32 %255, 36
  %264 = icmp ugt i32 %260, -36
  br i1 %264, label %278, label %265

; <label>:265:                                    ; preds = %262
  %266 = ptrtoint i8* %259 to i32
  %267 = and i32 %266, 31
  %268 = icmp eq i32 %267, 0
  br i1 %268, label %269, label %278

; <label>:269:                                    ; preds = %265
  %270 = add i32 %266, -4
  %271 = inttoptr i32 %270 to i32*
  %272 = load i32, i32* %271, align 4, !tbaa !24
  %273 = icmp ult i32 %272, %266
  br i1 %273, label %274, label %278

; <label>:274:                                    ; preds = %269
  %275 = sub i32 %270, %272
  %276 = icmp ugt i32 %275, 31
  %277 = inttoptr i32 %272 to i8*
  br i1 %276, label %278, label %279

; <label>:278:                                    ; preds = %274, %269, %265, %262
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:279:                                    ; preds = %274, %257
  %280 = phi i8* [ %277, %274 ], [ %259, %257 ]
  %281 = phi i32 [ %263, %274 ], [ %260, %257 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %280, i32 %281) #14
  br label %282

; <label>:282:                                    ; preds = %279, %248
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %249) #14
  %283 = bitcast %"class.std::basic_string"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %283) #14
  %284 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 1
  %285 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %285, align 4, !tbaa !81
  store i32 4, i32* %284, align 4, !tbaa !83
  %286 = bitcast %"class.std::basic_string"* %8 to i32*
  store i32 1852404577, i32* %286, align 4
  %287 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %287, align 4, !tbaa !12
  %288 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %8) #14
  %289 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %288, i32 0, i32 1, i32 3
  store i1 ()* @builtinAsin, i1 ()** %289, align 4, !tbaa !774
  %290 = load i32, i32* %285, align 4, !tbaa !81
  %291 = icmp ugt i32 %290, 15
  br i1 %291, label %292, label %317

; <label>:292:                                    ; preds = %282
  %293 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %294 = load i8*, i8** %293, align 4, !tbaa !12
  %295 = add i32 %290, 1
  %296 = icmp ugt i32 %295, 4095
  br i1 %296, label %297, label %314

; <label>:297:                                    ; preds = %292
  %298 = add i32 %290, 36
  %299 = icmp ugt i32 %295, -36
  br i1 %299, label %313, label %300

; <label>:300:                                    ; preds = %297
  %301 = ptrtoint i8* %294 to i32
  %302 = and i32 %301, 31
  %303 = icmp eq i32 %302, 0
  br i1 %303, label %304, label %313

; <label>:304:                                    ; preds = %300
  %305 = add i32 %301, -4
  %306 = inttoptr i32 %305 to i32*
  %307 = load i32, i32* %306, align 4, !tbaa !24
  %308 = icmp ult i32 %307, %301
  br i1 %308, label %309, label %313

; <label>:309:                                    ; preds = %304
  %310 = sub i32 %305, %307
  %311 = icmp ugt i32 %310, 31
  %312 = inttoptr i32 %307 to i8*
  br i1 %311, label %313, label %314

; <label>:313:                                    ; preds = %309, %304, %300, %297
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:314:                                    ; preds = %309, %292
  %315 = phi i8* [ %312, %309 ], [ %294, %292 ]
  %316 = phi i32 [ %298, %309 ], [ %295, %292 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %315, i32 %316) #14
  br label %317

; <label>:317:                                    ; preds = %314, %282
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %283) #14
  %318 = bitcast %"class.std::basic_string"* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %318) #14
  %319 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 1
  %320 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %320, align 4, !tbaa !81
  store i32 1, i32* %319, align 4, !tbaa !83
  store i8 42, i8* %318, align 4
  %321 = getelementptr inbounds i8, i8* %318, i32 1
  store i8 0, i8* %321, align 1, !tbaa !12
  %322 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %9) #14
  %323 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %322, i32 0, i32 1, i32 3
  store i1 ()* @builtinAsterisk, i1 ()** %323, align 4, !tbaa !774
  %324 = load i32, i32* %320, align 4, !tbaa !81
  %325 = icmp ugt i32 %324, 15
  br i1 %325, label %326, label %351

; <label>:326:                                    ; preds = %317
  %327 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %328 = load i8*, i8** %327, align 4, !tbaa !12
  %329 = add i32 %324, 1
  %330 = icmp ugt i32 %329, 4095
  br i1 %330, label %331, label %348

; <label>:331:                                    ; preds = %326
  %332 = add i32 %324, 36
  %333 = icmp ugt i32 %329, -36
  br i1 %333, label %347, label %334

; <label>:334:                                    ; preds = %331
  %335 = ptrtoint i8* %328 to i32
  %336 = and i32 %335, 31
  %337 = icmp eq i32 %336, 0
  br i1 %337, label %338, label %347

; <label>:338:                                    ; preds = %334
  %339 = add i32 %335, -4
  %340 = inttoptr i32 %339 to i32*
  %341 = load i32, i32* %340, align 4, !tbaa !24
  %342 = icmp ult i32 %341, %335
  br i1 %342, label %343, label %347

; <label>:343:                                    ; preds = %338
  %344 = sub i32 %339, %341
  %345 = icmp ugt i32 %344, 31
  %346 = inttoptr i32 %341 to i8*
  br i1 %345, label %347, label %348

; <label>:347:                                    ; preds = %343, %338, %334, %331
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:348:                                    ; preds = %343, %326
  %349 = phi i8* [ %346, %343 ], [ %328, %326 ]
  %350 = phi i32 [ %332, %343 ], [ %329, %326 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %349, i32 %350) #14
  br label %351

; <label>:351:                                    ; preds = %348, %317
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %318) #14
  %352 = bitcast %"class.std::basic_string"* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %352) #14
  %353 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 1
  %354 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %354, align 4, !tbaa !81
  store i32 1, i32* %353, align 4, !tbaa !83
  store i8 64, i8* %352, align 4
  %355 = getelementptr inbounds i8, i8* %352, i32 1
  store i8 0, i8* %355, align 1, !tbaa !12
  %356 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %10) #14
  %357 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %356, i32 0, i32 1, i32 3
  store i1 ()* @builtinAt, i1 ()** %357, align 4, !tbaa !774
  %358 = load i32, i32* %354, align 4, !tbaa !81
  %359 = icmp ugt i32 %358, 15
  br i1 %359, label %360, label %385

; <label>:360:                                    ; preds = %351
  %361 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %362 = load i8*, i8** %361, align 4, !tbaa !12
  %363 = add i32 %358, 1
  %364 = icmp ugt i32 %363, 4095
  br i1 %364, label %365, label %382

; <label>:365:                                    ; preds = %360
  %366 = add i32 %358, 36
  %367 = icmp ugt i32 %363, -36
  br i1 %367, label %381, label %368

; <label>:368:                                    ; preds = %365
  %369 = ptrtoint i8* %362 to i32
  %370 = and i32 %369, 31
  %371 = icmp eq i32 %370, 0
  br i1 %371, label %372, label %381

; <label>:372:                                    ; preds = %368
  %373 = add i32 %369, -4
  %374 = inttoptr i32 %373 to i32*
  %375 = load i32, i32* %374, align 4, !tbaa !24
  %376 = icmp ult i32 %375, %369
  br i1 %376, label %377, label %381

; <label>:377:                                    ; preds = %372
  %378 = sub i32 %373, %375
  %379 = icmp ugt i32 %378, 31
  %380 = inttoptr i32 %375 to i8*
  br i1 %379, label %381, label %382

; <label>:381:                                    ; preds = %377, %372, %368, %365
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:382:                                    ; preds = %377, %360
  %383 = phi i8* [ %380, %377 ], [ %362, %360 ]
  %384 = phi i32 [ %366, %377 ], [ %363, %360 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %383, i32 %384) #14
  br label %385

; <label>:385:                                    ; preds = %382, %351
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %352) #14
  %386 = bitcast %"class.std::basic_string"* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %386) #14
  %387 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 1
  %388 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %388, align 4, !tbaa !81
  store i32 4, i32* %387, align 4, !tbaa !83
  %389 = bitcast %"class.std::basic_string"* %11 to i32*
  store i32 1851880545, i32* %389, align 4
  %390 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %390, align 4, !tbaa !12
  %391 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %11) #14
  %392 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %391, i32 0, i32 1, i32 3
  store i1 ()* @builtinAtan, i1 ()** %392, align 4, !tbaa !774
  %393 = load i32, i32* %388, align 4, !tbaa !81
  %394 = icmp ugt i32 %393, 15
  br i1 %394, label %395, label %420

; <label>:395:                                    ; preds = %385
  %396 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %397 = load i8*, i8** %396, align 4, !tbaa !12
  %398 = add i32 %393, 1
  %399 = icmp ugt i32 %398, 4095
  br i1 %399, label %400, label %417

; <label>:400:                                    ; preds = %395
  %401 = add i32 %393, 36
  %402 = icmp ugt i32 %398, -36
  br i1 %402, label %416, label %403

; <label>:403:                                    ; preds = %400
  %404 = ptrtoint i8* %397 to i32
  %405 = and i32 %404, 31
  %406 = icmp eq i32 %405, 0
  br i1 %406, label %407, label %416

; <label>:407:                                    ; preds = %403
  %408 = add i32 %404, -4
  %409 = inttoptr i32 %408 to i32*
  %410 = load i32, i32* %409, align 4, !tbaa !24
  %411 = icmp ult i32 %410, %404
  br i1 %411, label %412, label %416

; <label>:412:                                    ; preds = %407
  %413 = sub i32 %408, %410
  %414 = icmp ugt i32 %413, 31
  %415 = inttoptr i32 %410 to i8*
  br i1 %414, label %416, label %417

; <label>:416:                                    ; preds = %412, %407, %403, %400
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:417:                                    ; preds = %412, %395
  %418 = phi i8* [ %415, %412 ], [ %397, %395 ]
  %419 = phi i32 [ %401, %412 ], [ %398, %395 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %418, i32 %419) #14
  br label %420

; <label>:420:                                    ; preds = %417, %385
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %386) #14
  %421 = bitcast %"class.std::basic_string"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %421) #14
  %422 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 1
  %423 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %423, align 4, !tbaa !81
  store i32 5, i32* %422, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %421, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05KNGEOGJB@atan2?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %424 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %424, align 1, !tbaa !12
  %425 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %12) #14
  %426 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %425, i32 0, i32 1, i32 3
  store i1 ()* @builtinAtan2, i1 ()** %426, align 4, !tbaa !774
  %427 = load i32, i32* %423, align 4, !tbaa !81
  %428 = icmp ugt i32 %427, 15
  br i1 %428, label %429, label %454

; <label>:429:                                    ; preds = %420
  %430 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %431 = load i8*, i8** %430, align 4, !tbaa !12
  %432 = add i32 %427, 1
  %433 = icmp ugt i32 %432, 4095
  br i1 %433, label %434, label %451

; <label>:434:                                    ; preds = %429
  %435 = add i32 %427, 36
  %436 = icmp ugt i32 %432, -36
  br i1 %436, label %450, label %437

; <label>:437:                                    ; preds = %434
  %438 = ptrtoint i8* %431 to i32
  %439 = and i32 %438, 31
  %440 = icmp eq i32 %439, 0
  br i1 %440, label %441, label %450

; <label>:441:                                    ; preds = %437
  %442 = add i32 %438, -4
  %443 = inttoptr i32 %442 to i32*
  %444 = load i32, i32* %443, align 4, !tbaa !24
  %445 = icmp ult i32 %444, %438
  br i1 %445, label %446, label %450

; <label>:446:                                    ; preds = %441
  %447 = sub i32 %442, %444
  %448 = icmp ugt i32 %447, 31
  %449 = inttoptr i32 %444 to i8*
  br i1 %448, label %450, label %451

; <label>:450:                                    ; preds = %446, %441, %437, %434
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:451:                                    ; preds = %446, %429
  %452 = phi i8* [ %449, %446 ], [ %431, %429 ]
  %453 = phi i32 [ %435, %446 ], [ %432, %429 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %452, i32 %453) #14
  br label %454

; <label>:454:                                    ; preds = %451, %420
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %421) #14
  %455 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %455) #14
  %456 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %457 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %457, align 4, !tbaa !81
  store i32 4, i32* %456, align 4, !tbaa !83
  %458 = bitcast %"class.std::basic_string"* %13 to i32*
  store i32 1819042147, i32* %458, align 4
  %459 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %459, align 4, !tbaa !12
  %460 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %13) #14
  %461 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %460, i32 0, i32 1, i32 3
  store i1 ()* @builtinCall, i1 ()** %461, align 4, !tbaa !774
  %462 = load i32, i32* %457, align 4, !tbaa !81
  %463 = icmp ugt i32 %462, 15
  br i1 %463, label %464, label %489

; <label>:464:                                    ; preds = %454
  %465 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %466 = load i8*, i8** %465, align 4, !tbaa !12
  %467 = add i32 %462, 1
  %468 = icmp ugt i32 %467, 4095
  br i1 %468, label %469, label %486

; <label>:469:                                    ; preds = %464
  %470 = add i32 %462, 36
  %471 = icmp ugt i32 %467, -36
  br i1 %471, label %485, label %472

; <label>:472:                                    ; preds = %469
  %473 = ptrtoint i8* %466 to i32
  %474 = and i32 %473, 31
  %475 = icmp eq i32 %474, 0
  br i1 %475, label %476, label %485

; <label>:476:                                    ; preds = %472
  %477 = add i32 %473, -4
  %478 = inttoptr i32 %477 to i32*
  %479 = load i32, i32* %478, align 4, !tbaa !24
  %480 = icmp ult i32 %479, %473
  br i1 %480, label %481, label %485

; <label>:481:                                    ; preds = %476
  %482 = sub i32 %477, %479
  %483 = icmp ugt i32 %482, 31
  %484 = inttoptr i32 %479 to i8*
  br i1 %483, label %485, label %486

; <label>:485:                                    ; preds = %481, %476, %472, %469
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:486:                                    ; preds = %481, %464
  %487 = phi i8* [ %484, %481 ], [ %466, %464 ]
  %488 = phi i32 [ %470, %481 ], [ %467, %464 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %487, i32 %488) #14
  br label %489

; <label>:489:                                    ; preds = %486, %454
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %455) #14
  %490 = bitcast %"class.std::basic_string"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %490) #14
  %491 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %492 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %492, align 4, !tbaa !81
  store i32 1, i32* %491, align 4, !tbaa !83
  store i8 94, i8* %490, align 4
  %493 = getelementptr inbounds i8, i8* %490, i32 1
  store i8 0, i8* %493, align 1, !tbaa !12
  %494 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %14) #14
  %495 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %494, i32 0, i32 1, i32 3
  store i1 ()* @builtinCaret, i1 ()** %495, align 4, !tbaa !774
  %496 = load i32, i32* %492, align 4, !tbaa !81
  %497 = icmp ugt i32 %496, 15
  br i1 %497, label %498, label %523

; <label>:498:                                    ; preds = %489
  %499 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %500 = load i8*, i8** %499, align 4, !tbaa !12
  %501 = add i32 %496, 1
  %502 = icmp ugt i32 %501, 4095
  br i1 %502, label %503, label %520

; <label>:503:                                    ; preds = %498
  %504 = add i32 %496, 36
  %505 = icmp ugt i32 %501, -36
  br i1 %505, label %519, label %506

; <label>:506:                                    ; preds = %503
  %507 = ptrtoint i8* %500 to i32
  %508 = and i32 %507, 31
  %509 = icmp eq i32 %508, 0
  br i1 %509, label %510, label %519

; <label>:510:                                    ; preds = %506
  %511 = add i32 %507, -4
  %512 = inttoptr i32 %511 to i32*
  %513 = load i32, i32* %512, align 4, !tbaa !24
  %514 = icmp ult i32 %513, %507
  br i1 %514, label %515, label %519

; <label>:515:                                    ; preds = %510
  %516 = sub i32 %511, %513
  %517 = icmp ugt i32 %516, 31
  %518 = inttoptr i32 %513 to i8*
  br i1 %517, label %519, label %520

; <label>:519:                                    ; preds = %515, %510, %506, %503
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:520:                                    ; preds = %515, %498
  %521 = phi i8* [ %518, %515 ], [ %500, %498 ]
  %522 = phi i32 [ %504, %515 ], [ %501, %498 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %521, i32 %522) #14
  br label %523

; <label>:523:                                    ; preds = %520, %489
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %490) #14
  %524 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %524) #14
  %525 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %526 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %526, align 4, !tbaa !81
  store i32 4, i32* %525, align 4, !tbaa !83
  %527 = bitcast %"class.std::basic_string"* %15 to i32*
  store i32 1953718627, i32* %527, align 4
  %528 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %528, align 4, !tbaa !12
  %529 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %15) #14
  %530 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %529, i32 0, i32 1, i32 3
  store i1 ()* @builtinCast, i1 ()** %530, align 4, !tbaa !774
  %531 = load i32, i32* %526, align 4, !tbaa !81
  %532 = icmp ugt i32 %531, 15
  br i1 %532, label %533, label %558

; <label>:533:                                    ; preds = %523
  %534 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %535 = load i8*, i8** %534, align 4, !tbaa !12
  %536 = add i32 %531, 1
  %537 = icmp ugt i32 %536, 4095
  br i1 %537, label %538, label %555

; <label>:538:                                    ; preds = %533
  %539 = add i32 %531, 36
  %540 = icmp ugt i32 %536, -36
  br i1 %540, label %554, label %541

; <label>:541:                                    ; preds = %538
  %542 = ptrtoint i8* %535 to i32
  %543 = and i32 %542, 31
  %544 = icmp eq i32 %543, 0
  br i1 %544, label %545, label %554

; <label>:545:                                    ; preds = %541
  %546 = add i32 %542, -4
  %547 = inttoptr i32 %546 to i32*
  %548 = load i32, i32* %547, align 4, !tbaa !24
  %549 = icmp ult i32 %548, %542
  br i1 %549, label %550, label %554

; <label>:550:                                    ; preds = %545
  %551 = sub i32 %546, %548
  %552 = icmp ugt i32 %551, 31
  %553 = inttoptr i32 %548 to i8*
  br i1 %552, label %554, label %555

; <label>:554:                                    ; preds = %550, %545, %541, %538
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:555:                                    ; preds = %550, %533
  %556 = phi i8* [ %553, %550 ], [ %535, %533 ]
  %557 = phi i32 [ %539, %550 ], [ %536, %533 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %556, i32 %557) #14
  br label %558

; <label>:558:                                    ; preds = %555, %523
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %524) #14
  %559 = bitcast %"class.std::basic_string"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %559) #14
  %560 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %561 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %561, align 4, !tbaa !81
  store i32 4, i32* %560, align 4, !tbaa !83
  %562 = bitcast %"class.std::basic_string"* %16 to i32*
  store i32 1818846563, i32* %562, align 4
  %563 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %563, align 4, !tbaa !12
  %564 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %16) #14
  %565 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %564, i32 0, i32 1, i32 3
  store i1 ()* @builtinCeil, i1 ()** %565, align 4, !tbaa !774
  %566 = load i32, i32* %561, align 4, !tbaa !81
  %567 = icmp ugt i32 %566, 15
  br i1 %567, label %568, label %593

; <label>:568:                                    ; preds = %558
  %569 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %570 = load i8*, i8** %569, align 4, !tbaa !12
  %571 = add i32 %566, 1
  %572 = icmp ugt i32 %571, 4095
  br i1 %572, label %573, label %590

; <label>:573:                                    ; preds = %568
  %574 = add i32 %566, 36
  %575 = icmp ugt i32 %571, -36
  br i1 %575, label %589, label %576

; <label>:576:                                    ; preds = %573
  %577 = ptrtoint i8* %570 to i32
  %578 = and i32 %577, 31
  %579 = icmp eq i32 %578, 0
  br i1 %579, label %580, label %589

; <label>:580:                                    ; preds = %576
  %581 = add i32 %577, -4
  %582 = inttoptr i32 %581 to i32*
  %583 = load i32, i32* %582, align 4, !tbaa !24
  %584 = icmp ult i32 %583, %577
  br i1 %584, label %585, label %589

; <label>:585:                                    ; preds = %580
  %586 = sub i32 %581, %583
  %587 = icmp ugt i32 %586, 31
  %588 = inttoptr i32 %583 to i8*
  br i1 %587, label %589, label %590

; <label>:589:                                    ; preds = %585, %580, %576, %573
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:590:                                    ; preds = %585, %568
  %591 = phi i8* [ %588, %585 ], [ %570, %568 ]
  %592 = phi i32 [ %574, %585 ], [ %571, %568 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %591, i32 %592) #14
  br label %593

; <label>:593:                                    ; preds = %590, %558
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %559) #14
  %594 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %594) #14
  %595 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  %596 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %596, align 4, !tbaa !81
  store i32 1, i32* %595, align 4, !tbaa !83
  store i8 44, i8* %594, align 4
  %597 = getelementptr inbounds i8, i8* %594, i32 1
  store i8 0, i8* %597, align 1, !tbaa !12
  %598 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %17) #14
  %599 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %598, i32 0, i32 1, i32 3
  store i1 ()* @builtinComma, i1 ()** %599, align 4, !tbaa !774
  %600 = load i32, i32* %596, align 4, !tbaa !81
  %601 = icmp ugt i32 %600, 15
  br i1 %601, label %602, label %627

; <label>:602:                                    ; preds = %593
  %603 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %604 = load i8*, i8** %603, align 4, !tbaa !12
  %605 = add i32 %600, 1
  %606 = icmp ugt i32 %605, 4095
  br i1 %606, label %607, label %624

; <label>:607:                                    ; preds = %602
  %608 = add i32 %600, 36
  %609 = icmp ugt i32 %605, -36
  br i1 %609, label %623, label %610

; <label>:610:                                    ; preds = %607
  %611 = ptrtoint i8* %604 to i32
  %612 = and i32 %611, 31
  %613 = icmp eq i32 %612, 0
  br i1 %613, label %614, label %623

; <label>:614:                                    ; preds = %610
  %615 = add i32 %611, -4
  %616 = inttoptr i32 %615 to i32*
  %617 = load i32, i32* %616, align 4, !tbaa !24
  %618 = icmp ult i32 %617, %611
  br i1 %618, label %619, label %623

; <label>:619:                                    ; preds = %614
  %620 = sub i32 %615, %617
  %621 = icmp ugt i32 %620, 31
  %622 = inttoptr i32 %617 to i8*
  br i1 %621, label %623, label %624

; <label>:623:                                    ; preds = %619, %614, %610, %607
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:624:                                    ; preds = %619, %602
  %625 = phi i8* [ %622, %619 ], [ %604, %602 ]
  %626 = phi i32 [ %608, %619 ], [ %605, %602 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %625, i32 %626) #14
  br label %627

; <label>:627:                                    ; preds = %624, %593
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %594) #14
  %628 = bitcast %"class.std::basic_string"* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %628) #14
  %629 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 1
  %630 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %630, align 4, !tbaa !81
  store i32 4, i32* %629, align 4, !tbaa !83
  %631 = bitcast %"class.std::basic_string"* %18 to i32*
  store i32 2037411683, i32* %631, align 4
  %632 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %632, align 4, !tbaa !12
  %633 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %18) #14
  %634 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %633, i32 0, i32 1, i32 3
  store i1 ()* @builtinCopy, i1 ()** %634, align 4, !tbaa !774
  %635 = load i32, i32* %630, align 4, !tbaa !81
  %636 = icmp ugt i32 %635, 15
  br i1 %636, label %637, label %662

; <label>:637:                                    ; preds = %627
  %638 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %639 = load i8*, i8** %638, align 4, !tbaa !12
  %640 = add i32 %635, 1
  %641 = icmp ugt i32 %640, 4095
  br i1 %641, label %642, label %659

; <label>:642:                                    ; preds = %637
  %643 = add i32 %635, 36
  %644 = icmp ugt i32 %640, -36
  br i1 %644, label %658, label %645

; <label>:645:                                    ; preds = %642
  %646 = ptrtoint i8* %639 to i32
  %647 = and i32 %646, 31
  %648 = icmp eq i32 %647, 0
  br i1 %648, label %649, label %658

; <label>:649:                                    ; preds = %645
  %650 = add i32 %646, -4
  %651 = inttoptr i32 %650 to i32*
  %652 = load i32, i32* %651, align 4, !tbaa !24
  %653 = icmp ult i32 %652, %646
  br i1 %653, label %654, label %658

; <label>:654:                                    ; preds = %649
  %655 = sub i32 %650, %652
  %656 = icmp ugt i32 %655, 31
  %657 = inttoptr i32 %652 to i8*
  br i1 %656, label %658, label %659

; <label>:658:                                    ; preds = %654, %649, %645, %642
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:659:                                    ; preds = %654, %637
  %660 = phi i8* [ %657, %654 ], [ %639, %637 ]
  %661 = phi i32 [ %643, %654 ], [ %640, %637 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %660, i32 %661) #14
  br label %662

; <label>:662:                                    ; preds = %659, %627
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %628) #14
  %663 = bitcast %"class.std::basic_string"* %19 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %663) #14
  %664 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 1
  %665 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %665, align 4, !tbaa !81
  store i32 3, i32* %664, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %663, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03LALBNOCG@cos?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %666 = getelementptr inbounds i8, i8* %663, i32 3
  store i8 0, i8* %666, align 1, !tbaa !12
  %667 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %19) #14
  %668 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %667, i32 0, i32 1, i32 3
  store i1 ()* @builtinCos, i1 ()** %668, align 4, !tbaa !774
  %669 = load i32, i32* %665, align 4, !tbaa !81
  %670 = icmp ugt i32 %669, 15
  br i1 %670, label %671, label %696

; <label>:671:                                    ; preds = %662
  %672 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %673 = load i8*, i8** %672, align 4, !tbaa !12
  %674 = add i32 %669, 1
  %675 = icmp ugt i32 %674, 4095
  br i1 %675, label %676, label %693

; <label>:676:                                    ; preds = %671
  %677 = add i32 %669, 36
  %678 = icmp ugt i32 %674, -36
  br i1 %678, label %692, label %679

; <label>:679:                                    ; preds = %676
  %680 = ptrtoint i8* %673 to i32
  %681 = and i32 %680, 31
  %682 = icmp eq i32 %681, 0
  br i1 %682, label %683, label %692

; <label>:683:                                    ; preds = %679
  %684 = add i32 %680, -4
  %685 = inttoptr i32 %684 to i32*
  %686 = load i32, i32* %685, align 4, !tbaa !24
  %687 = icmp ult i32 %686, %680
  br i1 %687, label %688, label %692

; <label>:688:                                    ; preds = %683
  %689 = sub i32 %684, %686
  %690 = icmp ugt i32 %689, 31
  %691 = inttoptr i32 %686 to i8*
  br i1 %690, label %692, label %693

; <label>:692:                                    ; preds = %688, %683, %679, %676
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:693:                                    ; preds = %688, %671
  %694 = phi i8* [ %691, %688 ], [ %673, %671 ]
  %695 = phi i32 [ %677, %688 ], [ %674, %671 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %694, i32 %695) #14
  br label %696

; <label>:696:                                    ; preds = %693, %662
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %663) #14
  %697 = bitcast %"class.std::basic_string"* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %697) #14
  %698 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 1
  %699 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %699, align 4, !tbaa !81
  store i32 1, i32* %698, align 4, !tbaa !83
  store i8 61, i8* %697, align 4
  %700 = getelementptr inbounds i8, i8* %697, i32 1
  store i8 0, i8* %700, align 1, !tbaa !12
  %701 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %20) #14
  %702 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %701, i32 0, i32 1, i32 3
  store i1 ()* @builtinEqual, i1 ()** %702, align 4, !tbaa !774
  %703 = load i32, i32* %699, align 4, !tbaa !81
  %704 = icmp ugt i32 %703, 15
  br i1 %704, label %705, label %730

; <label>:705:                                    ; preds = %696
  %706 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %707 = load i8*, i8** %706, align 4, !tbaa !12
  %708 = add i32 %703, 1
  %709 = icmp ugt i32 %708, 4095
  br i1 %709, label %710, label %727

; <label>:710:                                    ; preds = %705
  %711 = add i32 %703, 36
  %712 = icmp ugt i32 %708, -36
  br i1 %712, label %726, label %713

; <label>:713:                                    ; preds = %710
  %714 = ptrtoint i8* %707 to i32
  %715 = and i32 %714, 31
  %716 = icmp eq i32 %715, 0
  br i1 %716, label %717, label %726

; <label>:717:                                    ; preds = %713
  %718 = add i32 %714, -4
  %719 = inttoptr i32 %718 to i32*
  %720 = load i32, i32* %719, align 4, !tbaa !24
  %721 = icmp ult i32 %720, %714
  br i1 %721, label %722, label %726

; <label>:722:                                    ; preds = %717
  %723 = sub i32 %718, %720
  %724 = icmp ugt i32 %723, 31
  %725 = inttoptr i32 %720 to i8*
  br i1 %724, label %726, label %727

; <label>:726:                                    ; preds = %722, %717, %713, %710
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:727:                                    ; preds = %722, %705
  %728 = phi i8* [ %725, %722 ], [ %707, %705 ]
  %729 = phi i32 [ %711, %722 ], [ %708, %705 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %728, i32 %729) #14
  br label %730

; <label>:730:                                    ; preds = %727, %696
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %697) #14
  %731 = bitcast %"class.std::basic_string"* %21 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %731) #14
  %732 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 1
  %733 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %733, align 4, !tbaa !81
  store i32 1, i32* %732, align 4, !tbaa !83
  store i8 33, i8* %731, align 4
  %734 = getelementptr inbounds i8, i8* %731, i32 1
  store i8 0, i8* %734, align 1, !tbaa !12
  %735 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %21) #14
  %736 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %735, i32 0, i32 1, i32 3
  store i1 ()* @builtinExclamation, i1 ()** %736, align 4, !tbaa !774
  %737 = load i32, i32* %733, align 4, !tbaa !81
  %738 = icmp ugt i32 %737, 15
  br i1 %738, label %739, label %764

; <label>:739:                                    ; preds = %730
  %740 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %741 = load i8*, i8** %740, align 4, !tbaa !12
  %742 = add i32 %737, 1
  %743 = icmp ugt i32 %742, 4095
  br i1 %743, label %744, label %761

; <label>:744:                                    ; preds = %739
  %745 = add i32 %737, 36
  %746 = icmp ugt i32 %742, -36
  br i1 %746, label %760, label %747

; <label>:747:                                    ; preds = %744
  %748 = ptrtoint i8* %741 to i32
  %749 = and i32 %748, 31
  %750 = icmp eq i32 %749, 0
  br i1 %750, label %751, label %760

; <label>:751:                                    ; preds = %747
  %752 = add i32 %748, -4
  %753 = inttoptr i32 %752 to i32*
  %754 = load i32, i32* %753, align 4, !tbaa !24
  %755 = icmp ult i32 %754, %748
  br i1 %755, label %756, label %760

; <label>:756:                                    ; preds = %751
  %757 = sub i32 %752, %754
  %758 = icmp ugt i32 %757, 31
  %759 = inttoptr i32 %754 to i8*
  br i1 %758, label %760, label %761

; <label>:760:                                    ; preds = %756, %751, %747, %744
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:761:                                    ; preds = %756, %739
  %762 = phi i8* [ %759, %756 ], [ %741, %739 ]
  %763 = phi i32 [ %745, %756 ], [ %742, %739 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %762, i32 %763) #14
  br label %764

; <label>:764:                                    ; preds = %761, %730
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %731) #14
  %765 = bitcast %"class.std::basic_string"* %22 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %765) #14
  %766 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 1
  %767 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %767, align 4, !tbaa !81
  store i32 3, i32* %766, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %765, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03KHJOGHMM@exp?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %768 = getelementptr inbounds i8, i8* %765, i32 3
  store i8 0, i8* %768, align 1, !tbaa !12
  %769 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %22) #14
  %770 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %769, i32 0, i32 1, i32 3
  store i1 ()* @builtinExp, i1 ()** %770, align 4, !tbaa !774
  %771 = load i32, i32* %767, align 4, !tbaa !81
  %772 = icmp ugt i32 %771, 15
  br i1 %772, label %773, label %798

; <label>:773:                                    ; preds = %764
  %774 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %775 = load i8*, i8** %774, align 4, !tbaa !12
  %776 = add i32 %771, 1
  %777 = icmp ugt i32 %776, 4095
  br i1 %777, label %778, label %795

; <label>:778:                                    ; preds = %773
  %779 = add i32 %771, 36
  %780 = icmp ugt i32 %776, -36
  br i1 %780, label %794, label %781

; <label>:781:                                    ; preds = %778
  %782 = ptrtoint i8* %775 to i32
  %783 = and i32 %782, 31
  %784 = icmp eq i32 %783, 0
  br i1 %784, label %785, label %794

; <label>:785:                                    ; preds = %781
  %786 = add i32 %782, -4
  %787 = inttoptr i32 %786 to i32*
  %788 = load i32, i32* %787, align 4, !tbaa !24
  %789 = icmp ult i32 %788, %782
  br i1 %789, label %790, label %794

; <label>:790:                                    ; preds = %785
  %791 = sub i32 %786, %788
  %792 = icmp ugt i32 %791, 31
  %793 = inttoptr i32 %788 to i8*
  br i1 %792, label %794, label %795

; <label>:794:                                    ; preds = %790, %785, %781, %778
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:795:                                    ; preds = %790, %773
  %796 = phi i8* [ %793, %790 ], [ %775, %773 ]
  %797 = phi i32 [ %779, %790 ], [ %776, %773 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %796, i32 %797) #14
  br label %798

; <label>:798:                                    ; preds = %795, %764
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %765) #14
  %799 = bitcast %"class.std::basic_string"* %23 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %799) #14
  %800 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 1
  %801 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %801, align 4, !tbaa !81
  store i32 5, i32* %800, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %799, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05MAJJAKPI@FALSE?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %802 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %802, align 1, !tbaa !12
  %803 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %23) #14
  %804 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %803, i32 0, i32 1, i32 3
  store i1 ()* @builtinFALSE, i1 ()** %804, align 4, !tbaa !774
  %805 = load i32, i32* %801, align 4, !tbaa !81
  %806 = icmp ugt i32 %805, 15
  br i1 %806, label %807, label %832

; <label>:807:                                    ; preds = %798
  %808 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %23, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %809 = load i8*, i8** %808, align 4, !tbaa !12
  %810 = add i32 %805, 1
  %811 = icmp ugt i32 %810, 4095
  br i1 %811, label %812, label %829

; <label>:812:                                    ; preds = %807
  %813 = add i32 %805, 36
  %814 = icmp ugt i32 %810, -36
  br i1 %814, label %828, label %815

; <label>:815:                                    ; preds = %812
  %816 = ptrtoint i8* %809 to i32
  %817 = and i32 %816, 31
  %818 = icmp eq i32 %817, 0
  br i1 %818, label %819, label %828

; <label>:819:                                    ; preds = %815
  %820 = add i32 %816, -4
  %821 = inttoptr i32 %820 to i32*
  %822 = load i32, i32* %821, align 4, !tbaa !24
  %823 = icmp ult i32 %822, %816
  br i1 %823, label %824, label %828

; <label>:824:                                    ; preds = %819
  %825 = sub i32 %820, %822
  %826 = icmp ugt i32 %825, 31
  %827 = inttoptr i32 %822 to i8*
  br i1 %826, label %828, label %829

; <label>:828:                                    ; preds = %824, %819, %815, %812
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:829:                                    ; preds = %824, %807
  %830 = phi i8* [ %827, %824 ], [ %809, %807 ]
  %831 = phi i32 [ %813, %824 ], [ %810, %807 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %830, i32 %831) #14
  br label %832

; <label>:832:                                    ; preds = %829, %798
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %799) #14
  %833 = bitcast %"class.std::basic_string"* %24 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %833) #14
  %834 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %24, i32 0, i32 0, i32 0, i32 0, i32 1
  %835 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %24, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %835, align 4, !tbaa !81
  store i32 10, i32* %834, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %833, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@CIPHLGBD@fieldCount?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %836 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %24, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 6
  store i8 0, i8* %836, align 2, !tbaa !12
  %837 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %24) #14
  %838 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %837, i32 0, i32 1, i32 3
  store i1 ()* @builtinFieldCount, i1 ()** %838, align 4, !tbaa !774
  %839 = load i32, i32* %835, align 4, !tbaa !81
  %840 = icmp ugt i32 %839, 15
  br i1 %840, label %841, label %866

; <label>:841:                                    ; preds = %832
  %842 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %24, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %843 = load i8*, i8** %842, align 4, !tbaa !12
  %844 = add i32 %839, 1
  %845 = icmp ugt i32 %844, 4095
  br i1 %845, label %846, label %863

; <label>:846:                                    ; preds = %841
  %847 = add i32 %839, 36
  %848 = icmp ugt i32 %844, -36
  br i1 %848, label %862, label %849

; <label>:849:                                    ; preds = %846
  %850 = ptrtoint i8* %843 to i32
  %851 = and i32 %850, 31
  %852 = icmp eq i32 %851, 0
  br i1 %852, label %853, label %862

; <label>:853:                                    ; preds = %849
  %854 = add i32 %850, -4
  %855 = inttoptr i32 %854 to i32*
  %856 = load i32, i32* %855, align 4, !tbaa !24
  %857 = icmp ult i32 %856, %850
  br i1 %857, label %858, label %862

; <label>:858:                                    ; preds = %853
  %859 = sub i32 %854, %856
  %860 = icmp ugt i32 %859, 31
  %861 = inttoptr i32 %856 to i8*
  br i1 %860, label %862, label %863

; <label>:862:                                    ; preds = %858, %853, %849, %846
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:863:                                    ; preds = %858, %841
  %864 = phi i8* [ %861, %858 ], [ %843, %841 ]
  %865 = phi i32 [ %847, %858 ], [ %844, %841 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %864, i32 %865) #14
  br label %866

; <label>:866:                                    ; preds = %863, %832
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %833) #14
  %867 = bitcast %"class.std::basic_string"* %25 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %867) #14
  %868 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 1
  %869 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %869, align 4, !tbaa !81
  store i32 9, i32* %868, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %867, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @"\01??_C@_09ELOIKAJM@fieldName?$AA@", i32 0, i32 0), i32 9, i32 1, i1 false) #14
  %870 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 5
  store i8 0, i8* %870, align 1, !tbaa !12
  %871 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %25) #14
  %872 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %871, i32 0, i32 1, i32 3
  store i1 ()* @builtinFieldName, i1 ()** %872, align 4, !tbaa !774
  %873 = load i32, i32* %869, align 4, !tbaa !81
  %874 = icmp ugt i32 %873, 15
  br i1 %874, label %875, label %900

; <label>:875:                                    ; preds = %866
  %876 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %25, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %877 = load i8*, i8** %876, align 4, !tbaa !12
  %878 = add i32 %873, 1
  %879 = icmp ugt i32 %878, 4095
  br i1 %879, label %880, label %897

; <label>:880:                                    ; preds = %875
  %881 = add i32 %873, 36
  %882 = icmp ugt i32 %878, -36
  br i1 %882, label %896, label %883

; <label>:883:                                    ; preds = %880
  %884 = ptrtoint i8* %877 to i32
  %885 = and i32 %884, 31
  %886 = icmp eq i32 %885, 0
  br i1 %886, label %887, label %896

; <label>:887:                                    ; preds = %883
  %888 = add i32 %884, -4
  %889 = inttoptr i32 %888 to i32*
  %890 = load i32, i32* %889, align 4, !tbaa !24
  %891 = icmp ult i32 %890, %884
  br i1 %891, label %892, label %896

; <label>:892:                                    ; preds = %887
  %893 = sub i32 %888, %890
  %894 = icmp ugt i32 %893, 31
  %895 = inttoptr i32 %890 to i8*
  br i1 %894, label %896, label %897

; <label>:896:                                    ; preds = %892, %887, %883, %880
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:897:                                    ; preds = %892, %875
  %898 = phi i8* [ %895, %892 ], [ %877, %875 ]
  %899 = phi i32 [ %881, %892 ], [ %878, %875 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %898, i32 %899) #14
  br label %900

; <label>:900:                                    ; preds = %897, %866
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %867) #14
  %901 = bitcast %"class.std::basic_string"* %26 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %901) #14
  %902 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 1
  %903 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %903, align 4, !tbaa !81
  store i32 5, i32* %902, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %901, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05PBJFFIGL@floor?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %904 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %904, align 1, !tbaa !12
  %905 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %26) #14
  %906 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %905, i32 0, i32 1, i32 3
  store i1 ()* @builtinFloor, i1 ()** %906, align 4, !tbaa !774
  %907 = load i32, i32* %903, align 4, !tbaa !81
  %908 = icmp ugt i32 %907, 15
  br i1 %908, label %909, label %934

; <label>:909:                                    ; preds = %900
  %910 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %26, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %911 = load i8*, i8** %910, align 4, !tbaa !12
  %912 = add i32 %907, 1
  %913 = icmp ugt i32 %912, 4095
  br i1 %913, label %914, label %931

; <label>:914:                                    ; preds = %909
  %915 = add i32 %907, 36
  %916 = icmp ugt i32 %912, -36
  br i1 %916, label %930, label %917

; <label>:917:                                    ; preds = %914
  %918 = ptrtoint i8* %911 to i32
  %919 = and i32 %918, 31
  %920 = icmp eq i32 %919, 0
  br i1 %920, label %921, label %930

; <label>:921:                                    ; preds = %917
  %922 = add i32 %918, -4
  %923 = inttoptr i32 %922 to i32*
  %924 = load i32, i32* %923, align 4, !tbaa !24
  %925 = icmp ult i32 %924, %918
  br i1 %925, label %926, label %930

; <label>:926:                                    ; preds = %921
  %927 = sub i32 %922, %924
  %928 = icmp ugt i32 %927, 31
  %929 = inttoptr i32 %924 to i8*
  br i1 %928, label %930, label %931

; <label>:930:                                    ; preds = %926, %921, %917, %914
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:931:                                    ; preds = %926, %909
  %932 = phi i8* [ %929, %926 ], [ %911, %909 ]
  %933 = phi i32 [ %915, %926 ], [ %912, %909 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %932, i32 %933) #14
  br label %934

; <label>:934:                                    ; preds = %931, %900
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %901) #14
  %935 = bitcast %"class.std::basic_string"* %27 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %935) #14
  %936 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 1
  %937 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %937, align 4, !tbaa !81
  store i32 10, i32* %936, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %935, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@IGNAINIB@freeMemory?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %938 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 6
  store i8 0, i8* %938, align 2, !tbaa !12
  %939 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %27) #14
  %940 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %939, i32 0, i32 1, i32 3
  store i1 ()* @builtinFreeMemory, i1 ()** %940, align 4, !tbaa !774
  %941 = load i32, i32* %937, align 4, !tbaa !81
  %942 = icmp ugt i32 %941, 15
  br i1 %942, label %943, label %968

; <label>:943:                                    ; preds = %934
  %944 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %27, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %945 = load i8*, i8** %944, align 4, !tbaa !12
  %946 = add i32 %941, 1
  %947 = icmp ugt i32 %946, 4095
  br i1 %947, label %948, label %965

; <label>:948:                                    ; preds = %943
  %949 = add i32 %941, 36
  %950 = icmp ugt i32 %946, -36
  br i1 %950, label %964, label %951

; <label>:951:                                    ; preds = %948
  %952 = ptrtoint i8* %945 to i32
  %953 = and i32 %952, 31
  %954 = icmp eq i32 %953, 0
  br i1 %954, label %955, label %964

; <label>:955:                                    ; preds = %951
  %956 = add i32 %952, -4
  %957 = inttoptr i32 %956 to i32*
  %958 = load i32, i32* %957, align 4, !tbaa !24
  %959 = icmp ult i32 %958, %952
  br i1 %959, label %960, label %964

; <label>:960:                                    ; preds = %955
  %961 = sub i32 %956, %958
  %962 = icmp ugt i32 %961, 31
  %963 = inttoptr i32 %958 to i8*
  br i1 %962, label %964, label %965

; <label>:964:                                    ; preds = %960, %955, %951, %948
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:965:                                    ; preds = %960, %943
  %966 = phi i8* [ %963, %960 ], [ %945, %943 ]
  %967 = phi i32 [ %949, %960 ], [ %946, %943 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %966, i32 %967) #14
  br label %968

; <label>:968:                                    ; preds = %965, %934
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %935) #14
  %969 = bitcast %"class.std::basic_string"* %28 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %969) #14
  %970 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 1
  %971 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %971, align 4, !tbaa !81
  store i32 1, i32* %970, align 4, !tbaa !83
  store i8 62, i8* %969, align 4
  %972 = getelementptr inbounds i8, i8* %969, i32 1
  store i8 0, i8* %972, align 1, !tbaa !12
  %973 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %28) #14
  %974 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %973, i32 0, i32 1, i32 3
  store i1 ()* @builtinGreater, i1 ()** %974, align 4, !tbaa !774
  %975 = load i32, i32* %971, align 4, !tbaa !81
  %976 = icmp ugt i32 %975, 15
  br i1 %976, label %977, label %1002

; <label>:977:                                    ; preds = %968
  %978 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %28, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %979 = load i8*, i8** %978, align 4, !tbaa !12
  %980 = add i32 %975, 1
  %981 = icmp ugt i32 %980, 4095
  br i1 %981, label %982, label %999

; <label>:982:                                    ; preds = %977
  %983 = add i32 %975, 36
  %984 = icmp ugt i32 %980, -36
  br i1 %984, label %998, label %985

; <label>:985:                                    ; preds = %982
  %986 = ptrtoint i8* %979 to i32
  %987 = and i32 %986, 31
  %988 = icmp eq i32 %987, 0
  br i1 %988, label %989, label %998

; <label>:989:                                    ; preds = %985
  %990 = add i32 %986, -4
  %991 = inttoptr i32 %990 to i32*
  %992 = load i32, i32* %991, align 4, !tbaa !24
  %993 = icmp ult i32 %992, %986
  br i1 %993, label %994, label %998

; <label>:994:                                    ; preds = %989
  %995 = sub i32 %990, %992
  %996 = icmp ugt i32 %995, 31
  %997 = inttoptr i32 %992 to i8*
  br i1 %996, label %998, label %999

; <label>:998:                                    ; preds = %994, %989, %985, %982
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:999:                                    ; preds = %994, %977
  %1000 = phi i8* [ %997, %994 ], [ %979, %977 ]
  %1001 = phi i32 [ %983, %994 ], [ %980, %977 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1000, i32 %1001) #14
  br label %1002

; <label>:1002:                                   ; preds = %999, %968
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %969) #14
  %1003 = bitcast %"class.std::basic_string"* %29 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1003) #14
  %1004 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 1
  %1005 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1005, align 4, !tbaa !81
  store i32 3, i32* %1004, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1003, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03GNCOHECN@has?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1006 = getelementptr inbounds i8, i8* %1003, i32 3
  store i8 0, i8* %1006, align 1, !tbaa !12
  %1007 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %29) #14
  %1008 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1007, i32 0, i32 1, i32 3
  store i1 ()* @builtinHas, i1 ()** %1008, align 4, !tbaa !774
  %1009 = load i32, i32* %1005, align 4, !tbaa !81
  %1010 = icmp ugt i32 %1009, 15
  br i1 %1010, label %1011, label %1036

; <label>:1011:                                   ; preds = %1002
  %1012 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %29, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1013 = load i8*, i8** %1012, align 4, !tbaa !12
  %1014 = add i32 %1009, 1
  %1015 = icmp ugt i32 %1014, 4095
  br i1 %1015, label %1016, label %1033

; <label>:1016:                                   ; preds = %1011
  %1017 = add i32 %1009, 36
  %1018 = icmp ugt i32 %1014, -36
  br i1 %1018, label %1032, label %1019

; <label>:1019:                                   ; preds = %1016
  %1020 = ptrtoint i8* %1013 to i32
  %1021 = and i32 %1020, 31
  %1022 = icmp eq i32 %1021, 0
  br i1 %1022, label %1023, label %1032

; <label>:1023:                                   ; preds = %1019
  %1024 = add i32 %1020, -4
  %1025 = inttoptr i32 %1024 to i32*
  %1026 = load i32, i32* %1025, align 4, !tbaa !24
  %1027 = icmp ult i32 %1026, %1020
  br i1 %1027, label %1028, label %1032

; <label>:1028:                                   ; preds = %1023
  %1029 = sub i32 %1024, %1026
  %1030 = icmp ugt i32 %1029, 31
  %1031 = inttoptr i32 %1026 to i8*
  br i1 %1030, label %1032, label %1033

; <label>:1032:                                   ; preds = %1028, %1023, %1019, %1016
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1033:                                   ; preds = %1028, %1011
  %1034 = phi i8* [ %1031, %1028 ], [ %1013, %1011 ]
  %1035 = phi i32 [ %1017, %1028 ], [ %1014, %1011 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1034, i32 %1035) #14
  br label %1036

; <label>:1036:                                   ; preds = %1033, %1002
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1003) #14
  %1037 = bitcast %"class.std::basic_string"* %30 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1037) #14
  %1038 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 1
  %1039 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1039, align 4, !tbaa !81
  store i32 2, i32* %1038, align 4, !tbaa !83
  %1040 = bitcast %"class.std::basic_string"* %30 to i16*
  store i16 26217, i16* %1040, align 4
  %1041 = getelementptr inbounds i8, i8* %1037, i32 2
  store i8 0, i8* %1041, align 2, !tbaa !12
  %1042 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %30) #14
  %1043 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1042, i32 0, i32 1, i32 3
  store i1 ()* @builtinIf, i1 ()** %1043, align 4, !tbaa !774
  %1044 = load i32, i32* %1039, align 4, !tbaa !81
  %1045 = icmp ugt i32 %1044, 15
  br i1 %1045, label %1046, label %1071

; <label>:1046:                                   ; preds = %1036
  %1047 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1048 = load i8*, i8** %1047, align 4, !tbaa !12
  %1049 = add i32 %1044, 1
  %1050 = icmp ugt i32 %1049, 4095
  br i1 %1050, label %1051, label %1068

; <label>:1051:                                   ; preds = %1046
  %1052 = add i32 %1044, 36
  %1053 = icmp ugt i32 %1049, -36
  br i1 %1053, label %1067, label %1054

; <label>:1054:                                   ; preds = %1051
  %1055 = ptrtoint i8* %1048 to i32
  %1056 = and i32 %1055, 31
  %1057 = icmp eq i32 %1056, 0
  br i1 %1057, label %1058, label %1067

; <label>:1058:                                   ; preds = %1054
  %1059 = add i32 %1055, -4
  %1060 = inttoptr i32 %1059 to i32*
  %1061 = load i32, i32* %1060, align 4, !tbaa !24
  %1062 = icmp ult i32 %1061, %1055
  br i1 %1062, label %1063, label %1067

; <label>:1063:                                   ; preds = %1058
  %1064 = sub i32 %1059, %1061
  %1065 = icmp ugt i32 %1064, 31
  %1066 = inttoptr i32 %1061 to i8*
  br i1 %1065, label %1067, label %1068

; <label>:1067:                                   ; preds = %1063, %1058, %1054, %1051
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1068:                                   ; preds = %1063, %1046
  %1069 = phi i8* [ %1066, %1063 ], [ %1048, %1046 ]
  %1070 = phi i32 [ %1052, %1063 ], [ %1049, %1046 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1069, i32 %1070) #14
  br label %1071

; <label>:1071:                                   ; preds = %1068, %1036
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1037) #14
  %1072 = bitcast %"class.std::basic_string"* %31 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1072) #14
  %1073 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 1
  %1074 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1074, align 4, !tbaa !81
  store i32 13, i32* %1073, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1072, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@HPJEOGCK@importDynamic?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %1075 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 9
  store i8 0, i8* %1075, align 1, !tbaa !12
  %1076 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %31) #14
  %1077 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1076, i32 0, i32 1, i32 3
  store i1 ()* @builtinImportDynamic, i1 ()** %1077, align 4, !tbaa !774
  %1078 = load i32, i32* %1074, align 4, !tbaa !81
  %1079 = icmp ugt i32 %1078, 15
  br i1 %1079, label %1080, label %1105

; <label>:1080:                                   ; preds = %1071
  %1081 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1082 = load i8*, i8** %1081, align 4, !tbaa !12
  %1083 = add i32 %1078, 1
  %1084 = icmp ugt i32 %1083, 4095
  br i1 %1084, label %1085, label %1102

; <label>:1085:                                   ; preds = %1080
  %1086 = add i32 %1078, 36
  %1087 = icmp ugt i32 %1083, -36
  br i1 %1087, label %1101, label %1088

; <label>:1088:                                   ; preds = %1085
  %1089 = ptrtoint i8* %1082 to i32
  %1090 = and i32 %1089, 31
  %1091 = icmp eq i32 %1090, 0
  br i1 %1091, label %1092, label %1101

; <label>:1092:                                   ; preds = %1088
  %1093 = add i32 %1089, -4
  %1094 = inttoptr i32 %1093 to i32*
  %1095 = load i32, i32* %1094, align 4, !tbaa !24
  %1096 = icmp ult i32 %1095, %1089
  br i1 %1096, label %1097, label %1101

; <label>:1097:                                   ; preds = %1092
  %1098 = sub i32 %1093, %1095
  %1099 = icmp ugt i32 %1098, 31
  %1100 = inttoptr i32 %1095 to i8*
  br i1 %1099, label %1101, label %1102

; <label>:1101:                                   ; preds = %1097, %1092, %1088, %1085
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1102:                                   ; preds = %1097, %1080
  %1103 = phi i8* [ %1100, %1097 ], [ %1082, %1080 ]
  %1104 = phi i32 [ %1086, %1097 ], [ %1083, %1080 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1103, i32 %1104) #14
  br label %1105

; <label>:1105:                                   ; preds = %1102, %1071
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1072) #14
  %1106 = bitcast %"class.std::basic_string"* %32 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1106) #14
  %1107 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %32, i32 0, i32 0, i32 0, i32 0, i32 1
  %1108 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %32, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1108, align 4, !tbaa !81
  store i32 1, i32* %1107, align 4, !tbaa !83
  store i8 62, i8* %1106, align 4
  %1109 = getelementptr inbounds i8, i8* %1106, i32 1
  store i8 0, i8* %1109, align 1, !tbaa !12
  %1110 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %32) #14
  %1111 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1110, i32 0, i32 1, i32 3
  store i1 ()* @builtinGreater, i1 ()** %1111, align 4, !tbaa !774
  %1112 = load i32, i32* %1108, align 4, !tbaa !81
  %1113 = icmp ugt i32 %1112, 15
  br i1 %1113, label %1114, label %1139

; <label>:1114:                                   ; preds = %1105
  %1115 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %32, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1116 = load i8*, i8** %1115, align 4, !tbaa !12
  %1117 = add i32 %1112, 1
  %1118 = icmp ugt i32 %1117, 4095
  br i1 %1118, label %1119, label %1136

; <label>:1119:                                   ; preds = %1114
  %1120 = add i32 %1112, 36
  %1121 = icmp ugt i32 %1117, -36
  br i1 %1121, label %1135, label %1122

; <label>:1122:                                   ; preds = %1119
  %1123 = ptrtoint i8* %1116 to i32
  %1124 = and i32 %1123, 31
  %1125 = icmp eq i32 %1124, 0
  br i1 %1125, label %1126, label %1135

; <label>:1126:                                   ; preds = %1122
  %1127 = add i32 %1123, -4
  %1128 = inttoptr i32 %1127 to i32*
  %1129 = load i32, i32* %1128, align 4, !tbaa !24
  %1130 = icmp ult i32 %1129, %1123
  br i1 %1130, label %1131, label %1135

; <label>:1131:                                   ; preds = %1126
  %1132 = sub i32 %1127, %1129
  %1133 = icmp ugt i32 %1132, 31
  %1134 = inttoptr i32 %1129 to i8*
  br i1 %1133, label %1135, label %1136

; <label>:1135:                                   ; preds = %1131, %1126, %1122, %1119
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1136:                                   ; preds = %1131, %1114
  %1137 = phi i8* [ %1134, %1131 ], [ %1116, %1114 ]
  %1138 = phi i32 [ %1120, %1131 ], [ %1117, %1114 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1137, i32 %1138) #14
  br label %1139

; <label>:1139:                                   ; preds = %1136, %1105
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1106) #14
  %1140 = bitcast %"class.std::basic_string"* %33 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1140) #14
  %1141 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 1
  %1142 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1142, align 4, !tbaa !81
  store i32 3, i32* %1141, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1140, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03GNCOHECN@has?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1143 = getelementptr inbounds i8, i8* %1140, i32 3
  store i8 0, i8* %1143, align 1, !tbaa !12
  %1144 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %33) #14
  %1145 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1144, i32 0, i32 1, i32 3
  store i1 ()* @builtinHas, i1 ()** %1145, align 4, !tbaa !774
  %1146 = load i32, i32* %1142, align 4, !tbaa !81
  %1147 = icmp ugt i32 %1146, 15
  br i1 %1147, label %1148, label %1173

; <label>:1148:                                   ; preds = %1139
  %1149 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1150 = load i8*, i8** %1149, align 4, !tbaa !12
  %1151 = add i32 %1146, 1
  %1152 = icmp ugt i32 %1151, 4095
  br i1 %1152, label %1153, label %1170

; <label>:1153:                                   ; preds = %1148
  %1154 = add i32 %1146, 36
  %1155 = icmp ugt i32 %1151, -36
  br i1 %1155, label %1169, label %1156

; <label>:1156:                                   ; preds = %1153
  %1157 = ptrtoint i8* %1150 to i32
  %1158 = and i32 %1157, 31
  %1159 = icmp eq i32 %1158, 0
  br i1 %1159, label %1160, label %1169

; <label>:1160:                                   ; preds = %1156
  %1161 = add i32 %1157, -4
  %1162 = inttoptr i32 %1161 to i32*
  %1163 = load i32, i32* %1162, align 4, !tbaa !24
  %1164 = icmp ult i32 %1163, %1157
  br i1 %1164, label %1165, label %1169

; <label>:1165:                                   ; preds = %1160
  %1166 = sub i32 %1161, %1163
  %1167 = icmp ugt i32 %1166, 31
  %1168 = inttoptr i32 %1163 to i8*
  br i1 %1167, label %1169, label %1170

; <label>:1169:                                   ; preds = %1165, %1160, %1156, %1153
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1170:                                   ; preds = %1165, %1148
  %1171 = phi i8* [ %1168, %1165 ], [ %1150, %1148 ]
  %1172 = phi i32 [ %1154, %1165 ], [ %1151, %1148 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1171, i32 %1172) #14
  br label %1173

; <label>:1173:                                   ; preds = %1170, %1139
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1140) #14
  %1174 = bitcast %"class.std::basic_string"* %34 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1174) #14
  %1175 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 1
  %1176 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1176, align 4, !tbaa !81
  store i32 2, i32* %1175, align 4, !tbaa !83
  %1177 = bitcast %"class.std::basic_string"* %34 to i16*
  store i16 26217, i16* %1177, align 4
  %1178 = getelementptr inbounds i8, i8* %1174, i32 2
  store i8 0, i8* %1178, align 2, !tbaa !12
  %1179 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %34) #14
  %1180 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1179, i32 0, i32 1, i32 3
  store i1 ()* @builtinIf, i1 ()** %1180, align 4, !tbaa !774
  %1181 = load i32, i32* %1176, align 4, !tbaa !81
  %1182 = icmp ugt i32 %1181, 15
  br i1 %1182, label %1183, label %1208

; <label>:1183:                                   ; preds = %1173
  %1184 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1185 = load i8*, i8** %1184, align 4, !tbaa !12
  %1186 = add i32 %1181, 1
  %1187 = icmp ugt i32 %1186, 4095
  br i1 %1187, label %1188, label %1205

; <label>:1188:                                   ; preds = %1183
  %1189 = add i32 %1181, 36
  %1190 = icmp ugt i32 %1186, -36
  br i1 %1190, label %1204, label %1191

; <label>:1191:                                   ; preds = %1188
  %1192 = ptrtoint i8* %1185 to i32
  %1193 = and i32 %1192, 31
  %1194 = icmp eq i32 %1193, 0
  br i1 %1194, label %1195, label %1204

; <label>:1195:                                   ; preds = %1191
  %1196 = add i32 %1192, -4
  %1197 = inttoptr i32 %1196 to i32*
  %1198 = load i32, i32* %1197, align 4, !tbaa !24
  %1199 = icmp ult i32 %1198, %1192
  br i1 %1199, label %1200, label %1204

; <label>:1200:                                   ; preds = %1195
  %1201 = sub i32 %1196, %1198
  %1202 = icmp ugt i32 %1201, 31
  %1203 = inttoptr i32 %1198 to i8*
  br i1 %1202, label %1204, label %1205

; <label>:1204:                                   ; preds = %1200, %1195, %1191, %1188
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1205:                                   ; preds = %1200, %1183
  %1206 = phi i8* [ %1203, %1200 ], [ %1185, %1183 ]
  %1207 = phi i32 [ %1189, %1200 ], [ %1186, %1183 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1206, i32 %1207) #14
  br label %1208

; <label>:1208:                                   ; preds = %1205, %1173
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1174) #14
  %1209 = bitcast %"class.std::basic_string"* %35 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1209) #14
  %1210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 1
  %1211 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1211, align 4, !tbaa !81
  store i32 6, i32* %1210, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1209, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06OAOPNKHP@insert?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %1212 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %1212, align 2, !tbaa !12
  %1213 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %35) #14
  %1214 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1213, i32 0, i32 1, i32 3
  store i1 ()* @builtinInsert, i1 ()** %1214, align 4, !tbaa !774
  %1215 = load i32, i32* %1211, align 4, !tbaa !81
  %1216 = icmp ugt i32 %1215, 15
  br i1 %1216, label %1217, label %1242

; <label>:1217:                                   ; preds = %1208
  %1218 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1219 = load i8*, i8** %1218, align 4, !tbaa !12
  %1220 = add i32 %1215, 1
  %1221 = icmp ugt i32 %1220, 4095
  br i1 %1221, label %1222, label %1239

; <label>:1222:                                   ; preds = %1217
  %1223 = add i32 %1215, 36
  %1224 = icmp ugt i32 %1220, -36
  br i1 %1224, label %1238, label %1225

; <label>:1225:                                   ; preds = %1222
  %1226 = ptrtoint i8* %1219 to i32
  %1227 = and i32 %1226, 31
  %1228 = icmp eq i32 %1227, 0
  br i1 %1228, label %1229, label %1238

; <label>:1229:                                   ; preds = %1225
  %1230 = add i32 %1226, -4
  %1231 = inttoptr i32 %1230 to i32*
  %1232 = load i32, i32* %1231, align 4, !tbaa !24
  %1233 = icmp ult i32 %1232, %1226
  br i1 %1233, label %1234, label %1238

; <label>:1234:                                   ; preds = %1229
  %1235 = sub i32 %1230, %1232
  %1236 = icmp ugt i32 %1235, 31
  %1237 = inttoptr i32 %1232 to i8*
  br i1 %1236, label %1238, label %1239

; <label>:1238:                                   ; preds = %1234, %1229, %1225, %1222
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1239:                                   ; preds = %1234, %1217
  %1240 = phi i8* [ %1237, %1234 ], [ %1219, %1217 ]
  %1241 = phi i32 [ %1223, %1234 ], [ %1220, %1217 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1240, i32 %1241) #14
  br label %1242

; <label>:1242:                                   ; preds = %1239, %1208
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1209) #14
  %1243 = bitcast %"class.std::basic_string"* %36 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1243) #14
  %1244 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 1
  %1245 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1245, align 4, !tbaa !81
  store i32 2, i32* %1244, align 4, !tbaa !83
  %1246 = bitcast %"class.std::basic_string"* %36 to i16*
  store i16 29545, i16* %1246, align 4
  %1247 = getelementptr inbounds i8, i8* %1243, i32 2
  store i8 0, i8* %1247, align 2, !tbaa !12
  %1248 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %36) #14
  %1249 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1248, i32 0, i32 1, i32 3
  store i1 ()* @builtinIs, i1 ()** %1249, align 4, !tbaa !774
  %1250 = load i32, i32* %1245, align 4, !tbaa !81
  %1251 = icmp ugt i32 %1250, 15
  br i1 %1251, label %1252, label %1277

; <label>:1252:                                   ; preds = %1242
  %1253 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1254 = load i8*, i8** %1253, align 4, !tbaa !12
  %1255 = add i32 %1250, 1
  %1256 = icmp ugt i32 %1255, 4095
  br i1 %1256, label %1257, label %1274

; <label>:1257:                                   ; preds = %1252
  %1258 = add i32 %1250, 36
  %1259 = icmp ugt i32 %1255, -36
  br i1 %1259, label %1273, label %1260

; <label>:1260:                                   ; preds = %1257
  %1261 = ptrtoint i8* %1254 to i32
  %1262 = and i32 %1261, 31
  %1263 = icmp eq i32 %1262, 0
  br i1 %1263, label %1264, label %1273

; <label>:1264:                                   ; preds = %1260
  %1265 = add i32 %1261, -4
  %1266 = inttoptr i32 %1265 to i32*
  %1267 = load i32, i32* %1266, align 4, !tbaa !24
  %1268 = icmp ult i32 %1267, %1261
  br i1 %1268, label %1269, label %1273

; <label>:1269:                                   ; preds = %1264
  %1270 = sub i32 %1265, %1267
  %1271 = icmp ugt i32 %1270, 31
  %1272 = inttoptr i32 %1267 to i8*
  br i1 %1271, label %1273, label %1274

; <label>:1273:                                   ; preds = %1269, %1264, %1260, %1257
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1274:                                   ; preds = %1269, %1252
  %1275 = phi i8* [ %1272, %1269 ], [ %1254, %1252 ]
  %1276 = phi i32 [ %1258, %1269 ], [ %1255, %1252 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1275, i32 %1276) #14
  br label %1277

; <label>:1277:                                   ; preds = %1274, %1242
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1243) #14
  %1278 = bitcast %"class.std::basic_string"* %37 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1278) #14
  %1279 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 1
  %1280 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1280, align 4, !tbaa !81
  store i32 1, i32* %1279, align 4, !tbaa !83
  store i8 60, i8* %1278, align 4
  %1281 = getelementptr inbounds i8, i8* %1278, i32 1
  store i8 0, i8* %1281, align 1, !tbaa !12
  %1282 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %37) #14
  %1283 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1282, i32 0, i32 1, i32 3
  store i1 ()* @builtinLess, i1 ()** %1283, align 4, !tbaa !774
  %1284 = load i32, i32* %1280, align 4, !tbaa !81
  %1285 = icmp ugt i32 %1284, 15
  br i1 %1285, label %1286, label %1311

; <label>:1286:                                   ; preds = %1277
  %1287 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1288 = load i8*, i8** %1287, align 4, !tbaa !12
  %1289 = add i32 %1284, 1
  %1290 = icmp ugt i32 %1289, 4095
  br i1 %1290, label %1291, label %1308

; <label>:1291:                                   ; preds = %1286
  %1292 = add i32 %1284, 36
  %1293 = icmp ugt i32 %1289, -36
  br i1 %1293, label %1307, label %1294

; <label>:1294:                                   ; preds = %1291
  %1295 = ptrtoint i8* %1288 to i32
  %1296 = and i32 %1295, 31
  %1297 = icmp eq i32 %1296, 0
  br i1 %1297, label %1298, label %1307

; <label>:1298:                                   ; preds = %1294
  %1299 = add i32 %1295, -4
  %1300 = inttoptr i32 %1299 to i32*
  %1301 = load i32, i32* %1300, align 4, !tbaa !24
  %1302 = icmp ult i32 %1301, %1295
  br i1 %1302, label %1303, label %1307

; <label>:1303:                                   ; preds = %1298
  %1304 = sub i32 %1299, %1301
  %1305 = icmp ugt i32 %1304, 31
  %1306 = inttoptr i32 %1301 to i8*
  br i1 %1305, label %1307, label %1308

; <label>:1307:                                   ; preds = %1303, %1298, %1294, %1291
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1308:                                   ; preds = %1303, %1286
  %1309 = phi i8* [ %1306, %1303 ], [ %1288, %1286 ]
  %1310 = phi i32 [ %1292, %1303 ], [ %1289, %1286 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1309, i32 %1310) #14
  br label %1311

; <label>:1311:                                   ; preds = %1308, %1277
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1278) #14
  %1312 = bitcast %"class.std::basic_string"* %38 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1312) #14
  %1313 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 1
  %1314 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1314, align 4, !tbaa !81
  store i32 2, i32* %1313, align 4, !tbaa !83
  %1315 = bitcast %"class.std::basic_string"* %38 to i16*
  store i16 17996, i16* %1315, align 4
  %1316 = getelementptr inbounds i8, i8* %1312, i32 2
  store i8 0, i8* %1316, align 2, !tbaa !12
  %1317 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %38) #14
  %1318 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1317, i32 0, i32 1, i32 3
  store i1 ()* @builtinLF, i1 ()** %1318, align 4, !tbaa !774
  %1319 = load i32, i32* %1314, align 4, !tbaa !81
  %1320 = icmp ugt i32 %1319, 15
  br i1 %1320, label %1321, label %1346

; <label>:1321:                                   ; preds = %1311
  %1322 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1323 = load i8*, i8** %1322, align 4, !tbaa !12
  %1324 = add i32 %1319, 1
  %1325 = icmp ugt i32 %1324, 4095
  br i1 %1325, label %1326, label %1343

; <label>:1326:                                   ; preds = %1321
  %1327 = add i32 %1319, 36
  %1328 = icmp ugt i32 %1324, -36
  br i1 %1328, label %1342, label %1329

; <label>:1329:                                   ; preds = %1326
  %1330 = ptrtoint i8* %1323 to i32
  %1331 = and i32 %1330, 31
  %1332 = icmp eq i32 %1331, 0
  br i1 %1332, label %1333, label %1342

; <label>:1333:                                   ; preds = %1329
  %1334 = add i32 %1330, -4
  %1335 = inttoptr i32 %1334 to i32*
  %1336 = load i32, i32* %1335, align 4, !tbaa !24
  %1337 = icmp ult i32 %1336, %1330
  br i1 %1337, label %1338, label %1342

; <label>:1338:                                   ; preds = %1333
  %1339 = sub i32 %1334, %1336
  %1340 = icmp ugt i32 %1339, 31
  %1341 = inttoptr i32 %1336 to i8*
  br i1 %1340, label %1342, label %1343

; <label>:1342:                                   ; preds = %1338, %1333, %1329, %1326
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1343:                                   ; preds = %1338, %1321
  %1344 = phi i8* [ %1341, %1338 ], [ %1323, %1321 ]
  %1345 = phi i32 [ %1327, %1338 ], [ %1324, %1321 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1344, i32 %1345) #14
  br label %1346

; <label>:1346:                                   ; preds = %1343, %1311
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1312) #14
  %1347 = bitcast %"class.std::basic_string"* %39 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1347) #14
  %1348 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 1
  %1349 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1349, align 4, !tbaa !81
  store i32 2, i32* %1348, align 4, !tbaa !83
  %1350 = bitcast %"class.std::basic_string"* %39 to i16*
  store i16 28268, i16* %1350, align 4
  %1351 = getelementptr inbounds i8, i8* %1347, i32 2
  store i8 0, i8* %1351, align 2, !tbaa !12
  %1352 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %39) #14
  %1353 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1352, i32 0, i32 1, i32 3
  store i1 ()* @builtinLn, i1 ()** %1353, align 4, !tbaa !774
  %1354 = load i32, i32* %1349, align 4, !tbaa !81
  %1355 = icmp ugt i32 %1354, 15
  br i1 %1355, label %1356, label %1381

; <label>:1356:                                   ; preds = %1346
  %1357 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1358 = load i8*, i8** %1357, align 4, !tbaa !12
  %1359 = add i32 %1354, 1
  %1360 = icmp ugt i32 %1359, 4095
  br i1 %1360, label %1361, label %1378

; <label>:1361:                                   ; preds = %1356
  %1362 = add i32 %1354, 36
  %1363 = icmp ugt i32 %1359, -36
  br i1 %1363, label %1377, label %1364

; <label>:1364:                                   ; preds = %1361
  %1365 = ptrtoint i8* %1358 to i32
  %1366 = and i32 %1365, 31
  %1367 = icmp eq i32 %1366, 0
  br i1 %1367, label %1368, label %1377

; <label>:1368:                                   ; preds = %1364
  %1369 = add i32 %1365, -4
  %1370 = inttoptr i32 %1369 to i32*
  %1371 = load i32, i32* %1370, align 4, !tbaa !24
  %1372 = icmp ult i32 %1371, %1365
  br i1 %1372, label %1373, label %1377

; <label>:1373:                                   ; preds = %1368
  %1374 = sub i32 %1369, %1371
  %1375 = icmp ugt i32 %1374, 31
  %1376 = inttoptr i32 %1371 to i8*
  br i1 %1375, label %1377, label %1378

; <label>:1377:                                   ; preds = %1373, %1368, %1364, %1361
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1378:                                   ; preds = %1373, %1356
  %1379 = phi i8* [ %1376, %1373 ], [ %1358, %1356 ]
  %1380 = phi i32 [ %1362, %1373 ], [ %1359, %1356 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1379, i32 %1380) #14
  br label %1381

; <label>:1381:                                   ; preds = %1378, %1346
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1347) #14
  %1382 = bitcast %"class.std::basic_string"* %40 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1382) #14
  %1383 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 1
  %1384 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1384, align 4, !tbaa !81
  store i32 4, i32* %1383, align 4, !tbaa !83
  %1385 = bitcast %"class.std::basic_string"* %40 to i32*
  store i32 1886351212, i32* %1385, align 4
  %1386 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %1386, align 4, !tbaa !12
  %1387 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %40) #14
  %1388 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1387, i32 0, i32 1, i32 3
  store i1 ()* @builtinLoop, i1 ()** %1388, align 4, !tbaa !774
  %1389 = load i32, i32* %1384, align 4, !tbaa !81
  %1390 = icmp ugt i32 %1389, 15
  br i1 %1390, label %1391, label %1416

; <label>:1391:                                   ; preds = %1381
  %1392 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1393 = load i8*, i8** %1392, align 4, !tbaa !12
  %1394 = add i32 %1389, 1
  %1395 = icmp ugt i32 %1394, 4095
  br i1 %1395, label %1396, label %1413

; <label>:1396:                                   ; preds = %1391
  %1397 = add i32 %1389, 36
  %1398 = icmp ugt i32 %1394, -36
  br i1 %1398, label %1412, label %1399

; <label>:1399:                                   ; preds = %1396
  %1400 = ptrtoint i8* %1393 to i32
  %1401 = and i32 %1400, 31
  %1402 = icmp eq i32 %1401, 0
  br i1 %1402, label %1403, label %1412

; <label>:1403:                                   ; preds = %1399
  %1404 = add i32 %1400, -4
  %1405 = inttoptr i32 %1404 to i32*
  %1406 = load i32, i32* %1405, align 4, !tbaa !24
  %1407 = icmp ult i32 %1406, %1400
  br i1 %1407, label %1408, label %1412

; <label>:1408:                                   ; preds = %1403
  %1409 = sub i32 %1404, %1406
  %1410 = icmp ugt i32 %1409, 31
  %1411 = inttoptr i32 %1406 to i8*
  br i1 %1410, label %1412, label %1413

; <label>:1412:                                   ; preds = %1408, %1403, %1399, %1396
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1413:                                   ; preds = %1408, %1391
  %1414 = phi i8* [ %1411, %1408 ], [ %1393, %1391 ]
  %1415 = phi i32 [ %1397, %1408 ], [ %1394, %1391 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1414, i32 %1415) #14
  br label %1416

; <label>:1416:                                   ; preds = %1413, %1381
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1382) #14
  %1417 = bitcast %"class.std::basic_string"* %41 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1417) #14
  %1418 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 1
  %1419 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1419, align 4, !tbaa !81
  store i32 6, i32* %1418, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1417, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06ELFGPGBK@lshift?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %1420 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %1420, align 2, !tbaa !12
  %1421 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %41) #14
  %1422 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1421, i32 0, i32 1, i32 3
  store i1 ()* @builtinLshift, i1 ()** %1422, align 4, !tbaa !774
  %1423 = load i32, i32* %1419, align 4, !tbaa !81
  %1424 = icmp ugt i32 %1423, 15
  br i1 %1424, label %1425, label %1450

; <label>:1425:                                   ; preds = %1416
  %1426 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1427 = load i8*, i8** %1426, align 4, !tbaa !12
  %1428 = add i32 %1423, 1
  %1429 = icmp ugt i32 %1428, 4095
  br i1 %1429, label %1430, label %1447

; <label>:1430:                                   ; preds = %1425
  %1431 = add i32 %1423, 36
  %1432 = icmp ugt i32 %1428, -36
  br i1 %1432, label %1446, label %1433

; <label>:1433:                                   ; preds = %1430
  %1434 = ptrtoint i8* %1427 to i32
  %1435 = and i32 %1434, 31
  %1436 = icmp eq i32 %1435, 0
  br i1 %1436, label %1437, label %1446

; <label>:1437:                                   ; preds = %1433
  %1438 = add i32 %1434, -4
  %1439 = inttoptr i32 %1438 to i32*
  %1440 = load i32, i32* %1439, align 4, !tbaa !24
  %1441 = icmp ult i32 %1440, %1434
  br i1 %1441, label %1442, label %1446

; <label>:1442:                                   ; preds = %1437
  %1443 = sub i32 %1438, %1440
  %1444 = icmp ugt i32 %1443, 31
  %1445 = inttoptr i32 %1440 to i8*
  br i1 %1444, label %1446, label %1447

; <label>:1446:                                   ; preds = %1442, %1437, %1433, %1430
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1447:                                   ; preds = %1442, %1425
  %1448 = phi i8* [ %1445, %1442 ], [ %1427, %1425 ]
  %1449 = phi i32 [ %1431, %1442 ], [ %1428, %1425 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1448, i32 %1449) #14
  br label %1450

; <label>:1450:                                   ; preds = %1447, %1416
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1417) #14
  %1451 = bitcast %"class.std::basic_string"* %42 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1451) #14
  %1452 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 1
  %1453 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1453, align 4, !tbaa !81
  store i32 12, i32* %1452, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1451, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@CBKBGGGE@memoryToText?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %1454 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 8
  store i8 0, i8* %1454, align 4, !tbaa !12
  %1455 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %42) #14
  %1456 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1455, i32 0, i32 1, i32 3
  store i1 ()* @builtinMemoryToText, i1 ()** %1456, align 4, !tbaa !774
  %1457 = load i32, i32* %1453, align 4, !tbaa !81
  %1458 = icmp ugt i32 %1457, 15
  br i1 %1458, label %1459, label %1484

; <label>:1459:                                   ; preds = %1450
  %1460 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1461 = load i8*, i8** %1460, align 4, !tbaa !12
  %1462 = add i32 %1457, 1
  %1463 = icmp ugt i32 %1462, 4095
  br i1 %1463, label %1464, label %1481

; <label>:1464:                                   ; preds = %1459
  %1465 = add i32 %1457, 36
  %1466 = icmp ugt i32 %1462, -36
  br i1 %1466, label %1480, label %1467

; <label>:1467:                                   ; preds = %1464
  %1468 = ptrtoint i8* %1461 to i32
  %1469 = and i32 %1468, 31
  %1470 = icmp eq i32 %1469, 0
  br i1 %1470, label %1471, label %1480

; <label>:1471:                                   ; preds = %1467
  %1472 = add i32 %1468, -4
  %1473 = inttoptr i32 %1472 to i32*
  %1474 = load i32, i32* %1473, align 4, !tbaa !24
  %1475 = icmp ult i32 %1474, %1468
  br i1 %1475, label %1476, label %1480

; <label>:1476:                                   ; preds = %1471
  %1477 = sub i32 %1472, %1474
  %1478 = icmp ugt i32 %1477, 31
  %1479 = inttoptr i32 %1474 to i8*
  br i1 %1478, label %1480, label %1481

; <label>:1480:                                   ; preds = %1476, %1471, %1467, %1464
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1481:                                   ; preds = %1476, %1459
  %1482 = phi i8* [ %1479, %1476 ], [ %1461, %1459 ]
  %1483 = phi i32 [ %1465, %1476 ], [ %1462, %1459 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1482, i32 %1483) #14
  br label %1484

; <label>:1484:                                   ; preds = %1481, %1450
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1451) #14
  %1485 = bitcast %"class.std::basic_string"* %43 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1485) #14
  %1486 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 1
  %1487 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1487, align 4, !tbaa !81
  store i32 1, i32* %1486, align 4, !tbaa !83
  store i8 45, i8* %1485, align 4
  %1488 = getelementptr inbounds i8, i8* %1485, i32 1
  store i8 0, i8* %1488, align 1, !tbaa !12
  %1489 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %43) #14
  %1490 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1489, i32 0, i32 1, i32 3
  store i1 ()* @builtinMinus, i1 ()** %1490, align 4, !tbaa !774
  %1491 = load i32, i32* %1487, align 4, !tbaa !81
  %1492 = icmp ugt i32 %1491, 15
  br i1 %1492, label %1493, label %1518

; <label>:1493:                                   ; preds = %1484
  %1494 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1495 = load i8*, i8** %1494, align 4, !tbaa !12
  %1496 = add i32 %1491, 1
  %1497 = icmp ugt i32 %1496, 4095
  br i1 %1497, label %1498, label %1515

; <label>:1498:                                   ; preds = %1493
  %1499 = add i32 %1491, 36
  %1500 = icmp ugt i32 %1496, -36
  br i1 %1500, label %1514, label %1501

; <label>:1501:                                   ; preds = %1498
  %1502 = ptrtoint i8* %1495 to i32
  %1503 = and i32 %1502, 31
  %1504 = icmp eq i32 %1503, 0
  br i1 %1504, label %1505, label %1514

; <label>:1505:                                   ; preds = %1501
  %1506 = add i32 %1502, -4
  %1507 = inttoptr i32 %1506 to i32*
  %1508 = load i32, i32* %1507, align 4, !tbaa !24
  %1509 = icmp ult i32 %1508, %1502
  br i1 %1509, label %1510, label %1514

; <label>:1510:                                   ; preds = %1505
  %1511 = sub i32 %1506, %1508
  %1512 = icmp ugt i32 %1511, 31
  %1513 = inttoptr i32 %1508 to i8*
  br i1 %1512, label %1514, label %1515

; <label>:1514:                                   ; preds = %1510, %1505, %1501, %1498
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1515:                                   ; preds = %1510, %1493
  %1516 = phi i8* [ %1513, %1510 ], [ %1495, %1493 ]
  %1517 = phi i32 [ %1499, %1510 ], [ %1496, %1493 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1516, i32 %1517) #14
  br label %1518

; <label>:1518:                                   ; preds = %1515, %1484
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1485) #14
  %1519 = bitcast %"class.std::basic_string"* %44 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1519) #14
  %1520 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 1
  %1521 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1521, align 4, !tbaa !81
  store i32 3, i32* %1520, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1519, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03FFONCNID@mod?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1522 = getelementptr inbounds i8, i8* %1519, i32 3
  store i8 0, i8* %1522, align 1, !tbaa !12
  %1523 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %44) #14
  %1524 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1523, i32 0, i32 1, i32 3
  store i1 ()* @builtinMod, i1 ()** %1524, align 4, !tbaa !774
  %1525 = load i32, i32* %1521, align 4, !tbaa !81
  %1526 = icmp ugt i32 %1525, 15
  br i1 %1526, label %1527, label %1552

; <label>:1527:                                   ; preds = %1518
  %1528 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1529 = load i8*, i8** %1528, align 4, !tbaa !12
  %1530 = add i32 %1525, 1
  %1531 = icmp ugt i32 %1530, 4095
  br i1 %1531, label %1532, label %1549

; <label>:1532:                                   ; preds = %1527
  %1533 = add i32 %1525, 36
  %1534 = icmp ugt i32 %1530, -36
  br i1 %1534, label %1548, label %1535

; <label>:1535:                                   ; preds = %1532
  %1536 = ptrtoint i8* %1529 to i32
  %1537 = and i32 %1536, 31
  %1538 = icmp eq i32 %1537, 0
  br i1 %1538, label %1539, label %1548

; <label>:1539:                                   ; preds = %1535
  %1540 = add i32 %1536, -4
  %1541 = inttoptr i32 %1540 to i32*
  %1542 = load i32, i32* %1541, align 4, !tbaa !24
  %1543 = icmp ult i32 %1542, %1536
  br i1 %1543, label %1544, label %1548

; <label>:1544:                                   ; preds = %1539
  %1545 = sub i32 %1540, %1542
  %1546 = icmp ugt i32 %1545, 31
  %1547 = inttoptr i32 %1542 to i8*
  br i1 %1546, label %1548, label %1549

; <label>:1548:                                   ; preds = %1544, %1539, %1535, %1532
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1549:                                   ; preds = %1544, %1527
  %1550 = phi i8* [ %1547, %1544 ], [ %1529, %1527 ]
  %1551 = phi i32 [ %1533, %1544 ], [ %1530, %1527 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1550, i32 %1551) #14
  br label %1552

; <label>:1552:                                   ; preds = %1549, %1518
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1519) #14
  %1553 = bitcast %"class.std::basic_string"* %45 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1553) #14
  %1554 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 1
  %1555 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1555, align 4, !tbaa !81
  store i32 3, i32* %1554, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1553, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03GBOCFEHI@neg?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1556 = getelementptr inbounds i8, i8* %1553, i32 3
  store i8 0, i8* %1556, align 1, !tbaa !12
  %1557 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %45) #14
  %1558 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1557, i32 0, i32 1, i32 3
  store i1 ()* @builtinNeg, i1 ()** %1558, align 4, !tbaa !774
  %1559 = load i32, i32* %1555, align 4, !tbaa !81
  %1560 = icmp ugt i32 %1559, 15
  br i1 %1560, label %1561, label %1586

; <label>:1561:                                   ; preds = %1552
  %1562 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1563 = load i8*, i8** %1562, align 4, !tbaa !12
  %1564 = add i32 %1559, 1
  %1565 = icmp ugt i32 %1564, 4095
  br i1 %1565, label %1566, label %1583

; <label>:1566:                                   ; preds = %1561
  %1567 = add i32 %1559, 36
  %1568 = icmp ugt i32 %1564, -36
  br i1 %1568, label %1582, label %1569

; <label>:1569:                                   ; preds = %1566
  %1570 = ptrtoint i8* %1563 to i32
  %1571 = and i32 %1570, 31
  %1572 = icmp eq i32 %1571, 0
  br i1 %1572, label %1573, label %1582

; <label>:1573:                                   ; preds = %1569
  %1574 = add i32 %1570, -4
  %1575 = inttoptr i32 %1574 to i32*
  %1576 = load i32, i32* %1575, align 4, !tbaa !24
  %1577 = icmp ult i32 %1576, %1570
  br i1 %1577, label %1578, label %1582

; <label>:1578:                                   ; preds = %1573
  %1579 = sub i32 %1574, %1576
  %1580 = icmp ugt i32 %1579, 31
  %1581 = inttoptr i32 %1576 to i8*
  br i1 %1580, label %1582, label %1583

; <label>:1582:                                   ; preds = %1578, %1573, %1569, %1566
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1583:                                   ; preds = %1578, %1561
  %1584 = phi i8* [ %1581, %1578 ], [ %1563, %1561 ]
  %1585 = phi i32 [ %1567, %1578 ], [ %1564, %1561 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1584, i32 %1585) #14
  br label %1586

; <label>:1586:                                   ; preds = %1583, %1552
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1553) #14
  %1587 = bitcast %"class.std::basic_string"* %46 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1587) #14
  %1588 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 1
  %1589 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1589, align 4, !tbaa !81
  store i32 2, i32* %1588, align 4, !tbaa !83
  %1590 = bitcast %"class.std::basic_string"* %46 to i16*
  store i16 29295, i16* %1590, align 4
  %1591 = getelementptr inbounds i8, i8* %1587, i32 2
  store i8 0, i8* %1591, align 2, !tbaa !12
  %1592 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %46) #14
  %1593 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1592, i32 0, i32 1, i32 3
  store i1 ()* @builtinOr, i1 ()** %1593, align 4, !tbaa !774
  %1594 = load i32, i32* %1589, align 4, !tbaa !81
  %1595 = icmp ugt i32 %1594, 15
  br i1 %1595, label %1596, label %1621

; <label>:1596:                                   ; preds = %1586
  %1597 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1598 = load i8*, i8** %1597, align 4, !tbaa !12
  %1599 = add i32 %1594, 1
  %1600 = icmp ugt i32 %1599, 4095
  br i1 %1600, label %1601, label %1618

; <label>:1601:                                   ; preds = %1596
  %1602 = add i32 %1594, 36
  %1603 = icmp ugt i32 %1599, -36
  br i1 %1603, label %1617, label %1604

; <label>:1604:                                   ; preds = %1601
  %1605 = ptrtoint i8* %1598 to i32
  %1606 = and i32 %1605, 31
  %1607 = icmp eq i32 %1606, 0
  br i1 %1607, label %1608, label %1617

; <label>:1608:                                   ; preds = %1604
  %1609 = add i32 %1605, -4
  %1610 = inttoptr i32 %1609 to i32*
  %1611 = load i32, i32* %1610, align 4, !tbaa !24
  %1612 = icmp ult i32 %1611, %1605
  br i1 %1612, label %1613, label %1617

; <label>:1613:                                   ; preds = %1608
  %1614 = sub i32 %1609, %1611
  %1615 = icmp ugt i32 %1614, 31
  %1616 = inttoptr i32 %1611 to i8*
  br i1 %1615, label %1617, label %1618

; <label>:1617:                                   ; preds = %1613, %1608, %1604, %1601
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1618:                                   ; preds = %1613, %1596
  %1619 = phi i8* [ %1616, %1613 ], [ %1598, %1596 ]
  %1620 = phi i32 [ %1602, %1613 ], [ %1599, %1596 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1619, i32 %1620) #14
  br label %1621

; <label>:1621:                                   ; preds = %1618, %1586
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1587) #14
  %1622 = bitcast %"class.std::basic_string"* %47 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1622) #14
  %1623 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 1
  %1624 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1624, align 4, !tbaa !81
  store i32 1, i32* %1623, align 4, !tbaa !83
  store i8 43, i8* %1622, align 4
  %1625 = getelementptr inbounds i8, i8* %1622, i32 1
  store i8 0, i8* %1625, align 1, !tbaa !12
  %1626 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %47) #14
  %1627 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1626, i32 0, i32 1, i32 3
  store i1 ()* @builtinPlus, i1 ()** %1627, align 4, !tbaa !774
  %1628 = load i32, i32* %1624, align 4, !tbaa !81
  %1629 = icmp ugt i32 %1628, 15
  br i1 %1629, label %1630, label %1655

; <label>:1630:                                   ; preds = %1621
  %1631 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1632 = load i8*, i8** %1631, align 4, !tbaa !12
  %1633 = add i32 %1628, 1
  %1634 = icmp ugt i32 %1633, 4095
  br i1 %1634, label %1635, label %1652

; <label>:1635:                                   ; preds = %1630
  %1636 = add i32 %1628, 36
  %1637 = icmp ugt i32 %1633, -36
  br i1 %1637, label %1651, label %1638

; <label>:1638:                                   ; preds = %1635
  %1639 = ptrtoint i8* %1632 to i32
  %1640 = and i32 %1639, 31
  %1641 = icmp eq i32 %1640, 0
  br i1 %1641, label %1642, label %1651

; <label>:1642:                                   ; preds = %1638
  %1643 = add i32 %1639, -4
  %1644 = inttoptr i32 %1643 to i32*
  %1645 = load i32, i32* %1644, align 4, !tbaa !24
  %1646 = icmp ult i32 %1645, %1639
  br i1 %1646, label %1647, label %1651

; <label>:1647:                                   ; preds = %1642
  %1648 = sub i32 %1643, %1645
  %1649 = icmp ugt i32 %1648, 31
  %1650 = inttoptr i32 %1645 to i8*
  br i1 %1649, label %1651, label %1652

; <label>:1651:                                   ; preds = %1647, %1642, %1638, %1635
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1652:                                   ; preds = %1647, %1630
  %1653 = phi i8* [ %1650, %1647 ], [ %1632, %1630 ]
  %1654 = phi i32 [ %1636, %1647 ], [ %1633, %1630 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1653, i32 %1654) #14
  br label %1655

; <label>:1655:                                   ; preds = %1652, %1621
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1622) #14
  %1656 = bitcast %"class.std::basic_string"* %48 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1656) #14
  %1657 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 1
  %1658 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1658, align 4, !tbaa !81
  store i32 5, i32* %1657, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1656, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05IJDJACGD@print?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %1659 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %1659, align 1, !tbaa !12
  %1660 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %48) #14
  %1661 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1660, i32 0, i32 1, i32 3
  store i1 ()* @builtinPrint, i1 ()** %1661, align 4, !tbaa !774
  %1662 = load i32, i32* %1658, align 4, !tbaa !81
  %1663 = icmp ugt i32 %1662, 15
  br i1 %1663, label %1664, label %1689

; <label>:1664:                                   ; preds = %1655
  %1665 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1666 = load i8*, i8** %1665, align 4, !tbaa !12
  %1667 = add i32 %1662, 1
  %1668 = icmp ugt i32 %1667, 4095
  br i1 %1668, label %1669, label %1686

; <label>:1669:                                   ; preds = %1664
  %1670 = add i32 %1662, 36
  %1671 = icmp ugt i32 %1667, -36
  br i1 %1671, label %1685, label %1672

; <label>:1672:                                   ; preds = %1669
  %1673 = ptrtoint i8* %1666 to i32
  %1674 = and i32 %1673, 31
  %1675 = icmp eq i32 %1674, 0
  br i1 %1675, label %1676, label %1685

; <label>:1676:                                   ; preds = %1672
  %1677 = add i32 %1673, -4
  %1678 = inttoptr i32 %1677 to i32*
  %1679 = load i32, i32* %1678, align 4, !tbaa !24
  %1680 = icmp ult i32 %1679, %1673
  br i1 %1680, label %1681, label %1685

; <label>:1681:                                   ; preds = %1676
  %1682 = sub i32 %1677, %1679
  %1683 = icmp ugt i32 %1682, 31
  %1684 = inttoptr i32 %1679 to i8*
  br i1 %1683, label %1685, label %1686

; <label>:1685:                                   ; preds = %1681, %1676, %1672, %1669
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1686:                                   ; preds = %1681, %1664
  %1687 = phi i8* [ %1684, %1681 ], [ %1666, %1664 ]
  %1688 = phi i32 [ %1670, %1681 ], [ %1667, %1664 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1687, i32 %1688) #14
  br label %1689

; <label>:1689:                                   ; preds = %1686, %1655
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1656) #14
  %1690 = bitcast %"class.std::basic_string"* %49 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1690) #14
  %1691 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 1
  %1692 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1692, align 4, !tbaa !81
  store i32 10, i32* %1691, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1690, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@HMCKFDCO@printStack?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %1693 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 6
  store i8 0, i8* %1693, align 2, !tbaa !12
  %1694 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %49) #14
  %1695 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1694, i32 0, i32 1, i32 3
  store i1 ()* @builtinPrintStack, i1 ()** %1695, align 4, !tbaa !774
  %1696 = load i32, i32* %1692, align 4, !tbaa !81
  %1697 = icmp ugt i32 %1696, 15
  br i1 %1697, label %1698, label %1723

; <label>:1698:                                   ; preds = %1689
  %1699 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1700 = load i8*, i8** %1699, align 4, !tbaa !12
  %1701 = add i32 %1696, 1
  %1702 = icmp ugt i32 %1701, 4095
  br i1 %1702, label %1703, label %1720

; <label>:1703:                                   ; preds = %1698
  %1704 = add i32 %1696, 36
  %1705 = icmp ugt i32 %1701, -36
  br i1 %1705, label %1719, label %1706

; <label>:1706:                                   ; preds = %1703
  %1707 = ptrtoint i8* %1700 to i32
  %1708 = and i32 %1707, 31
  %1709 = icmp eq i32 %1708, 0
  br i1 %1709, label %1710, label %1719

; <label>:1710:                                   ; preds = %1706
  %1711 = add i32 %1707, -4
  %1712 = inttoptr i32 %1711 to i32*
  %1713 = load i32, i32* %1712, align 4, !tbaa !24
  %1714 = icmp ult i32 %1713, %1707
  br i1 %1714, label %1715, label %1719

; <label>:1715:                                   ; preds = %1710
  %1716 = sub i32 %1711, %1713
  %1717 = icmp ugt i32 %1716, 31
  %1718 = inttoptr i32 %1713 to i8*
  br i1 %1717, label %1719, label %1720

; <label>:1719:                                   ; preds = %1715, %1710, %1706, %1703
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1720:                                   ; preds = %1715, %1698
  %1721 = phi i8* [ %1718, %1715 ], [ %1700, %1698 ]
  %1722 = phi i32 [ %1704, %1715 ], [ %1701, %1698 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1721, i32 %1722) #14
  br label %1723

; <label>:1723:                                   ; preds = %1720, %1689
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1690) #14
  %1724 = bitcast %"class.std::basic_string"* %50 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1724) #14
  %1725 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 1
  %1726 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1726, align 4, !tbaa !81
  store i32 3, i32* %1725, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1724, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03HKCDEEHL@rcp?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1727 = getelementptr inbounds i8, i8* %1724, i32 3
  store i8 0, i8* %1727, align 1, !tbaa !12
  %1728 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %50) #14
  %1729 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1728, i32 0, i32 1, i32 3
  store i1 ()* @builtinRcp, i1 ()** %1729, align 4, !tbaa !774
  %1730 = load i32, i32* %1726, align 4, !tbaa !81
  %1731 = icmp ugt i32 %1730, 15
  br i1 %1731, label %1732, label %1757

; <label>:1732:                                   ; preds = %1723
  %1733 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1734 = load i8*, i8** %1733, align 4, !tbaa !12
  %1735 = add i32 %1730, 1
  %1736 = icmp ugt i32 %1735, 4095
  br i1 %1736, label %1737, label %1754

; <label>:1737:                                   ; preds = %1732
  %1738 = add i32 %1730, 36
  %1739 = icmp ugt i32 %1735, -36
  br i1 %1739, label %1753, label %1740

; <label>:1740:                                   ; preds = %1737
  %1741 = ptrtoint i8* %1734 to i32
  %1742 = and i32 %1741, 31
  %1743 = icmp eq i32 %1742, 0
  br i1 %1743, label %1744, label %1753

; <label>:1744:                                   ; preds = %1740
  %1745 = add i32 %1741, -4
  %1746 = inttoptr i32 %1745 to i32*
  %1747 = load i32, i32* %1746, align 4, !tbaa !24
  %1748 = icmp ult i32 %1747, %1741
  br i1 %1748, label %1749, label %1753

; <label>:1749:                                   ; preds = %1744
  %1750 = sub i32 %1745, %1747
  %1751 = icmp ugt i32 %1750, 31
  %1752 = inttoptr i32 %1747 to i8*
  br i1 %1751, label %1753, label %1754

; <label>:1753:                                   ; preds = %1749, %1744, %1740, %1737
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1754:                                   ; preds = %1749, %1732
  %1755 = phi i8* [ %1752, %1749 ], [ %1734, %1732 ]
  %1756 = phi i32 [ %1738, %1749 ], [ %1735, %1732 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1755, i32 %1756) #14
  br label %1757

; <label>:1757:                                   ; preds = %1754, %1723
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1724) #14
  %1758 = bitcast %"class.std::basic_string"* %51 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1758) #14
  %1759 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 1
  %1760 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1760, align 4, !tbaa !81
  store i32 10, i32* %1759, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1758, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MMMLPBML@readMemory?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %1761 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 6
  store i8 0, i8* %1761, align 2, !tbaa !12
  %1762 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %51) #14
  %1763 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1762, i32 0, i32 1, i32 3
  store i1 ()* @builtinReadMemory, i1 ()** %1763, align 4, !tbaa !774
  %1764 = load i32, i32* %1760, align 4, !tbaa !81
  %1765 = icmp ugt i32 %1764, 15
  br i1 %1765, label %1766, label %1791

; <label>:1766:                                   ; preds = %1757
  %1767 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1768 = load i8*, i8** %1767, align 4, !tbaa !12
  %1769 = add i32 %1764, 1
  %1770 = icmp ugt i32 %1769, 4095
  br i1 %1770, label %1771, label %1788

; <label>:1771:                                   ; preds = %1766
  %1772 = add i32 %1764, 36
  %1773 = icmp ugt i32 %1769, -36
  br i1 %1773, label %1787, label %1774

; <label>:1774:                                   ; preds = %1771
  %1775 = ptrtoint i8* %1768 to i32
  %1776 = and i32 %1775, 31
  %1777 = icmp eq i32 %1776, 0
  br i1 %1777, label %1778, label %1787

; <label>:1778:                                   ; preds = %1774
  %1779 = add i32 %1775, -4
  %1780 = inttoptr i32 %1779 to i32*
  %1781 = load i32, i32* %1780, align 4, !tbaa !24
  %1782 = icmp ult i32 %1781, %1775
  br i1 %1782, label %1783, label %1787

; <label>:1783:                                   ; preds = %1778
  %1784 = sub i32 %1779, %1781
  %1785 = icmp ugt i32 %1784, 31
  %1786 = inttoptr i32 %1781 to i8*
  br i1 %1785, label %1787, label %1788

; <label>:1787:                                   ; preds = %1783, %1778, %1774, %1771
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1788:                                   ; preds = %1783, %1766
  %1789 = phi i8* [ %1786, %1783 ], [ %1768, %1766 ]
  %1790 = phi i32 [ %1772, %1783 ], [ %1769, %1766 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1789, i32 %1790) #14
  br label %1791

; <label>:1791:                                   ; preds = %1788, %1757
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1758) #14
  %1792 = bitcast %"class.std::basic_string"* %52 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1792) #14
  %1793 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 1
  %1794 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1794, align 4, !tbaa !81
  store i32 6, i32* %1793, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1792, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06LEMKAMD@remove?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %1795 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %1795, align 2, !tbaa !12
  %1796 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %52) #14
  %1797 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1796, i32 0, i32 1, i32 3
  store i1 ()* @builtinRemove, i1 ()** %1797, align 4, !tbaa !774
  %1798 = load i32, i32* %1794, align 4, !tbaa !81
  %1799 = icmp ugt i32 %1798, 15
  br i1 %1799, label %1800, label %1825

; <label>:1800:                                   ; preds = %1791
  %1801 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1802 = load i8*, i8** %1801, align 4, !tbaa !12
  %1803 = add i32 %1798, 1
  %1804 = icmp ugt i32 %1803, 4095
  br i1 %1804, label %1805, label %1822

; <label>:1805:                                   ; preds = %1800
  %1806 = add i32 %1798, 36
  %1807 = icmp ugt i32 %1803, -36
  br i1 %1807, label %1821, label %1808

; <label>:1808:                                   ; preds = %1805
  %1809 = ptrtoint i8* %1802 to i32
  %1810 = and i32 %1809, 31
  %1811 = icmp eq i32 %1810, 0
  br i1 %1811, label %1812, label %1821

; <label>:1812:                                   ; preds = %1808
  %1813 = add i32 %1809, -4
  %1814 = inttoptr i32 %1813 to i32*
  %1815 = load i32, i32* %1814, align 4, !tbaa !24
  %1816 = icmp ult i32 %1815, %1809
  br i1 %1816, label %1817, label %1821

; <label>:1817:                                   ; preds = %1812
  %1818 = sub i32 %1813, %1815
  %1819 = icmp ugt i32 %1818, 31
  %1820 = inttoptr i32 %1815 to i8*
  br i1 %1819, label %1821, label %1822

; <label>:1821:                                   ; preds = %1817, %1812, %1808, %1805
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1822:                                   ; preds = %1817, %1800
  %1823 = phi i8* [ %1820, %1817 ], [ %1802, %1800 ]
  %1824 = phi i32 [ %1806, %1817 ], [ %1803, %1800 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1823, i32 %1824) #14
  br label %1825

; <label>:1825:                                   ; preds = %1822, %1791
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1792) #14
  %1826 = bitcast %"class.std::basic_string"* %53 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1826) #14
  %1827 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 1
  %1828 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1828, align 4, !tbaa !81
  store i32 6, i32* %1827, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1826, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06HMLHBBIJ@rshift?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %1829 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %1829, align 2, !tbaa !12
  %1830 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %53) #14
  %1831 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1830, i32 0, i32 1, i32 3
  store i1 ()* @builtinRshift, i1 ()** %1831, align 4, !tbaa !774
  %1832 = load i32, i32* %1828, align 4, !tbaa !81
  %1833 = icmp ugt i32 %1832, 15
  br i1 %1833, label %1834, label %1859

; <label>:1834:                                   ; preds = %1825
  %1835 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1836 = load i8*, i8** %1835, align 4, !tbaa !12
  %1837 = add i32 %1832, 1
  %1838 = icmp ugt i32 %1837, 4095
  br i1 %1838, label %1839, label %1856

; <label>:1839:                                   ; preds = %1834
  %1840 = add i32 %1832, 36
  %1841 = icmp ugt i32 %1837, -36
  br i1 %1841, label %1855, label %1842

; <label>:1842:                                   ; preds = %1839
  %1843 = ptrtoint i8* %1836 to i32
  %1844 = and i32 %1843, 31
  %1845 = icmp eq i32 %1844, 0
  br i1 %1845, label %1846, label %1855

; <label>:1846:                                   ; preds = %1842
  %1847 = add i32 %1843, -4
  %1848 = inttoptr i32 %1847 to i32*
  %1849 = load i32, i32* %1848, align 4, !tbaa !24
  %1850 = icmp ult i32 %1849, %1843
  br i1 %1850, label %1851, label %1855

; <label>:1851:                                   ; preds = %1846
  %1852 = sub i32 %1847, %1849
  %1853 = icmp ugt i32 %1852, 31
  %1854 = inttoptr i32 %1849 to i8*
  br i1 %1853, label %1855, label %1856

; <label>:1855:                                   ; preds = %1851, %1846, %1842, %1839
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1856:                                   ; preds = %1851, %1834
  %1857 = phi i8* [ %1854, %1851 ], [ %1836, %1834 ]
  %1858 = phi i32 [ %1840, %1851 ], [ %1837, %1834 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1857, i32 %1858) #14
  br label %1859

; <label>:1859:                                   ; preds = %1856, %1825
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1826) #14
  %1860 = bitcast %"class.std::basic_string"* %54 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1860) #14
  %1861 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 1
  %1862 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1862, align 4, !tbaa !81
  store i32 4, i32* %1861, align 4, !tbaa !83
  %1863 = bitcast %"class.std::basic_string"* %54 to i32*
  store i32 1701667187, i32* %1863, align 4
  %1864 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %1864, align 4, !tbaa !12
  %1865 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %54) #14
  %1866 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1865, i32 0, i32 1, i32 3
  store i1 ()* @builtinSame, i1 ()** %1866, align 4, !tbaa !774
  %1867 = load i32, i32* %1862, align 4, !tbaa !81
  %1868 = icmp ugt i32 %1867, 15
  br i1 %1868, label %1869, label %1894

; <label>:1869:                                   ; preds = %1859
  %1870 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1871 = load i8*, i8** %1870, align 4, !tbaa !12
  %1872 = add i32 %1867, 1
  %1873 = icmp ugt i32 %1872, 4095
  br i1 %1873, label %1874, label %1891

; <label>:1874:                                   ; preds = %1869
  %1875 = add i32 %1867, 36
  %1876 = icmp ugt i32 %1872, -36
  br i1 %1876, label %1890, label %1877

; <label>:1877:                                   ; preds = %1874
  %1878 = ptrtoint i8* %1871 to i32
  %1879 = and i32 %1878, 31
  %1880 = icmp eq i32 %1879, 0
  br i1 %1880, label %1881, label %1890

; <label>:1881:                                   ; preds = %1877
  %1882 = add i32 %1878, -4
  %1883 = inttoptr i32 %1882 to i32*
  %1884 = load i32, i32* %1883, align 4, !tbaa !24
  %1885 = icmp ult i32 %1884, %1878
  br i1 %1885, label %1886, label %1890

; <label>:1886:                                   ; preds = %1881
  %1887 = sub i32 %1882, %1884
  %1888 = icmp ugt i32 %1887, 31
  %1889 = inttoptr i32 %1884 to i8*
  br i1 %1888, label %1890, label %1891

; <label>:1890:                                   ; preds = %1886, %1881, %1877, %1874
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1891:                                   ; preds = %1886, %1869
  %1892 = phi i8* [ %1889, %1886 ], [ %1871, %1869 ]
  %1893 = phi i32 [ %1875, %1886 ], [ %1872, %1869 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1892, i32 %1893) #14
  br label %1894

; <label>:1894:                                   ; preds = %1891, %1859
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1860) #14
  %1895 = bitcast %"class.std::basic_string"* %55 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1895) #14
  %1896 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 1
  %1897 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1897, align 4, !tbaa !81
  store i32 3, i32* %1896, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1895, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03KCHOJKKI@set?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1898 = getelementptr inbounds i8, i8* %1895, i32 3
  store i8 0, i8* %1898, align 1, !tbaa !12
  %1899 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %55) #14
  %1900 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1899, i32 0, i32 1, i32 3
  store i1 ()* @builtinSet, i1 ()** %1900, align 4, !tbaa !774
  %1901 = load i32, i32* %1897, align 4, !tbaa !81
  %1902 = icmp ugt i32 %1901, 15
  br i1 %1902, label %1903, label %1928

; <label>:1903:                                   ; preds = %1894
  %1904 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1905 = load i8*, i8** %1904, align 4, !tbaa !12
  %1906 = add i32 %1901, 1
  %1907 = icmp ugt i32 %1906, 4095
  br i1 %1907, label %1908, label %1925

; <label>:1908:                                   ; preds = %1903
  %1909 = add i32 %1901, 36
  %1910 = icmp ugt i32 %1906, -36
  br i1 %1910, label %1924, label %1911

; <label>:1911:                                   ; preds = %1908
  %1912 = ptrtoint i8* %1905 to i32
  %1913 = and i32 %1912, 31
  %1914 = icmp eq i32 %1913, 0
  br i1 %1914, label %1915, label %1924

; <label>:1915:                                   ; preds = %1911
  %1916 = add i32 %1912, -4
  %1917 = inttoptr i32 %1916 to i32*
  %1918 = load i32, i32* %1917, align 4, !tbaa !24
  %1919 = icmp ult i32 %1918, %1912
  br i1 %1919, label %1920, label %1924

; <label>:1920:                                   ; preds = %1915
  %1921 = sub i32 %1916, %1918
  %1922 = icmp ugt i32 %1921, 31
  %1923 = inttoptr i32 %1918 to i8*
  br i1 %1922, label %1924, label %1925

; <label>:1924:                                   ; preds = %1920, %1915, %1911, %1908
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1925:                                   ; preds = %1920, %1903
  %1926 = phi i8* [ %1923, %1920 ], [ %1905, %1903 ]
  %1927 = phi i32 [ %1909, %1920 ], [ %1906, %1903 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1926, i32 %1927) #14
  br label %1928

; <label>:1928:                                   ; preds = %1925, %1894
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1895) #14
  %1929 = bitcast %"class.std::basic_string"* %56 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1929) #14
  %1930 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 1
  %1931 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1931, align 4, !tbaa !81
  store i32 3, i32* %1930, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1929, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03BLEJJJBH@sin?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %1932 = getelementptr inbounds i8, i8* %1929, i32 3
  store i8 0, i8* %1932, align 1, !tbaa !12
  %1933 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %56) #14
  %1934 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1933, i32 0, i32 1, i32 3
  store i1 ()* @builtinSin, i1 ()** %1934, align 4, !tbaa !774
  %1935 = load i32, i32* %1931, align 4, !tbaa !81
  %1936 = icmp ugt i32 %1935, 15
  br i1 %1936, label %1937, label %1962

; <label>:1937:                                   ; preds = %1928
  %1938 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1939 = load i8*, i8** %1938, align 4, !tbaa !12
  %1940 = add i32 %1935, 1
  %1941 = icmp ugt i32 %1940, 4095
  br i1 %1941, label %1942, label %1959

; <label>:1942:                                   ; preds = %1937
  %1943 = add i32 %1935, 36
  %1944 = icmp ugt i32 %1940, -36
  br i1 %1944, label %1958, label %1945

; <label>:1945:                                   ; preds = %1942
  %1946 = ptrtoint i8* %1939 to i32
  %1947 = and i32 %1946, 31
  %1948 = icmp eq i32 %1947, 0
  br i1 %1948, label %1949, label %1958

; <label>:1949:                                   ; preds = %1945
  %1950 = add i32 %1946, -4
  %1951 = inttoptr i32 %1950 to i32*
  %1952 = load i32, i32* %1951, align 4, !tbaa !24
  %1953 = icmp ult i32 %1952, %1946
  br i1 %1953, label %1954, label %1958

; <label>:1954:                                   ; preds = %1949
  %1955 = sub i32 %1950, %1952
  %1956 = icmp ugt i32 %1955, 31
  %1957 = inttoptr i32 %1952 to i8*
  br i1 %1956, label %1958, label %1959

; <label>:1958:                                   ; preds = %1954, %1949, %1945, %1942
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1959:                                   ; preds = %1954, %1937
  %1960 = phi i8* [ %1957, %1954 ], [ %1939, %1937 ]
  %1961 = phi i32 [ %1943, %1954 ], [ %1940, %1937 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1960, i32 %1961) #14
  br label %1962

; <label>:1962:                                   ; preds = %1959, %1928
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1929) #14
  %1963 = bitcast %"class.std::basic_string"* %57 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1963) #14
  %1964 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 1
  %1965 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1965, align 4, !tbaa !81
  store i32 1, i32* %1964, align 4, !tbaa !83
  store i8 47, i8* %1963, align 4
  %1966 = getelementptr inbounds i8, i8* %1963, i32 1
  store i8 0, i8* %1966, align 1, !tbaa !12
  %1967 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %57) #14
  %1968 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1967, i32 0, i32 1, i32 3
  store i1 ()* @builtinSlash, i1 ()** %1968, align 4, !tbaa !774
  %1969 = load i32, i32* %1965, align 4, !tbaa !81
  %1970 = icmp ugt i32 %1969, 15
  br i1 %1970, label %1971, label %1996

; <label>:1971:                                   ; preds = %1962
  %1972 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1973 = load i8*, i8** %1972, align 4, !tbaa !12
  %1974 = add i32 %1969, 1
  %1975 = icmp ugt i32 %1974, 4095
  br i1 %1975, label %1976, label %1993

; <label>:1976:                                   ; preds = %1971
  %1977 = add i32 %1969, 36
  %1978 = icmp ugt i32 %1974, -36
  br i1 %1978, label %1992, label %1979

; <label>:1979:                                   ; preds = %1976
  %1980 = ptrtoint i8* %1973 to i32
  %1981 = and i32 %1980, 31
  %1982 = icmp eq i32 %1981, 0
  br i1 %1982, label %1983, label %1992

; <label>:1983:                                   ; preds = %1979
  %1984 = add i32 %1980, -4
  %1985 = inttoptr i32 %1984 to i32*
  %1986 = load i32, i32* %1985, align 4, !tbaa !24
  %1987 = icmp ult i32 %1986, %1980
  br i1 %1987, label %1988, label %1992

; <label>:1988:                                   ; preds = %1983
  %1989 = sub i32 %1984, %1986
  %1990 = icmp ugt i32 %1989, 31
  %1991 = inttoptr i32 %1986 to i8*
  br i1 %1990, label %1992, label %1993

; <label>:1992:                                   ; preds = %1988, %1983, %1979, %1976
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1993:                                   ; preds = %1988, %1971
  %1994 = phi i8* [ %1991, %1988 ], [ %1973, %1971 ]
  %1995 = phi i32 [ %1977, %1988 ], [ %1974, %1971 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1994, i32 %1995) #14
  br label %1996

; <label>:1996:                                   ; preds = %1993, %1962
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1963) #14
  %1997 = bitcast %"class.std::basic_string"* %58 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %1997) #14
  %1998 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 1
  %1999 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1999, align 4, !tbaa !81
  store i32 4, i32* %1998, align 4, !tbaa !83
  %2000 = bitcast %"class.std::basic_string"* %58 to i32*
  store i32 1953657203, i32* %2000, align 4
  %2001 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %2001, align 4, !tbaa !12
  %2002 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %58) #14
  %2003 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2002, i32 0, i32 1, i32 3
  store i1 ()* @builtinSqrt, i1 ()** %2003, align 4, !tbaa !774
  %2004 = load i32, i32* %1999, align 4, !tbaa !81
  %2005 = icmp ugt i32 %2004, 15
  br i1 %2005, label %2006, label %2031

; <label>:2006:                                   ; preds = %1996
  %2007 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2008 = load i8*, i8** %2007, align 4, !tbaa !12
  %2009 = add i32 %2004, 1
  %2010 = icmp ugt i32 %2009, 4095
  br i1 %2010, label %2011, label %2028

; <label>:2011:                                   ; preds = %2006
  %2012 = add i32 %2004, 36
  %2013 = icmp ugt i32 %2009, -36
  br i1 %2013, label %2027, label %2014

; <label>:2014:                                   ; preds = %2011
  %2015 = ptrtoint i8* %2008 to i32
  %2016 = and i32 %2015, 31
  %2017 = icmp eq i32 %2016, 0
  br i1 %2017, label %2018, label %2027

; <label>:2018:                                   ; preds = %2014
  %2019 = add i32 %2015, -4
  %2020 = inttoptr i32 %2019 to i32*
  %2021 = load i32, i32* %2020, align 4, !tbaa !24
  %2022 = icmp ult i32 %2021, %2015
  br i1 %2022, label %2023, label %2027

; <label>:2023:                                   ; preds = %2018
  %2024 = sub i32 %2019, %2021
  %2025 = icmp ugt i32 %2024, 31
  %2026 = inttoptr i32 %2021 to i8*
  br i1 %2025, label %2027, label %2028

; <label>:2027:                                   ; preds = %2023, %2018, %2014, %2011
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2028:                                   ; preds = %2023, %2006
  %2029 = phi i8* [ %2026, %2023 ], [ %2008, %2006 ]
  %2030 = phi i32 [ %2012, %2023 ], [ %2009, %2006 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2029, i32 %2030) #14
  br label %2031

; <label>:2031:                                   ; preds = %2028, %1996
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %1997) #14
  %2032 = bitcast %"class.std::basic_string"* %59 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2032) #14
  %2033 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 1
  %2034 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2034, align 4, !tbaa !81
  store i32 11, i32* %2033, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2032, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@BFKEMMBK@storageSize?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14
  %2035 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 7
  store i8 0, i8* %2035, align 1, !tbaa !12
  %2036 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %59) #14
  %2037 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2036, i32 0, i32 1, i32 3
  store i1 ()* @builtinStorageSize, i1 ()** %2037, align 4, !tbaa !774
  %2038 = load i32, i32* %2034, align 4, !tbaa !81
  %2039 = icmp ugt i32 %2038, 15
  br i1 %2039, label %2040, label %2065

; <label>:2040:                                   ; preds = %2031
  %2041 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2042 = load i8*, i8** %2041, align 4, !tbaa !12
  %2043 = add i32 %2038, 1
  %2044 = icmp ugt i32 %2043, 4095
  br i1 %2044, label %2045, label %2062

; <label>:2045:                                   ; preds = %2040
  %2046 = add i32 %2038, 36
  %2047 = icmp ugt i32 %2043, -36
  br i1 %2047, label %2061, label %2048

; <label>:2048:                                   ; preds = %2045
  %2049 = ptrtoint i8* %2042 to i32
  %2050 = and i32 %2049, 31
  %2051 = icmp eq i32 %2050, 0
  br i1 %2051, label %2052, label %2061

; <label>:2052:                                   ; preds = %2048
  %2053 = add i32 %2049, -4
  %2054 = inttoptr i32 %2053 to i32*
  %2055 = load i32, i32* %2054, align 4, !tbaa !24
  %2056 = icmp ult i32 %2055, %2049
  br i1 %2056, label %2057, label %2061

; <label>:2057:                                   ; preds = %2052
  %2058 = sub i32 %2053, %2055
  %2059 = icmp ugt i32 %2058, 31
  %2060 = inttoptr i32 %2055 to i8*
  br i1 %2059, label %2061, label %2062

; <label>:2061:                                   ; preds = %2057, %2052, %2048, %2045
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2062:                                   ; preds = %2057, %2040
  %2063 = phi i8* [ %2060, %2057 ], [ %2042, %2040 ]
  %2064 = phi i32 [ %2046, %2057 ], [ %2043, %2040 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2063, i32 %2064) #14
  br label %2065

; <label>:2065:                                   ; preds = %2062, %2031
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2032) #14
  %2066 = bitcast %"class.std::basic_string"* %60 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2066) #14
  %2067 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 1
  %2068 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2068, align 4, !tbaa !81
  store i32 3, i32* %2067, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2066, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03IIINPABG@tan?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %2069 = getelementptr inbounds i8, i8* %2066, i32 3
  store i8 0, i8* %2069, align 1, !tbaa !12
  %2070 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %60) #14
  %2071 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2070, i32 0, i32 1, i32 3
  store i1 ()* @builtinTan, i1 ()** %2071, align 4, !tbaa !774
  %2072 = load i32, i32* %2068, align 4, !tbaa !81
  %2073 = icmp ugt i32 %2072, 15
  br i1 %2073, label %2074, label %2099

; <label>:2074:                                   ; preds = %2065
  %2075 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2076 = load i8*, i8** %2075, align 4, !tbaa !12
  %2077 = add i32 %2072, 1
  %2078 = icmp ugt i32 %2077, 4095
  br i1 %2078, label %2079, label %2096

; <label>:2079:                                   ; preds = %2074
  %2080 = add i32 %2072, 36
  %2081 = icmp ugt i32 %2077, -36
  br i1 %2081, label %2095, label %2082

; <label>:2082:                                   ; preds = %2079
  %2083 = ptrtoint i8* %2076 to i32
  %2084 = and i32 %2083, 31
  %2085 = icmp eq i32 %2084, 0
  br i1 %2085, label %2086, label %2095

; <label>:2086:                                   ; preds = %2082
  %2087 = add i32 %2083, -4
  %2088 = inttoptr i32 %2087 to i32*
  %2089 = load i32, i32* %2088, align 4, !tbaa !24
  %2090 = icmp ult i32 %2089, %2083
  br i1 %2090, label %2091, label %2095

; <label>:2091:                                   ; preds = %2086
  %2092 = sub i32 %2087, %2089
  %2093 = icmp ugt i32 %2092, 31
  %2094 = inttoptr i32 %2089 to i8*
  br i1 %2093, label %2095, label %2096

; <label>:2095:                                   ; preds = %2091, %2086, %2082, %2079
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2096:                                   ; preds = %2091, %2074
  %2097 = phi i8* [ %2094, %2091 ], [ %2076, %2074 ]
  %2098 = phi i32 [ %2080, %2091 ], [ %2077, %2074 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2097, i32 %2098) #14
  br label %2099

; <label>:2099:                                   ; preds = %2096, %2065
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2066) #14
  %2100 = bitcast %"class.std::basic_string"* %61 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2100) #14
  %2101 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 1
  %2102 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 2
  %2103 = bitcast i32* %2101 to i64*
  store i64 0, i64* %2103, align 4
  store i32 15, i32* %2102, align 4, !tbaa !81
  store i8 0, i8* %2100, align 4, !tbaa !12
  %2104 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %1, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %2104) #14
  %2105 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %61, i32 17, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %1, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @"\01??_C@_0BC@FFKBOHDD@textMemoryPointer?$AA@", i32 0, i32 0)) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %2104) #14
  %2106 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %61) #14
  %2107 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2106, i32 0, i32 1, i32 3
  store i1 ()* @builtinTextMemoryPointer, i1 ()** %2107, align 4, !tbaa !774
  %2108 = load i32, i32* %2102, align 4, !tbaa !81
  %2109 = icmp ugt i32 %2108, 15
  br i1 %2109, label %2110, label %2135

; <label>:2110:                                   ; preds = %2099
  %2111 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2112 = load i8*, i8** %2111, align 4, !tbaa !12
  %2113 = add i32 %2108, 1
  %2114 = icmp ugt i32 %2113, 4095
  br i1 %2114, label %2115, label %2132

; <label>:2115:                                   ; preds = %2110
  %2116 = add i32 %2108, 36
  %2117 = icmp ugt i32 %2113, -36
  br i1 %2117, label %2131, label %2118

; <label>:2118:                                   ; preds = %2115
  %2119 = ptrtoint i8* %2112 to i32
  %2120 = and i32 %2119, 31
  %2121 = icmp eq i32 %2120, 0
  br i1 %2121, label %2122, label %2131

; <label>:2122:                                   ; preds = %2118
  %2123 = add i32 %2119, -4
  %2124 = inttoptr i32 %2123 to i32*
  %2125 = load i32, i32* %2124, align 4, !tbaa !24
  %2126 = icmp ult i32 %2125, %2119
  br i1 %2126, label %2127, label %2131

; <label>:2127:                                   ; preds = %2122
  %2128 = sub i32 %2123, %2125
  %2129 = icmp ugt i32 %2128, 31
  %2130 = inttoptr i32 %2125 to i8*
  br i1 %2129, label %2131, label %2132

; <label>:2131:                                   ; preds = %2127, %2122, %2118, %2115
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2132:                                   ; preds = %2127, %2110
  %2133 = phi i8* [ %2130, %2127 ], [ %2112, %2110 ]
  %2134 = phi i32 [ %2116, %2127 ], [ %2113, %2110 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2133, i32 %2134) #14
  br label %2135

; <label>:2135:                                   ; preds = %2132, %2099
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2100) #14
  %2136 = bitcast %"class.std::basic_string"* %62 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2136) #14
  %2137 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 1
  %2138 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2138, align 4, !tbaa !81
  store i32 14, i32* %2137, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2136, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @"\01??_C@_0P@MKJHBKDE@textMemorySize?$AA@", i32 0, i32 0), i32 14, i32 1, i1 false) #14
  %2139 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 10
  store i8 0, i8* %2139, align 2, !tbaa !12
  %2140 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %62) #14
  %2141 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2140, i32 0, i32 1, i32 3
  store i1 ()* @builtinTextMemorySize, i1 ()** %2141, align 4, !tbaa !774
  %2142 = load i32, i32* %2138, align 4, !tbaa !81
  %2143 = icmp ugt i32 %2142, 15
  br i1 %2143, label %2144, label %2169

; <label>:2144:                                   ; preds = %2135
  %2145 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2146 = load i8*, i8** %2145, align 4, !tbaa !12
  %2147 = add i32 %2142, 1
  %2148 = icmp ugt i32 %2147, 4095
  br i1 %2148, label %2149, label %2166

; <label>:2149:                                   ; preds = %2144
  %2150 = add i32 %2142, 36
  %2151 = icmp ugt i32 %2147, -36
  br i1 %2151, label %2165, label %2152

; <label>:2152:                                   ; preds = %2149
  %2153 = ptrtoint i8* %2146 to i32
  %2154 = and i32 %2153, 31
  %2155 = icmp eq i32 %2154, 0
  br i1 %2155, label %2156, label %2165

; <label>:2156:                                   ; preds = %2152
  %2157 = add i32 %2153, -4
  %2158 = inttoptr i32 %2157 to i32*
  %2159 = load i32, i32* %2158, align 4, !tbaa !24
  %2160 = icmp ult i32 %2159, %2153
  br i1 %2160, label %2161, label %2165

; <label>:2161:                                   ; preds = %2156
  %2162 = sub i32 %2157, %2159
  %2163 = icmp ugt i32 %2162, 31
  %2164 = inttoptr i32 %2159 to i8*
  br i1 %2163, label %2165, label %2166

; <label>:2165:                                   ; preds = %2161, %2156, %2152, %2149
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2166:                                   ; preds = %2161, %2144
  %2167 = phi i8* [ %2164, %2161 ], [ %2146, %2144 ]
  %2168 = phi i32 [ %2150, %2161 ], [ %2147, %2144 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2167, i32 %2168) #14
  br label %2169

; <label>:2169:                                   ; preds = %2166, %2135
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2136) #14
  %2170 = bitcast %"class.std::basic_string"* %63 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2170) #14
  %2171 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 1
  %2172 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2172, align 4, !tbaa !81
  store i32 9, i32* %2171, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2170, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @"\01??_C@_09JMNMJGON@textSplit?$AA@", i32 0, i32 0), i32 9, i32 1, i1 false) #14
  %2173 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 5
  store i8 0, i8* %2173, align 1, !tbaa !12
  %2174 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %63) #14
  %2175 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2174, i32 0, i32 1, i32 3
  store i1 ()* @builtinTextSplit, i1 ()** %2175, align 4, !tbaa !774
  %2176 = load i32, i32* %2172, align 4, !tbaa !81
  %2177 = icmp ugt i32 %2176, 15
  br i1 %2177, label %2178, label %2203

; <label>:2178:                                   ; preds = %2169
  %2179 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %63, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2180 = load i8*, i8** %2179, align 4, !tbaa !12
  %2181 = add i32 %2176, 1
  %2182 = icmp ugt i32 %2181, 4095
  br i1 %2182, label %2183, label %2200

; <label>:2183:                                   ; preds = %2178
  %2184 = add i32 %2176, 36
  %2185 = icmp ugt i32 %2181, -36
  br i1 %2185, label %2199, label %2186

; <label>:2186:                                   ; preds = %2183
  %2187 = ptrtoint i8* %2180 to i32
  %2188 = and i32 %2187, 31
  %2189 = icmp eq i32 %2188, 0
  br i1 %2189, label %2190, label %2199

; <label>:2190:                                   ; preds = %2186
  %2191 = add i32 %2187, -4
  %2192 = inttoptr i32 %2191 to i32*
  %2193 = load i32, i32* %2192, align 4, !tbaa !24
  %2194 = icmp ult i32 %2193, %2187
  br i1 %2194, label %2195, label %2199

; <label>:2195:                                   ; preds = %2190
  %2196 = sub i32 %2191, %2193
  %2197 = icmp ugt i32 %2196, 31
  %2198 = inttoptr i32 %2193 to i8*
  br i1 %2197, label %2199, label %2200

; <label>:2199:                                   ; preds = %2195, %2190, %2186, %2183
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2200:                                   ; preds = %2195, %2178
  %2201 = phi i8* [ %2198, %2195 ], [ %2180, %2178 ]
  %2202 = phi i32 [ %2184, %2195 ], [ %2181, %2178 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2201, i32 %2202) #14
  br label %2203

; <label>:2203:                                   ; preds = %2200, %2169
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2170) #14
  %2204 = bitcast %"class.std::basic_string"* %64 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2204) #14
  %2205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %64, i32 0, i32 0, i32 0, i32 0, i32 1
  %2206 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %64, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2206, align 4, !tbaa !81
  store i32 1, i32* %2205, align 4, !tbaa !83
  store i8 126, i8* %2204, align 4
  %2207 = getelementptr inbounds i8, i8* %2204, i32 1
  store i8 0, i8* %2207, align 1, !tbaa !12
  %2208 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %64) #14
  %2209 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2208, i32 0, i32 1, i32 3
  store i1 ()* @builtinTilde, i1 ()** %2209, align 4, !tbaa !774
  %2210 = load i32, i32* %2206, align 4, !tbaa !81
  %2211 = icmp ugt i32 %2210, 15
  br i1 %2211, label %2212, label %2237

; <label>:2212:                                   ; preds = %2203
  %2213 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %64, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2214 = load i8*, i8** %2213, align 4, !tbaa !12
  %2215 = add i32 %2210, 1
  %2216 = icmp ugt i32 %2215, 4095
  br i1 %2216, label %2217, label %2234

; <label>:2217:                                   ; preds = %2212
  %2218 = add i32 %2210, 36
  %2219 = icmp ugt i32 %2215, -36
  br i1 %2219, label %2233, label %2220

; <label>:2220:                                   ; preds = %2217
  %2221 = ptrtoint i8* %2214 to i32
  %2222 = and i32 %2221, 31
  %2223 = icmp eq i32 %2222, 0
  br i1 %2223, label %2224, label %2233

; <label>:2224:                                   ; preds = %2220
  %2225 = add i32 %2221, -4
  %2226 = inttoptr i32 %2225 to i32*
  %2227 = load i32, i32* %2226, align 4, !tbaa !24
  %2228 = icmp ult i32 %2227, %2221
  br i1 %2228, label %2229, label %2233

; <label>:2229:                                   ; preds = %2224
  %2230 = sub i32 %2225, %2227
  %2231 = icmp ugt i32 %2230, 31
  %2232 = inttoptr i32 %2227 to i8*
  br i1 %2231, label %2233, label %2234

; <label>:2233:                                   ; preds = %2229, %2224, %2220, %2217
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2234:                                   ; preds = %2229, %2212
  %2235 = phi i8* [ %2232, %2229 ], [ %2214, %2212 ]
  %2236 = phi i32 [ %2218, %2229 ], [ %2215, %2212 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2235, i32 %2236) #14
  br label %2237

; <label>:2237:                                   ; preds = %2234, %2203
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2204) #14
  %2238 = bitcast %"class.std::basic_string"* %65 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2238) #14
  %2239 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %65, i32 0, i32 0, i32 0, i32 0, i32 1
  %2240 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %65, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2240, align 4, !tbaa !81
  store i32 6, i32* %2239, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2238, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06FDMMICBG@toText?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %2241 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %65, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %2241, align 2, !tbaa !12
  %2242 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %65) #14
  %2243 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2242, i32 0, i32 1, i32 3
  store i1 ()* @builtinToText, i1 ()** %2243, align 4, !tbaa !774
  %2244 = load i32, i32* %2240, align 4, !tbaa !81
  %2245 = icmp ugt i32 %2244, 15
  br i1 %2245, label %2246, label %2271

; <label>:2246:                                   ; preds = %2237
  %2247 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %65, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2248 = load i8*, i8** %2247, align 4, !tbaa !12
  %2249 = add i32 %2244, 1
  %2250 = icmp ugt i32 %2249, 4095
  br i1 %2250, label %2251, label %2268

; <label>:2251:                                   ; preds = %2246
  %2252 = add i32 %2244, 36
  %2253 = icmp ugt i32 %2249, -36
  br i1 %2253, label %2267, label %2254

; <label>:2254:                                   ; preds = %2251
  %2255 = ptrtoint i8* %2248 to i32
  %2256 = and i32 %2255, 31
  %2257 = icmp eq i32 %2256, 0
  br i1 %2257, label %2258, label %2267

; <label>:2258:                                   ; preds = %2254
  %2259 = add i32 %2255, -4
  %2260 = inttoptr i32 %2259 to i32*
  %2261 = load i32, i32* %2260, align 4, !tbaa !24
  %2262 = icmp ult i32 %2261, %2255
  br i1 %2262, label %2263, label %2267

; <label>:2263:                                   ; preds = %2258
  %2264 = sub i32 %2259, %2261
  %2265 = icmp ugt i32 %2264, 31
  %2266 = inttoptr i32 %2261 to i8*
  br i1 %2265, label %2267, label %2268

; <label>:2267:                                   ; preds = %2263, %2258, %2254, %2251
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2268:                                   ; preds = %2263, %2246
  %2269 = phi i8* [ %2266, %2263 ], [ %2248, %2246 ]
  %2270 = phi i32 [ %2252, %2263 ], [ %2249, %2246 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2269, i32 %2270) #14
  br label %2271

; <label>:2271:                                   ; preds = %2268, %2237
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2238) #14
  %2272 = bitcast %"class.std::basic_string"* %66 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2272) #14
  %2273 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 1
  %2274 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2274, align 4, !tbaa !81
  store i32 4, i32* %2273, align 4, !tbaa !83
  %2275 = bitcast %"class.std::basic_string"* %66 to i32*
  store i32 1163219540, i32* %2275, align 4
  %2276 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %2276, align 4, !tbaa !12
  %2277 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %66) #14
  %2278 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2277, i32 0, i32 1, i32 3
  store i1 ()* @builtinTRUE, i1 ()** %2278, align 4, !tbaa !774
  %2279 = load i32, i32* %2274, align 4, !tbaa !81
  %2280 = icmp ugt i32 %2279, 15
  br i1 %2280, label %2281, label %2306

; <label>:2281:                                   ; preds = %2271
  %2282 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %66, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2283 = load i8*, i8** %2282, align 4, !tbaa !12
  %2284 = add i32 %2279, 1
  %2285 = icmp ugt i32 %2284, 4095
  br i1 %2285, label %2286, label %2303

; <label>:2286:                                   ; preds = %2281
  %2287 = add i32 %2279, 36
  %2288 = icmp ugt i32 %2284, -36
  br i1 %2288, label %2302, label %2289

; <label>:2289:                                   ; preds = %2286
  %2290 = ptrtoint i8* %2283 to i32
  %2291 = and i32 %2290, 31
  %2292 = icmp eq i32 %2291, 0
  br i1 %2292, label %2293, label %2302

; <label>:2293:                                   ; preds = %2289
  %2294 = add i32 %2290, -4
  %2295 = inttoptr i32 %2294 to i32*
  %2296 = load i32, i32* %2295, align 4, !tbaa !24
  %2297 = icmp ult i32 %2296, %2290
  br i1 %2297, label %2298, label %2302

; <label>:2298:                                   ; preds = %2293
  %2299 = sub i32 %2294, %2296
  %2300 = icmp ugt i32 %2299, 31
  %2301 = inttoptr i32 %2296 to i8*
  br i1 %2300, label %2302, label %2303

; <label>:2302:                                   ; preds = %2298, %2293, %2289, %2286
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2303:                                   ; preds = %2298, %2281
  %2304 = phi i8* [ %2301, %2298 ], [ %2283, %2281 ]
  %2305 = phi i32 [ %2287, %2298 ], [ %2284, %2281 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2304, i32 %2305) #14
  br label %2306

; <label>:2306:                                   ; preds = %2303, %2271
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2272) #14
  %2307 = bitcast %"class.std::basic_string"* %67 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2307) #14
  %2308 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %67, i32 0, i32 0, i32 0, i32 0, i32 1
  %2309 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %67, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2309, align 4, !tbaa !81
  store i32 6, i32* %2308, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2307, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06OPLLLDEK@untail?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %2310 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %67, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %2310, align 2, !tbaa !12
  %2311 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %67) #14
  %2312 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2311, i32 0, i32 1, i32 3
  store i1 ()* @builtinUntail, i1 ()** %2312, align 4, !tbaa !774
  %2313 = load i32, i32* %2309, align 4, !tbaa !81
  %2314 = icmp ugt i32 %2313, 15
  br i1 %2314, label %2315, label %2340

; <label>:2315:                                   ; preds = %2306
  %2316 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %67, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2317 = load i8*, i8** %2316, align 4, !tbaa !12
  %2318 = add i32 %2313, 1
  %2319 = icmp ugt i32 %2318, 4095
  br i1 %2319, label %2320, label %2337

; <label>:2320:                                   ; preds = %2315
  %2321 = add i32 %2313, 36
  %2322 = icmp ugt i32 %2318, -36
  br i1 %2322, label %2336, label %2323

; <label>:2323:                                   ; preds = %2320
  %2324 = ptrtoint i8* %2317 to i32
  %2325 = and i32 %2324, 31
  %2326 = icmp eq i32 %2325, 0
  br i1 %2326, label %2327, label %2336

; <label>:2327:                                   ; preds = %2323
  %2328 = add i32 %2324, -4
  %2329 = inttoptr i32 %2328 to i32*
  %2330 = load i32, i32* %2329, align 4, !tbaa !24
  %2331 = icmp ult i32 %2330, %2324
  br i1 %2331, label %2332, label %2336

; <label>:2332:                                   ; preds = %2327
  %2333 = sub i32 %2328, %2330
  %2334 = icmp ugt i32 %2333, 31
  %2335 = inttoptr i32 %2330 to i8*
  br i1 %2334, label %2336, label %2337

; <label>:2336:                                   ; preds = %2332, %2327, %2323, %2320
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2337:                                   ; preds = %2332, %2315
  %2338 = phi i8* [ %2335, %2332 ], [ %2317, %2315 ]
  %2339 = phi i32 [ %2321, %2332 ], [ %2318, %2315 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2338, i32 %2339) #14
  br label %2340

; <label>:2340:                                   ; preds = %2337, %2306
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2307) #14
  %2341 = bitcast %"class.std::basic_string"* %68 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2341) #14
  %2342 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %68, i32 0, i32 0, i32 0, i32 0, i32 1
  %2343 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %68, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2343, align 4, !tbaa !81
  store i32 7, i32* %2342, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2341, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01??_C@_07DDAOFDPL@useFile?$AA@", i32 0, i32 0), i32 7, i32 1, i1 false) #14
  %2344 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %68, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 3
  store i8 0, i8* %2344, align 1, !tbaa !12
  %2345 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %68) #14
  %2346 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2345, i32 0, i32 1, i32 3
  store i1 ()* @builtinUseFile, i1 ()** %2346, align 4, !tbaa !774
  %2347 = load i32, i32* %2343, align 4, !tbaa !81
  %2348 = icmp ugt i32 %2347, 15
  br i1 %2348, label %2349, label %2374

; <label>:2349:                                   ; preds = %2340
  %2350 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %68, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2351 = load i8*, i8** %2350, align 4, !tbaa !12
  %2352 = add i32 %2347, 1
  %2353 = icmp ugt i32 %2352, 4095
  br i1 %2353, label %2354, label %2371

; <label>:2354:                                   ; preds = %2349
  %2355 = add i32 %2347, 36
  %2356 = icmp ugt i32 %2352, -36
  br i1 %2356, label %2370, label %2357

; <label>:2357:                                   ; preds = %2354
  %2358 = ptrtoint i8* %2351 to i32
  %2359 = and i32 %2358, 31
  %2360 = icmp eq i32 %2359, 0
  br i1 %2360, label %2361, label %2370

; <label>:2361:                                   ; preds = %2357
  %2362 = add i32 %2358, -4
  %2363 = inttoptr i32 %2362 to i32*
  %2364 = load i32, i32* %2363, align 4, !tbaa !24
  %2365 = icmp ult i32 %2364, %2358
  br i1 %2365, label %2366, label %2370

; <label>:2366:                                   ; preds = %2361
  %2367 = sub i32 %2362, %2364
  %2368 = icmp ugt i32 %2367, 31
  %2369 = inttoptr i32 %2364 to i8*
  br i1 %2368, label %2370, label %2371

; <label>:2370:                                   ; preds = %2366, %2361, %2357, %2354
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2371:                                   ; preds = %2366, %2349
  %2372 = phi i8* [ %2369, %2366 ], [ %2351, %2349 ]
  %2373 = phi i32 [ %2355, %2366 ], [ %2352, %2349 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2372, i32 %2373) #14
  br label %2374

; <label>:2374:                                   ; preds = %2371, %2340
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2341) #14
  %2375 = bitcast %"class.std::basic_string"* %69 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2375) #14
  %2376 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %69, i32 0, i32 0, i32 0, i32 0, i32 1
  %2377 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %69, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2377, align 4, !tbaa !81
  store i32 11, i32* %2376, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2375, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@LMIKAJBN@writeMemory?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14
  %2378 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %69, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 7
  store i8 0, i8* %2378, align 1, !tbaa !12
  %2379 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %69) #14
  %2380 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2379, i32 0, i32 1, i32 3
  store i1 ()* @builtinWriteMemory, i1 ()** %2380, align 4, !tbaa !774
  %2381 = load i32, i32* %2377, align 4, !tbaa !81
  %2382 = icmp ugt i32 %2381, 15
  br i1 %2382, label %2383, label %2408

; <label>:2383:                                   ; preds = %2374
  %2384 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %69, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2385 = load i8*, i8** %2384, align 4, !tbaa !12
  %2386 = add i32 %2381, 1
  %2387 = icmp ugt i32 %2386, 4095
  br i1 %2387, label %2388, label %2405

; <label>:2388:                                   ; preds = %2383
  %2389 = add i32 %2381, 36
  %2390 = icmp ugt i32 %2386, -36
  br i1 %2390, label %2404, label %2391

; <label>:2391:                                   ; preds = %2388
  %2392 = ptrtoint i8* %2385 to i32
  %2393 = and i32 %2392, 31
  %2394 = icmp eq i32 %2393, 0
  br i1 %2394, label %2395, label %2404

; <label>:2395:                                   ; preds = %2391
  %2396 = add i32 %2392, -4
  %2397 = inttoptr i32 %2396 to i32*
  %2398 = load i32, i32* %2397, align 4, !tbaa !24
  %2399 = icmp ult i32 %2398, %2392
  br i1 %2399, label %2400, label %2404

; <label>:2400:                                   ; preds = %2395
  %2401 = sub i32 %2396, %2398
  %2402 = icmp ugt i32 %2401, 31
  %2403 = inttoptr i32 %2398 to i8*
  br i1 %2402, label %2404, label %2405

; <label>:2404:                                   ; preds = %2400, %2395, %2391, %2388
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2405:                                   ; preds = %2400, %2383
  %2406 = phi i8* [ %2403, %2400 ], [ %2385, %2383 ]
  %2407 = phi i32 [ %2389, %2400 ], [ %2386, %2383 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2406, i32 %2407) #14
  br label %2408

; <label>:2408:                                   ; preds = %2405, %2374
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2375) #14
  %2409 = bitcast %"class.std::basic_string"* %70 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2409) #14
  %2410 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 1
  %2411 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2411, align 4, !tbaa !81
  store i32 3, i32* %2410, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2409, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03COLCDPPJ@xor?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %2412 = getelementptr inbounds i8, i8* %2409, i32 3
  store i8 0, i8* %2412, align 1, !tbaa !12
  %2413 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %70) #14
  %2414 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %2413, i32 0, i32 1, i32 3
  store i1 ()* @builtinXor, i1 ()** %2414, align 4, !tbaa !774
  %2415 = load i32, i32* %2411, align 4, !tbaa !81
  %2416 = icmp ugt i32 %2415, 15
  br i1 %2416, label %2417, label %2442

; <label>:2417:                                   ; preds = %2408
  %2418 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %70, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2419 = load i8*, i8** %2418, align 4, !tbaa !12
  %2420 = add i32 %2415, 1
  %2421 = icmp ugt i32 %2420, 4095
  br i1 %2421, label %2422, label %2439

; <label>:2422:                                   ; preds = %2417
  %2423 = add i32 %2415, 36
  %2424 = icmp ugt i32 %2420, -36
  br i1 %2424, label %2438, label %2425

; <label>:2425:                                   ; preds = %2422
  %2426 = ptrtoint i8* %2419 to i32
  %2427 = and i32 %2426, 31
  %2428 = icmp eq i32 %2427, 0
  br i1 %2428, label %2429, label %2438

; <label>:2429:                                   ; preds = %2425
  %2430 = add i32 %2426, -4
  %2431 = inttoptr i32 %2430 to i32*
  %2432 = load i32, i32* %2431, align 4, !tbaa !24
  %2433 = icmp ult i32 %2432, %2426
  br i1 %2433, label %2434, label %2438

; <label>:2434:                                   ; preds = %2429
  %2435 = sub i32 %2430, %2432
  %2436 = icmp ugt i32 %2435, 31
  %2437 = inttoptr i32 %2432 to i8*
  br i1 %2436, label %2438, label %2439

; <label>:2438:                                   ; preds = %2434, %2429, %2425, %2422
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2439:                                   ; preds = %2434, %2417
  %2440 = phi i8* [ %2437, %2434 ], [ %2419, %2417 ]
  %2441 = phi i32 [ %2423, %2434 ], [ %2420, %2417 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2440, i32 %2441) #14
  br label %2442

; <label>:2442:                                   ; preds = %2439, %2408
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2409) #14
  %2443 = bitcast %"class.std::basic_string"* %71 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2443) #14
  %2444 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %71, i32 0, i32 0, i32 0, i32 0, i32 1
  %2445 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %71, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2445, align 4, !tbaa !81
  store i32 0, i32* %2444, align 4, !tbaa !83
  store i8 0, i8* %2443, align 4, !tbaa !12
  %2446 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %71) #14
  store %"struct.std::pair.23"* %2446, %"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2447 = load i32, i32* %2445, align 4, !tbaa !81
  %2448 = icmp ugt i32 %2447, 15
  br i1 %2448, label %2449, label %2474

; <label>:2449:                                   ; preds = %2442
  %2450 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %71, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2451 = load i8*, i8** %2450, align 4, !tbaa !12
  %2452 = add i32 %2447, 1
  %2453 = icmp ugt i32 %2452, 4095
  br i1 %2453, label %2454, label %2471

; <label>:2454:                                   ; preds = %2449
  %2455 = add i32 %2447, 36
  %2456 = icmp ugt i32 %2452, -36
  br i1 %2456, label %2470, label %2457

; <label>:2457:                                   ; preds = %2454
  %2458 = ptrtoint i8* %2451 to i32
  %2459 = and i32 %2458, 31
  %2460 = icmp eq i32 %2459, 0
  br i1 %2460, label %2461, label %2470

; <label>:2461:                                   ; preds = %2457
  %2462 = add i32 %2458, -4
  %2463 = inttoptr i32 %2462 to i32*
  %2464 = load i32, i32* %2463, align 4, !tbaa !24
  %2465 = icmp ult i32 %2464, %2458
  br i1 %2465, label %2466, label %2470

; <label>:2466:                                   ; preds = %2461
  %2467 = sub i32 %2462, %2464
  %2468 = icmp ugt i32 %2467, 31
  %2469 = inttoptr i32 %2464 to i8*
  br i1 %2468, label %2470, label %2471

; <label>:2470:                                   ; preds = %2466, %2461, %2457, %2454
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2471:                                   ; preds = %2466, %2449
  %2472 = phi i8* [ %2469, %2466 ], [ %2451, %2449 ]
  %2473 = phi i32 [ %2455, %2466 ], [ %2452, %2449 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2472, i32 %2473) #14
  br label %2474

; <label>:2474:                                   ; preds = %2471, %2442
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2443) #14
  %2475 = bitcast %"class.std::basic_string"* %72 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2475) #14
  %2476 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %72, i32 0, i32 0, i32 0, i32 0, i32 1
  %2477 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %72, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2477, align 4, !tbaa !81
  store i32 4, i32* %2476, align 4, !tbaa !83
  %2478 = bitcast %"class.std::basic_string"* %72 to i32*
  store i32 1280065859, i32* %2478, align 4
  %2479 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %72, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %2479, align 4, !tbaa !12
  %2480 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %72) #14
  store %"struct.std::pair.23"* %2480, %"struct.std::pair.23"** @"\01?callText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2481 = load i32, i32* %2477, align 4, !tbaa !81
  %2482 = icmp ugt i32 %2481, 15
  br i1 %2482, label %2483, label %2508

; <label>:2483:                                   ; preds = %2474
  %2484 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %72, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2485 = load i8*, i8** %2484, align 4, !tbaa !12
  %2486 = add i32 %2481, 1
  %2487 = icmp ugt i32 %2486, 4095
  br i1 %2487, label %2488, label %2505

; <label>:2488:                                   ; preds = %2483
  %2489 = add i32 %2481, 36
  %2490 = icmp ugt i32 %2486, -36
  br i1 %2490, label %2504, label %2491

; <label>:2491:                                   ; preds = %2488
  %2492 = ptrtoint i8* %2485 to i32
  %2493 = and i32 %2492, 31
  %2494 = icmp eq i32 %2493, 0
  br i1 %2494, label %2495, label %2504

; <label>:2495:                                   ; preds = %2491
  %2496 = add i32 %2492, -4
  %2497 = inttoptr i32 %2496 to i32*
  %2498 = load i32, i32* %2497, align 4, !tbaa !24
  %2499 = icmp ult i32 %2498, %2492
  br i1 %2499, label %2500, label %2504

; <label>:2500:                                   ; preds = %2495
  %2501 = sub i32 %2496, %2498
  %2502 = icmp ugt i32 %2501, 31
  %2503 = inttoptr i32 %2498 to i8*
  br i1 %2502, label %2504, label %2505

; <label>:2504:                                   ; preds = %2500, %2495, %2491, %2488
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2505:                                   ; preds = %2500, %2483
  %2506 = phi i8* [ %2503, %2500 ], [ %2485, %2483 ]
  %2507 = phi i32 [ %2489, %2500 ], [ %2486, %2483 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2506, i32 %2507) #14
  br label %2508

; <label>:2508:                                   ; preds = %2505, %2474
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2475) #14
  %2509 = bitcast %"class.std::basic_string"* %73 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2509) #14
  %2510 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 1
  %2511 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2511, align 4, !tbaa !81
  store i32 7, i32* %2510, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2509, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01??_C@_07NMGBPFLN@closure?$AA@", i32 0, i32 0), i32 7, i32 1, i1 false) #14
  %2512 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 3
  store i8 0, i8* %2512, align 1, !tbaa !12
  %2513 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %73) #14
  store %"struct.std::pair.23"* %2513, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2514 = load i32, i32* %2511, align 4, !tbaa !81
  %2515 = icmp ugt i32 %2514, 15
  br i1 %2515, label %2516, label %2541

; <label>:2516:                                   ; preds = %2508
  %2517 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2518 = load i8*, i8** %2517, align 4, !tbaa !12
  %2519 = add i32 %2514, 1
  %2520 = icmp ugt i32 %2519, 4095
  br i1 %2520, label %2521, label %2538

; <label>:2521:                                   ; preds = %2516
  %2522 = add i32 %2514, 36
  %2523 = icmp ugt i32 %2519, -36
  br i1 %2523, label %2537, label %2524

; <label>:2524:                                   ; preds = %2521
  %2525 = ptrtoint i8* %2518 to i32
  %2526 = and i32 %2525, 31
  %2527 = icmp eq i32 %2526, 0
  br i1 %2527, label %2528, label %2537

; <label>:2528:                                   ; preds = %2524
  %2529 = add i32 %2525, -4
  %2530 = inttoptr i32 %2529 to i32*
  %2531 = load i32, i32* %2530, align 4, !tbaa !24
  %2532 = icmp ult i32 %2531, %2525
  br i1 %2532, label %2533, label %2537

; <label>:2533:                                   ; preds = %2528
  %2534 = sub i32 %2529, %2531
  %2535 = icmp ugt i32 %2534, 31
  %2536 = inttoptr i32 %2531 to i8*
  br i1 %2535, label %2537, label %2538

; <label>:2537:                                   ; preds = %2533, %2528, %2524, %2521
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2538:                                   ; preds = %2533, %2516
  %2539 = phi i8* [ %2536, %2533 ], [ %2518, %2516 ]
  %2540 = phi i32 [ %2522, %2533 ], [ %2519, %2516 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2539, i32 %2540) #14
  br label %2541

; <label>:2541:                                   ; preds = %2538, %2508
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2509) #14
  %2542 = bitcast %"class.std::basic_string"* %74 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2542) #14
  %2543 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 1
  %2544 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2544, align 4, !tbaa !81
  store i32 3, i32* %2543, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2542, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03DIIIOCIG@DIE?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %2545 = getelementptr inbounds i8, i8* %2542, i32 3
  store i8 0, i8* %2545, align 1, !tbaa !12
  %2546 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %74) #14
  store %"struct.std::pair.23"* %2546, %"struct.std::pair.23"** @"\01?dieText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2547 = load i32, i32* %2544, align 4, !tbaa !81
  %2548 = icmp ugt i32 %2547, 15
  br i1 %2548, label %2549, label %2574

; <label>:2549:                                   ; preds = %2541
  %2550 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %74, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2551 = load i8*, i8** %2550, align 4, !tbaa !12
  %2552 = add i32 %2547, 1
  %2553 = icmp ugt i32 %2552, 4095
  br i1 %2553, label %2554, label %2571

; <label>:2554:                                   ; preds = %2549
  %2555 = add i32 %2547, 36
  %2556 = icmp ugt i32 %2552, -36
  br i1 %2556, label %2570, label %2557

; <label>:2557:                                   ; preds = %2554
  %2558 = ptrtoint i8* %2551 to i32
  %2559 = and i32 %2558, 31
  %2560 = icmp eq i32 %2559, 0
  br i1 %2560, label %2561, label %2570

; <label>:2561:                                   ; preds = %2557
  %2562 = add i32 %2558, -4
  %2563 = inttoptr i32 %2562 to i32*
  %2564 = load i32, i32* %2563, align 4, !tbaa !24
  %2565 = icmp ult i32 %2564, %2558
  br i1 %2565, label %2566, label %2570

; <label>:2566:                                   ; preds = %2561
  %2567 = sub i32 %2562, %2564
  %2568 = icmp ugt i32 %2567, 31
  %2569 = inttoptr i32 %2564 to i8*
  br i1 %2568, label %2570, label %2571

; <label>:2570:                                   ; preds = %2566, %2561, %2557, %2554
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2571:                                   ; preds = %2566, %2549
  %2572 = phi i8* [ %2569, %2566 ], [ %2551, %2549 ]
  %2573 = phi i32 [ %2555, %2566 ], [ %2552, %2549 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2572, i32 %2573) #14
  br label %2574

; <label>:2574:                                   ; preds = %2571, %2541
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2542) #14
  %2575 = bitcast %"class.std::basic_string"* %75 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2575) #14
  %2576 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %75, i32 0, i32 0, i32 0, i32 0, i32 1
  %2577 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %75, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2577, align 4, !tbaa !81
  store i32 3, i32* %2576, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %2575, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03PHIAGONP@PRE?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14
  %2578 = getelementptr inbounds i8, i8* %2575, i32 3
  store i8 0, i8* %2578, align 1, !tbaa !12
  %2579 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %75) #14
  store %"struct.std::pair.23"* %2579, %"struct.std::pair.23"** @"\01?preText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2580 = load i32, i32* %2577, align 4, !tbaa !81
  %2581 = icmp ugt i32 %2580, 15
  br i1 %2581, label %2582, label %2607

; <label>:2582:                                   ; preds = %2574
  %2583 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %75, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2584 = load i8*, i8** %2583, align 4, !tbaa !12
  %2585 = add i32 %2580, 1
  %2586 = icmp ugt i32 %2585, 4095
  br i1 %2586, label %2587, label %2604

; <label>:2587:                                   ; preds = %2582
  %2588 = add i32 %2580, 36
  %2589 = icmp ugt i32 %2585, -36
  br i1 %2589, label %2603, label %2590

; <label>:2590:                                   ; preds = %2587
  %2591 = ptrtoint i8* %2584 to i32
  %2592 = and i32 %2591, 31
  %2593 = icmp eq i32 %2592, 0
  br i1 %2593, label %2594, label %2603

; <label>:2594:                                   ; preds = %2590
  %2595 = add i32 %2591, -4
  %2596 = inttoptr i32 %2595 to i32*
  %2597 = load i32, i32* %2596, align 4, !tbaa !24
  %2598 = icmp ult i32 %2597, %2591
  br i1 %2598, label %2599, label %2603

; <label>:2599:                                   ; preds = %2594
  %2600 = sub i32 %2595, %2597
  %2601 = icmp ugt i32 %2600, 31
  %2602 = inttoptr i32 %2597 to i8*
  br i1 %2601, label %2603, label %2604

; <label>:2603:                                   ; preds = %2599, %2594, %2590, %2587
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2604:                                   ; preds = %2599, %2582
  %2605 = phi i8* [ %2602, %2599 ], [ %2584, %2582 ]
  %2606 = phi i32 [ %2588, %2599 ], [ %2585, %2582 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2605, i32 %2606) #14
  br label %2607

; <label>:2607:                                   ; preds = %2604, %2574
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2575) #14
  %2608 = bitcast %"class.std::basic_string"* %76 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2608) #14
  %2609 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %76, i32 0, i32 0, i32 0, i32 0, i32 1
  %2610 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %76, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2610, align 4, !tbaa !81
  store i32 4, i32* %2609, align 4, !tbaa !83
  %2611 = bitcast %"class.std::basic_string"* %76 to i32*
  store i32 1718379891, i32* %2611, align 4
  %2612 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %76, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %2612, align 4, !tbaa !12
  %2613 = call dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %76) #14
  store %"struct.std::pair.23"* %2613, %"struct.std::pair.23"** @"\01?selfText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %2614 = load i32, i32* %2610, align 4, !tbaa !81
  %2615 = icmp ugt i32 %2614, 15
  br i1 %2615, label %2616, label %2641

; <label>:2616:                                   ; preds = %2607
  %2617 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %76, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2618 = load i8*, i8** %2617, align 4, !tbaa !12
  %2619 = add i32 %2614, 1
  %2620 = icmp ugt i32 %2619, 4095
  br i1 %2620, label %2621, label %2638

; <label>:2621:                                   ; preds = %2616
  %2622 = add i32 %2614, 36
  %2623 = icmp ugt i32 %2619, -36
  br i1 %2623, label %2637, label %2624

; <label>:2624:                                   ; preds = %2621
  %2625 = ptrtoint i8* %2618 to i32
  %2626 = and i32 %2625, 31
  %2627 = icmp eq i32 %2626, 0
  br i1 %2627, label %2628, label %2637

; <label>:2628:                                   ; preds = %2624
  %2629 = add i32 %2625, -4
  %2630 = inttoptr i32 %2629 to i32*
  %2631 = load i32, i32* %2630, align 4, !tbaa !24
  %2632 = icmp ult i32 %2631, %2625
  br i1 %2632, label %2633, label %2637

; <label>:2633:                                   ; preds = %2628
  %2634 = sub i32 %2629, %2631
  %2635 = icmp ugt i32 %2634, 31
  %2636 = inttoptr i32 %2631 to i8*
  br i1 %2635, label %2637, label %2638

; <label>:2637:                                   ; preds = %2633, %2628, %2624, %2621
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2638:                                   ; preds = %2633, %2616
  %2639 = phi i8* [ %2636, %2633 ], [ %2618, %2616 ]
  %2640 = phi i32 [ %2622, %2633 ], [ %2619, %2616 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2639, i32 %2640) #14
  br label %2641

; <label>:2641:                                   ; preds = %2638, %2607
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2608) #14
  %2642 = bitcast %"class.std::basic_string"* %77 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %2642) #14
  %2643 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %77, i32 0, i32 0, i32 0, i32 0, i32 1
  %2644 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %77, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %2644, align 4, !tbaa !81
  store i32 1, i32* %2643, align 4, !tbaa !83
  store i8 10, i8* %2642, align 4
  %2645 = getelementptr inbounds i8, i8* %2642, i32 1
  store i8 0, i8* %2645, align 1, !tbaa !12
  %2646 = call i64 @"\01?generatedText@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %77) #14
  store i64 %2646, i64* bitcast (%struct.SourceText* @"\01?lfSourceText@@3USourceText@@A" to i64*), align 4
  %2647 = load i32, i32* %2644, align 4, !tbaa !81
  %2648 = icmp ugt i32 %2647, 15
  br i1 %2648, label %2649, label %2674

; <label>:2649:                                   ; preds = %2641
  %2650 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %77, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %2651 = load i8*, i8** %2650, align 4, !tbaa !12
  %2652 = add i32 %2647, 1
  %2653 = icmp ugt i32 %2652, 4095
  br i1 %2653, label %2654, label %2671

; <label>:2654:                                   ; preds = %2649
  %2655 = add i32 %2647, 36
  %2656 = icmp ugt i32 %2652, -36
  br i1 %2656, label %2670, label %2657

; <label>:2657:                                   ; preds = %2654
  %2658 = ptrtoint i8* %2651 to i32
  %2659 = and i32 %2658, 31
  %2660 = icmp eq i32 %2659, 0
  br i1 %2660, label %2661, label %2670

; <label>:2661:                                   ; preds = %2657
  %2662 = add i32 %2658, -4
  %2663 = inttoptr i32 %2662 to i32*
  %2664 = load i32, i32* %2663, align 4, !tbaa !24
  %2665 = icmp ult i32 %2664, %2658
  br i1 %2665, label %2666, label %2670

; <label>:2666:                                   ; preds = %2661
  %2667 = sub i32 %2662, %2664
  %2668 = icmp ugt i32 %2667, 31
  %2669 = inttoptr i32 %2664 to i8*
  br i1 %2668, label %2670, label %2671

; <label>:2670:                                   ; preds = %2666, %2661, %2657, %2654
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:2671:                                   ; preds = %2666, %2649
  %2672 = phi i8* [ %2669, %2666 ], [ %2651, %2649 ]
  %2673 = phi i32 [ %2655, %2666 ], [ %2652, %2649 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %2672, i32 %2673) #14
  br label %2674

; <label>:2674:                                   ; preds = %2671, %2641
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %2642) #14
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_G_Generic_error_category@std@@UAEPAXI@Z"(%"class.std::_Generic_error_category"*, i32) unnamed_addr #1 comdat align 2 {
  %3 = bitcast %"class.std::_Generic_error_category"* %0 to i8*
  %4 = icmp eq i32 %1, 0
  br i1 %4, label %6, label %5

; <label>:5:                                      ; preds = %2
  tail call void @"\01??3@YAXPAX@Z"(i8* %3) #21
  br label %6

; <label>:6:                                      ; preds = %5, %2
  ret i8* %3
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc i8* @"\01?name@_Generic_error_category@std@@UBEPBDXZ"(%"class.std::_Generic_error_category"*) unnamed_addr #0 comdat align 2 {
  ret i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01??_C@_07DCLBNMLN@generic?$AA@", i32 0, i32 0)
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z"(%"class.std::_Generic_error_category"*, %"class.std::basic_string"* noalias sret, i32) unnamed_addr #2 comdat align 2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = tail call i8* @"\01?_Syserror_map@std@@YAPBDH@Z"(i32 %2) #14
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %8 = bitcast i32* %6 to i64*
  store i64 0, i64* %8, align 4
  store i32 15, i32* %7, align 4, !tbaa !81
  %9 = bitcast %"class.std::basic_string"* %1 to i8*
  store i8 0, i8* %9, align 4, !tbaa !12
  %10 = tail call i32 @strlen(i8* %5) #14
  %11 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %11) #14
  %12 = icmp ugt i32 %10, 15
  br i1 %12, label %15, label %13

; <label>:13:                                     ; preds = %3
  store i32 %10, i32* %6, align 4, !tbaa !83
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %9, i8* %5, i32 %10, i32 1, i1 false) #14
  %14 = getelementptr inbounds i8, i8* %9, i32 %10
  store i8 0, i8* %14, align 1, !tbaa !12
  br label %17

; <label>:15:                                     ; preds = %3
  %16 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %1, i32 %10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %5) #14
  br label %17

; <label>:17:                                     ; preds = %15, %13
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %11) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc i8* @"\01??_Gerror_category@std@@UAEPAXI@Z"(%"class.std::error_category"*, i32) unnamed_addr #2 comdat align 2 {
  tail call void @llvm.trap() #12
  unreachable
}

; Function Attrs: nounwind
define internal void @_GLOBAL__sub_I_RecursiveInterpreter.cpp() #2 {
  %1 = alloca %"class.std::_List_unchecked_iterator.79", align 4
  %2 = alloca %"class.std::_List_unchecked_const_iterator.30", align 4
  %3 = alloca %"class.std::_List_unchecked_const_iterator", align 4
  %4 = alloca %"class.std::_List_const_iterator.40", align 4
  store i32 0, i32* bitcast (%"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A" to i32*), align 4
  store %"struct.std::_List_node.32"* null, %"struct.std::_List_node.32"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !779
  store i32 0, i32* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !781
  %5 = tail call i8* @"\01??2@YAPAXI@Z"(i32 40) #14
  %6 = ptrtoint i8* %5 to i32
  %7 = bitcast i8* %5 to i32*
  store i32 %6, i32* %7, align 4, !tbaa !23
  %8 = getelementptr inbounds i8, i8* %5, i32 4
  %9 = bitcast i8* %8 to i32*
  store i32 %6, i32* %9, align 4, !tbaa !23
  store i8* %5, i8** bitcast (%"class.std::list.27"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i8**), align 4, !tbaa !23
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !782
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !784
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !785
  store float 1.000000e+00, float* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !70
  tail call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.28"* nonnull getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2), i32 16) #14
  %10 = load i32, i32* bitcast (%"class.std::list.27"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !786
  %11 = bitcast %"class.std::_List_const_iterator.40"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %11) #14
  %12 = bitcast %"class.std::_List_const_iterator.40"* %4 to i32*
  store i32 %10, i32* %12, align 4, !tbaa !592, !alias.scope !786
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.28"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2), i32 16, %"class.std::_List_const_iterator.40"* nonnull dereferenceable(4) %4) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %11) #14
  store i32 7, i32* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 3), align 4, !tbaa !574
  store i32 8, i32* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 4), align 4, !tbaa !640
  %13 = call i32 @atexit(void ()* nonnull @"\01??__FdynamicImports@@YAXXZ") #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !791
  store %"class.std::basic_string"* null, %"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !793
  store %"class.std::basic_string"* null, %"class.std::basic_string"** getelementptr inbounds (%"class.std::vector.56", %"class.std::vector.56"* @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !794
  %14 = call i32 @atexit(void ()* nonnull @"\01??__FlibrarySearchPaths@@YAXXZ") #14
  store i32 0, i32* bitcast (%class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A" to i32*), align 4
  store %"struct.std::_List_node"* null, %"struct.std::_List_node"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !795
  store i32 0, i32* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !797
  %15 = call i8* @"\01??2@YAPAXI@Z"(i32 32) #14
  %16 = ptrtoint i8* %15 to i32
  %17 = bitcast i8* %15 to i32*
  store i32 %16, i32* %17, align 4, !tbaa !23
  %18 = getelementptr inbounds i8, i8* %15, i32 4
  %19 = bitcast i8* %18 to i32*
  store i32 %16, i32* %19, align 4, !tbaa !23
  store i8* %15, i8** bitcast (%"class.std::list"* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 1) to i8**), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !798
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !800
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !801
  store float 1.000000e+00, float* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !70
  call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector"* nonnull getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2), i32 16) #14
  %20 = load i32, i32* bitcast (%"class.std::list"* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !802
  %21 = bitcast %"class.std::_List_unchecked_const_iterator"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %21) #14
  %22 = bitcast %"class.std::_List_unchecked_const_iterator"* %3 to i32*
  store i32 %20, i32* %22, align 4, !alias.scope !807
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector"* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2), i32 16, %"class.std::_List_unchecked_const_iterator"* nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %21) #14
  store i32 7, i32* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 3), align 4, !tbaa !262
  store i32 8, i32* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 4), align 4, !tbaa !298
  %23 = call i32 @atexit(void ()* nonnull @"\01??__FexternalTexts@@YAXXZ") #14
  store i32 0, i32* bitcast (%class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A" to i32*), align 4
  store %"struct.std::_List_node.23"* null, %"struct.std::_List_node.23"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !808
  store i32 0, i32* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !810
  %24 = call i8* @"\01??2@YAPAXI@Z"(i32 20) #14
  %25 = ptrtoint i8* %24 to i32
  %26 = bitcast i8* %24 to i32*
  store i32 %25, i32* %26, align 4, !tbaa !23
  %27 = getelementptr inbounds i8, i8* %24, i32 4
  %28 = bitcast i8* %27 to i32*
  store i32 %25, i32* %28, align 4, !tbaa !23
  store i8* %24, i8** bitcast (%"class.std::list.16"* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1) to i8**), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !811
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !813
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !814
  store float 1.000000e+00, float* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !70
  call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.24"* nonnull getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2), i32 16) #14
  %29 = load i32, i32* bitcast (%"class.std::list.16"* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !815
  %30 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %30) #14
  %31 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %2 to i32*
  store i32 %29, i32* %31, align 4, !alias.scope !820
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@QAEXIABV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@@Z"(%"class.std::vector.24"* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2), i32 16, %"class.std::_List_unchecked_const_iterator.30"* nonnull dereferenceable(4) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %30) #14
  store i32 7, i32* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 3), align 4, !tbaa !118
  store i32 8, i32* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 4), align 4, !tbaa !160
  %32 = call i32 @atexit(void ()* nonnull @"\01??__Fprograms@@YAXXZ") #14
  store i32 0, i32* bitcast (%"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A" to i32*), align 4
  store %"struct.std::_List_node.72"* null, %"struct.std::_List_node.72"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !821
  store i32 0, i32* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !823
  %33 = call i8* @"\01??2@YAPAXI@Z"(i32 36) #14
  %34 = ptrtoint i8* %33 to i32
  %35 = bitcast i8* %33 to i32*
  store i32 %34, i32* %35, align 4, !tbaa !23
  %36 = getelementptr inbounds i8, i8* %33, i32 4
  %37 = bitcast i8* %36 to i32*
  store i32 %34, i32* %37, align 4, !tbaa !23
  store i8* %33, i8** bitcast (%"class.std::list.65"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i8**), align 4, !tbaa !23
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !824
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !826
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !827
  store float 1.000000e+00, float* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !70
  call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.73"* nonnull getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2), i32 16) #14
  %38 = load i32, i32* bitcast (%"class.std::list.65"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !828
  %39 = bitcast %"class.std::_List_unchecked_iterator.79"* %1 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %39) #14
  %40 = bitcast %"class.std::_List_unchecked_iterator.79"* %1 to i32*
  store i32 %38, i32* %40, align 4, !tbaa !833, !alias.scope !828
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.73"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2), i32 16, %"class.std::_List_unchecked_iterator.79"* nonnull dereferenceable(4) %1) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %39) #14
  store i32 7, i32* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 3), align 4, !tbaa !835
  store i32 8, i32* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 4), align 4, !tbaa !840
  %41 = call i32 @atexit(void ()* nonnull @"\01??__Ftexts@@YAXXZ") #14
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !841
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !843
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !844
  %42 = call i32 @atexit(void ()* nonnull @"\01??__Ffiles@@YAXXZ") #14
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !845
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !847
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !848
  %43 = call i32 @atexit(void ()* nonnull @"\01??__FfileStack@@YAXXZ") #14
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !849
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !851
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !852
  %44 = call i32 @atexit(void ()* nonnull @"\01??__FstackCache@@YAXXZ") #14
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !853
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !855
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !856
  %45 = call i32 @atexit(void ()* nonnull @"\01??__Fstack@@YAXXZ") #14
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !857
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !859
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !860
  %46 = call i32 @atexit(void ()* nonnull @"\01??__FastNodeCache@@YAXXZ") #14
  store %struct.Node* null, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !861
  store %struct.Node* null, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !863
  store %struct.Node* null, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !864
  %47 = call i32 @atexit(void ()* nonnull @"\01??__Fnodes@@YAXXZ") #14
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !865
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !867
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !868
  %48 = call i32 @atexit(void ()* nonnull @"\01??__FimportedFunctionArguments@@YAXXZ") #14
  store i64 0, i64* bitcast (i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i64*), align 4
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  store i8 0, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), align 4, !tbaa !12
  %49 = call i32 @atexit(void ()* nonnull @"\01??__FerrorMessage@@YAXXZ") #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FdynamicImports@@YAXXZ"() #2 {
  tail call x86_thiscallcc void @"\01??1?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE@XZ"(%"class.std::_Hash.26"* nonnull getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0)) #14
  ret void
}

; Function Attrs: nounwind
declare i32 @atexit(void ()*) local_unnamed_addr #14

; Function Attrs: nounwind
define internal void @"\01??__FlibrarySearchPaths@@YAXXZ"() #2 {
  tail call x86_thiscallcc void @"\01?_Tidy@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@AAEXXZ"(%"class.std::vector.56"* nonnull @"\01?librarySearchPaths@@3V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@A") #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FexternalTexts@@YAXXZ"() #2 {
  %1 = load %"class.std::_List_unchecked_const_iterator"*, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %"class.std::_List_unchecked_const_iterator"* %1, null
  %3 = ptrtoint %"class.std::_List_unchecked_const_iterator"* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %"class.std::_List_unchecked_const_iterator"* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator"* null, %"class.std::_List_unchecked_const_iterator"** getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  tail call x86_thiscallcc void @"\01??1?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE@XZ"(%"class.std::list"* getelementptr inbounds (%class.Interner, %class.Interner* @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", i32 0, i32 0, i32 0, i32 1)) #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Fprograms@@YAXXZ"() #2 {
  %1 = load %"class.std::_List_unchecked_const_iterator.30"*, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %"class.std::_List_unchecked_const_iterator.30"* %1, null
  %3 = ptrtoint %"class.std::_List_unchecked_const_iterator.30"* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %"class.std::_List_unchecked_const_iterator.30"* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %"class.std::_List_unchecked_const_iterator.30"* null, %"class.std::_List_unchecked_const_iterator.30"** getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  tail call x86_thiscallcc void @"\01?clear@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAEXXZ"(%"class.std::list.16"* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1)) #14
  %32 = load i8*, i8** bitcast (%"class.std::list.16"* getelementptr inbounds (%class.Interner.5, %class.Interner.5* @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0, i32 0, i32 0, i32 1) to i8**), align 4, !tbaa !23
  tail call void @"\01??3@YAXPAXI@Z"(i8* %32, i32 20) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.73"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = bitcast %"class.std::_List_unchecked_iterator.79"** %3 to i32*
  %5 = load i32, i32* %4, align 4, !tbaa !23
  %6 = bitcast %"class.std::vector.73"* %0 to i32*
  %7 = load i32, i32* %6, align 4, !tbaa !23
  %8 = sub i32 %5, %7
  %9 = ashr exact i32 %8, 2
  %10 = icmp eq i32 %1, 0
  br i1 %10, label %31, label %11

; <label>:11:                                     ; preds = %2
  %12 = icmp ugt i32 %1, 1073741823
  br i1 %12, label %13, label %14

; <label>:13:                                     ; preds = %11
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:14:                                     ; preds = %11
  %15 = shl i32 %1, 2
  %16 = icmp ugt i32 %15, 4095
  br i1 %16, label %17, label %29

; <label>:17:                                     ; preds = %14
  %18 = icmp ugt i32 %15, -36
  br i1 %18, label %19, label %20

; <label>:19:                                     ; preds = %17
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:20:                                     ; preds = %17
  %21 = add i32 %15, 35
  %22 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %21) #14
  %23 = ptrtoint i8* %22 to i32
  %24 = add i32 %23, 35
  %25 = and i32 %24, -32
  %26 = inttoptr i32 %25 to i8*
  %27 = inttoptr i32 %25 to i32*
  %28 = getelementptr inbounds i32, i32* %27, i32 -1
  store i32 %23, i32* %28, align 4, !tbaa !24
  br label %31

; <label>:29:                                     ; preds = %14
  %30 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %15) #14
  br label %31

; <label>:31:                                     ; preds = %29, %20, %2
  %32 = phi i8* [ null, %2 ], [ %26, %20 ], [ %30, %29 ]
  %33 = bitcast i8* %32 to %"class.std::_List_unchecked_iterator.79"*
  %34 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %3, align 4, !tbaa !23
  %35 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %36 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %35, align 4, !tbaa !23
  %37 = bitcast %"class.std::_List_unchecked_iterator.79"* %36 to i8*
  %38 = ptrtoint %"class.std::_List_unchecked_iterator.79"* %36 to i32
  %39 = icmp eq %"class.std::_List_unchecked_iterator.79"* %36, %34
  br i1 %39, label %95, label %40

; <label>:40:                                     ; preds = %31
  %41 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %34, i32 -1, i32 0, i32 0
  %42 = ptrtoint %"struct.std::_List_node.72"** %41 to i32
  %43 = sub i32 %42, %38
  %44 = lshr i32 %43, 2
  %45 = add nuw nsw i32 %44, 1
  %46 = icmp ult i32 %45, 8
  br i1 %46, label %81, label %47

; <label>:47:                                     ; preds = %40
  %48 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %34, i32 -1, i32 0, i32 0
  %49 = ptrtoint %"struct.std::_List_node.72"** %48 to i32
  %50 = sub i32 %49, %38
  %51 = lshr i32 %50, 2
  %52 = add i32 %50, 4
  %53 = and i32 %52, -4
  %54 = getelementptr i8, i8* %32, i32 %53
  %55 = add nuw nsw i32 %51, 1
  %56 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %36, i32 %55
  %57 = bitcast %"class.std::_List_unchecked_iterator.79"* %56 to i8*
  %58 = icmp ult i8* %32, %57
  %59 = icmp ugt i8* %54, %37
  %60 = and i1 %58, %59
  br i1 %60, label %81, label %61

; <label>:61:                                     ; preds = %47
  %62 = and i32 %45, 2147483640
  %63 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %33, i32 %62
  %64 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %36, i32 %62
  br label %65

; <label>:65:                                     ; preds = %65, %61
  %66 = phi i32 [ 0, %61 ], [ %77, %65 ]
  %67 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %33, i32 %66
  %68 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %36, i32 %66
  %69 = bitcast %"class.std::_List_unchecked_iterator.79"* %68 to <4 x i32>*
  %70 = load <4 x i32>, <4 x i32>* %69, align 4, !alias.scope !869
  %71 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %68, i32 4
  %72 = bitcast %"class.std::_List_unchecked_iterator.79"* %71 to <4 x i32>*
  %73 = load <4 x i32>, <4 x i32>* %72, align 4, !alias.scope !869
  %74 = bitcast %"class.std::_List_unchecked_iterator.79"* %67 to <4 x i32>*
  store <4 x i32> %70, <4 x i32>* %74, align 4, !alias.scope !872, !noalias !869
  %75 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %67, i32 4
  %76 = bitcast %"class.std::_List_unchecked_iterator.79"* %75 to <4 x i32>*
  store <4 x i32> %73, <4 x i32>* %76, align 4, !alias.scope !872, !noalias !869
  %77 = add i32 %66, 8
  %78 = icmp eq i32 %77, %62
  br i1 %78, label %79, label %65, !llvm.loop !874

; <label>:79:                                     ; preds = %65
  %80 = icmp eq i32 %45, %62
  br i1 %80, label %93, label %81

; <label>:81:                                     ; preds = %79, %47, %40
  %82 = phi %"class.std::_List_unchecked_iterator.79"* [ %33, %47 ], [ %33, %40 ], [ %63, %79 ]
  %83 = phi %"class.std::_List_unchecked_iterator.79"* [ %36, %47 ], [ %36, %40 ], [ %64, %79 ]
  br label %84

; <label>:84:                                     ; preds = %84, %81
  %85 = phi %"class.std::_List_unchecked_iterator.79"* [ %90, %84 ], [ %82, %81 ]
  %86 = phi %"class.std::_List_unchecked_iterator.79"* [ %91, %84 ], [ %83, %81 ]
  %87 = bitcast %"class.std::_List_unchecked_iterator.79"* %86 to i32*
  %88 = bitcast %"class.std::_List_unchecked_iterator.79"* %85 to i32*
  %89 = load i32, i32* %87, align 4
  store i32 %89, i32* %88, align 4
  %90 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %85, i32 1
  %91 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %86, i32 1
  %92 = icmp eq %"class.std::_List_unchecked_iterator.79"* %91, %34
  br i1 %92, label %93, label %84, !llvm.loop !875

; <label>:93:                                     ; preds = %84, %79
  %94 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %35, align 4, !tbaa !23
  br label %95

; <label>:95:                                     ; preds = %93, %31
  %96 = phi %"class.std::_List_unchecked_iterator.79"* [ %94, %93 ], [ %34, %31 ]
  %97 = icmp eq %"class.std::_List_unchecked_iterator.79"* %96, null
  %98 = ptrtoint %"class.std::_List_unchecked_iterator.79"* %96 to i32
  %99 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  br i1 %97, label %128, label %100

; <label>:100:                                    ; preds = %95
  %101 = bitcast %"class.std::_List_unchecked_iterator.79"** %99 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !23
  %103 = sub i32 %102, %98
  %104 = ashr exact i32 %103, 2
  %105 = icmp ugt i32 %104, 1073741823
  br i1 %105, label %124, label %106

; <label>:106:                                    ; preds = %100
  %107 = bitcast %"class.std::_List_unchecked_iterator.79"* %96 to i8*
  %108 = icmp ugt i32 %103, 4095
  br i1 %108, label %109, label %125

; <label>:109:                                    ; preds = %106
  %110 = add i32 %103, 35
  %111 = icmp ult i32 %103, -35
  %112 = and i32 %98, 31
  %113 = icmp eq i32 %112, 0
  %114 = and i1 %113, %111
  br i1 %114, label %115, label %124

; <label>:115:                                    ; preds = %109
  %116 = add i32 %98, -4
  %117 = inttoptr i32 %116 to i32*
  %118 = load i32, i32* %117, align 4, !tbaa !24
  %119 = icmp ult i32 %118, %98
  br i1 %119, label %120, label %124

; <label>:120:                                    ; preds = %115
  %121 = sub i32 %116, %118
  %122 = icmp ugt i32 %121, 31
  %123 = inttoptr i32 %118 to i8*
  br i1 %122, label %124, label %125

; <label>:124:                                    ; preds = %120, %115, %109, %100
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:125:                                    ; preds = %120, %106
  %126 = phi i8* [ %123, %120 ], [ %107, %106 ]
  %127 = phi i32 [ %110, %120 ], [ %103, %106 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %126, i32 %127) #14
  br label %128

; <label>:128:                                    ; preds = %125, %95
  %129 = bitcast %"class.std::vector.73"* %0 to i8**
  store i8* %32, i8** %129, align 4, !tbaa !23
  %130 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %33, i32 %9
  store %"class.std::_List_unchecked_iterator.79"* %130, %"class.std::_List_unchecked_iterator.79"** %3, align 4, !tbaa !23
  %131 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %33, i32 %1
  store %"class.std::_List_unchecked_iterator.79"* %131, %"class.std::_List_unchecked_iterator.79"** %99, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.73"*, i32, %"class.std::_List_unchecked_iterator.79"* dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %"class.std::_List_unchecked_iterator.79"** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.73"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %"class.std::_List_unchecked_iterator.79"** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 2
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %"class.std::_List_unchecked_iterator.79"*
  %18 = inttoptr i32 %8 to i8*
  %19 = inttoptr i32 %6 to %"class.std::_List_unchecked_iterator.79"*
  br i1 %16, label %20, label %130

; <label>:20:                                     ; preds = %3
  %21 = icmp ugt i32 %1, 1073741823
  br i1 %21, label %22, label %23

; <label>:22:                                     ; preds = %20
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #22
  unreachable

; <label>:23:                                     ; preds = %20
  %24 = lshr i32 %15, 1
  %25 = sub nsw i32 1073741823, %24
  %26 = icmp ugt i32 %15, %25
  br i1 %26, label %31, label %27

; <label>:27:                                     ; preds = %23
  %28 = add i32 %24, %15
  %29 = icmp ult i32 %28, %1
  %30 = select i1 %29, i32 %1, i32 %28
  br label %31

; <label>:31:                                     ; preds = %27, %23
  %32 = phi i32 [ %30, %27 ], [ %1, %23 ]
  %33 = getelementptr inbounds %"class.std::vector.73", %"class.std::vector.73"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = icmp eq i32 %8, 0
  br i1 %34, label %58, label %35

; <label>:35:                                     ; preds = %31
  %36 = icmp ugt i32 %15, 1073741823
  br i1 %36, label %53, label %37

; <label>:37:                                     ; preds = %35
  %38 = icmp ugt i32 %14, 4095
  br i1 %38, label %39, label %54

; <label>:39:                                     ; preds = %37
  %40 = icmp ult i32 %14, -35
  %41 = and i32 %8, 31
  %42 = icmp eq i32 %41, 0
  %43 = and i1 %40, %42
  br i1 %43, label %44, label %53

; <label>:44:                                     ; preds = %39
  %45 = add i32 %14, 35
  %46 = add i32 %8, -4
  %47 = inttoptr i32 %46 to i32*
  %48 = load i32, i32* %47, align 4, !tbaa !24
  %49 = icmp uge i32 %48, %8
  %50 = sub i32 %46, %48
  %51 = icmp ugt i32 %50, 31
  %52 = or i1 %49, %51
  br i1 %52, label %53, label %54

; <label>:53:                                     ; preds = %44, %39, %35
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:54:                                     ; preds = %44, %37
  %55 = phi i32 [ %8, %37 ], [ %48, %44 ]
  %56 = phi i32 [ %14, %37 ], [ %45, %44 ]
  %57 = inttoptr i32 %55 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %57, i32 %56) #14
  br label %58

; <label>:58:                                     ; preds = %54, %31
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** %33, align 4, !tbaa !23
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** %4, align 4, !tbaa !23
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** %11, align 4, !tbaa !23
  %59 = icmp eq i32 %32, 0
  br i1 %59, label %86, label %60

; <label>:60:                                     ; preds = %58
  %61 = icmp ugt i32 %32, 1073741823
  br i1 %61, label %62, label %63

; <label>:62:                                     ; preds = %60
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:63:                                     ; preds = %60
  %64 = shl i32 %32, 2
  %65 = icmp ugt i32 %64, 4095
  br i1 %65, label %66, label %78

; <label>:66:                                     ; preds = %63
  %67 = icmp ugt i32 %64, -36
  br i1 %67, label %68, label %69

; <label>:68:                                     ; preds = %66
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:69:                                     ; preds = %66
  %70 = add i32 %64, 35
  %71 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %70) #14
  %72 = ptrtoint i8* %71 to i32
  %73 = add i32 %72, 35
  %74 = and i32 %73, -32
  %75 = inttoptr i32 %74 to i8*
  %76 = inttoptr i32 %74 to i32*
  %77 = getelementptr inbounds i32, i32* %76, i32 -1
  store i32 %72, i32* %77, align 4, !tbaa !24
  br label %80

; <label>:78:                                     ; preds = %63
  %79 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %64) #14
  br label %80

; <label>:80:                                     ; preds = %78, %69
  %81 = phi i8* [ %75, %69 ], [ %79, %78 ]
  %82 = bitcast i8* %81 to %"class.std::_List_unchecked_iterator.79"*
  %83 = bitcast %"class.std::vector.73"* %0 to i8**
  store i8* %81, i8** %83, align 4, !tbaa !23
  %84 = ptrtoint i8* %81 to i32
  store i32 %84, i32* %5, align 4, !tbaa !23
  %85 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %82, i32 %32
  store %"class.std::_List_unchecked_iterator.79"* %85, %"class.std::_List_unchecked_iterator.79"** %11, align 4, !tbaa !23
  br label %86

; <label>:86:                                     ; preds = %80, %58
  %87 = phi i8* [ %81, %80 ], [ null, %58 ]
  %88 = phi %"class.std::_List_unchecked_iterator.79"* [ %82, %80 ], [ null, %58 ]
  %89 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i32*
  %90 = icmp ult i32 %1, 8
  br i1 %90, label %117, label %91

; <label>:91:                                     ; preds = %86
  %92 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %88, i32 %1
  %93 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i8*
  %94 = getelementptr i8, i8* %93, i32 1
  %95 = icmp ult i8* %87, %94
  %96 = icmp ugt %"class.std::_List_unchecked_iterator.79"* %92, %2
  %97 = and i1 %95, %96
  br i1 %97, label %117, label %98

; <label>:98:                                     ; preds = %91
  %99 = and i32 %1, -8
  %100 = sub i32 %1, %99
  %101 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %88, i32 %99
  %102 = load i32, i32* %89, align 4, !alias.scope !876
  %103 = insertelement <4 x i32> undef, i32 %102, i32 0
  %104 = shufflevector <4 x i32> %103, <4 x i32> undef, <4 x i32> zeroinitializer
  %105 = insertelement <4 x i32> undef, i32 %102, i32 0
  %106 = shufflevector <4 x i32> %105, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %107

; <label>:107:                                    ; preds = %107, %98
  %108 = phi i32 [ 0, %98 ], [ %113, %107 ]
  %109 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %88, i32 %108
  %110 = bitcast %"class.std::_List_unchecked_iterator.79"* %109 to <4 x i32>*
  store <4 x i32> %104, <4 x i32>* %110, align 4, !alias.scope !879, !noalias !876
  %111 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %109, i32 4
  %112 = bitcast %"class.std::_List_unchecked_iterator.79"* %111 to <4 x i32>*
  store <4 x i32> %106, <4 x i32>* %112, align 4, !alias.scope !879, !noalias !876
  %113 = add i32 %108, 8
  %114 = icmp eq i32 %113, %99
  br i1 %114, label %115, label %107, !llvm.loop !881

; <label>:115:                                    ; preds = %107
  %116 = icmp eq i32 %99, %1
  br i1 %116, label %128, label %117

; <label>:117:                                    ; preds = %115, %91, %86
  %118 = phi i32 [ %1, %91 ], [ %1, %86 ], [ %100, %115 ]
  %119 = phi %"class.std::_List_unchecked_iterator.79"* [ %88, %91 ], [ %88, %86 ], [ %101, %115 ]
  br label %120

; <label>:120:                                    ; preds = %120, %117
  %121 = phi i32 [ %125, %120 ], [ %118, %117 ]
  %122 = phi %"class.std::_List_unchecked_iterator.79"* [ %126, %120 ], [ %119, %117 ]
  %123 = bitcast %"class.std::_List_unchecked_iterator.79"* %122 to i32*
  %124 = load i32, i32* %89, align 4
  store i32 %124, i32* %123, align 4
  %125 = add i32 %121, -1
  %126 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %122, i32 1
  %127 = icmp eq i32 %125, 0
  br i1 %127, label %128, label %120, !llvm.loop !882

; <label>:128:                                    ; preds = %120, %115
  %129 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %88, i32 %1
  br label %280

; <label>:130:                                    ; preds = %3
  %131 = icmp ult i32 %10, %1
  br i1 %131, label %132, label %233

; <label>:132:                                    ; preds = %130
  %133 = icmp eq %"class.std::_List_unchecked_iterator.79"* %17, %19
  br i1 %133, label %186, label %134

; <label>:134:                                    ; preds = %132
  %135 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i32*
  %136 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %19, i32 -1, i32 0, i32 0
  %137 = bitcast %"struct.std::_List_node.72"** %136 to i8*
  %138 = sub i32 0, %8
  %139 = getelementptr i8, i8* %137, i32 %138
  %140 = ptrtoint i8* %139 to i32
  %141 = lshr i32 %140, 2
  %142 = add nuw nsw i32 %141, 1
  %143 = icmp ult i32 %142, 8
  br i1 %143, label %176, label %144

; <label>:144:                                    ; preds = %134
  %145 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %19, i32 -1, i32 0, i32 0
  %146 = bitcast %"struct.std::_List_node.72"** %145 to i8*
  %147 = sub i32 0, %8
  %148 = getelementptr i8, i8* %146, i32 %147
  %149 = ptrtoint i8* %148 to i32
  %150 = lshr i32 %149, 2
  %151 = add nuw nsw i32 %150, 1
  %152 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %151
  %153 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i8*
  %154 = getelementptr i8, i8* %153, i32 1
  %155 = icmp ugt i8* %154, %18
  %156 = icmp ugt %"class.std::_List_unchecked_iterator.79"* %152, %2
  %157 = and i1 %155, %156
  br i1 %157, label %176, label %158

; <label>:158:                                    ; preds = %144
  %159 = and i32 %142, 2147483640
  %160 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %159
  %161 = load i32, i32* %135, align 4, !alias.scope !883
  %162 = insertelement <4 x i32> undef, i32 %161, i32 0
  %163 = shufflevector <4 x i32> %162, <4 x i32> undef, <4 x i32> zeroinitializer
  %164 = insertelement <4 x i32> undef, i32 %161, i32 0
  %165 = shufflevector <4 x i32> %164, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %166

; <label>:166:                                    ; preds = %166, %158
  %167 = phi i32 [ 0, %158 ], [ %172, %166 ]
  %168 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %167
  %169 = bitcast %"class.std::_List_unchecked_iterator.79"* %168 to <4 x i32>*
  store <4 x i32> %163, <4 x i32>* %169, align 4, !alias.scope !886, !noalias !883
  %170 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %168, i32 4
  %171 = bitcast %"class.std::_List_unchecked_iterator.79"* %170 to <4 x i32>*
  store <4 x i32> %165, <4 x i32>* %171, align 4, !alias.scope !886, !noalias !883
  %172 = add i32 %167, 8
  %173 = icmp eq i32 %172, %159
  br i1 %173, label %174, label %166, !llvm.loop !888

; <label>:174:                                    ; preds = %166
  %175 = icmp eq i32 %142, %159
  br i1 %175, label %184, label %176

; <label>:176:                                    ; preds = %174, %144, %134
  %177 = phi %"class.std::_List_unchecked_iterator.79"* [ %17, %144 ], [ %17, %134 ], [ %160, %174 ]
  br label %178

; <label>:178:                                    ; preds = %178, %176
  %179 = phi %"class.std::_List_unchecked_iterator.79"* [ %182, %178 ], [ %177, %176 ]
  %180 = bitcast %"class.std::_List_unchecked_iterator.79"* %179 to i32*
  %181 = load i32, i32* %135, align 4
  store i32 %181, i32* %180, align 4
  %182 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %179, i32 1
  %183 = icmp eq %"class.std::_List_unchecked_iterator.79"* %182, %19
  br i1 %183, label %184, label %178, !llvm.loop !889

; <label>:184:                                    ; preds = %178, %174
  %185 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %4, align 4, !tbaa !23
  br label %186

; <label>:186:                                    ; preds = %184, %132
  %187 = phi %"class.std::_List_unchecked_iterator.79"* [ %185, %184 ], [ %17, %132 ]
  %188 = bitcast %"class.std::_List_unchecked_iterator.79"* %187 to i8*
  %189 = sub i32 %1, %10
  %190 = icmp eq i32 %189, 0
  br i1 %190, label %280, label %191

; <label>:191:                                    ; preds = %186
  %192 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i32*
  %193 = icmp ult i32 %189, 8
  br i1 %193, label %220, label %194

; <label>:194:                                    ; preds = %191
  %195 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %187, i32 %189
  %196 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i8*
  %197 = getelementptr i8, i8* %196, i32 1
  %198 = icmp ugt i8* %197, %188
  %199 = icmp ugt %"class.std::_List_unchecked_iterator.79"* %195, %2
  %200 = and i1 %198, %199
  br i1 %200, label %220, label %201

; <label>:201:                                    ; preds = %194
  %202 = and i32 %189, -8
  %203 = sub i32 %189, %202
  %204 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %187, i32 %202
  %205 = load i32, i32* %192, align 4, !alias.scope !890
  %206 = insertelement <4 x i32> undef, i32 %205, i32 0
  %207 = shufflevector <4 x i32> %206, <4 x i32> undef, <4 x i32> zeroinitializer
  %208 = insertelement <4 x i32> undef, i32 %205, i32 0
  %209 = shufflevector <4 x i32> %208, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %210

; <label>:210:                                    ; preds = %210, %201
  %211 = phi i32 [ 0, %201 ], [ %216, %210 ]
  %212 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %187, i32 %211
  %213 = bitcast %"class.std::_List_unchecked_iterator.79"* %212 to <4 x i32>*
  store <4 x i32> %207, <4 x i32>* %213, align 4, !alias.scope !893, !noalias !890
  %214 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %212, i32 4
  %215 = bitcast %"class.std::_List_unchecked_iterator.79"* %214 to <4 x i32>*
  store <4 x i32> %209, <4 x i32>* %215, align 4, !alias.scope !893, !noalias !890
  %216 = add i32 %211, 8
  %217 = icmp eq i32 %216, %202
  br i1 %217, label %218, label %210, !llvm.loop !895

; <label>:218:                                    ; preds = %210
  %219 = icmp eq i32 %189, %202
  br i1 %219, label %231, label %220

; <label>:220:                                    ; preds = %218, %194, %191
  %221 = phi i32 [ %189, %194 ], [ %189, %191 ], [ %203, %218 ]
  %222 = phi %"class.std::_List_unchecked_iterator.79"* [ %187, %194 ], [ %187, %191 ], [ %204, %218 ]
  br label %223

; <label>:223:                                    ; preds = %223, %220
  %224 = phi i32 [ %228, %223 ], [ %221, %220 ]
  %225 = phi %"class.std::_List_unchecked_iterator.79"* [ %229, %223 ], [ %222, %220 ]
  %226 = bitcast %"class.std::_List_unchecked_iterator.79"* %225 to i32*
  %227 = load i32, i32* %192, align 4
  store i32 %227, i32* %226, align 4
  %228 = add i32 %224, -1
  %229 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %225, i32 1
  %230 = icmp eq i32 %228, 0
  br i1 %230, label %231, label %223, !llvm.loop !896

; <label>:231:                                    ; preds = %223, %218
  %232 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %187, i32 %189
  br label %280

; <label>:233:                                    ; preds = %130
  %234 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %1
  %235 = icmp eq i32 %1, 0
  br i1 %235, label %280, label %236

; <label>:236:                                    ; preds = %233
  %237 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i32*
  %238 = shl i32 %1, 2
  %239 = add i32 %238, -4
  %240 = lshr exact i32 %239, 2
  %241 = add nuw nsw i32 %240, 1
  %242 = icmp ult i32 %241, 8
  br i1 %242, label %272, label %243

; <label>:243:                                    ; preds = %236
  %244 = shl i32 %1, 2
  %245 = add i32 %244, -4
  %246 = lshr exact i32 %245, 2
  %247 = add nuw nsw i32 %246, 1
  %248 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %247
  %249 = bitcast %"class.std::_List_unchecked_iterator.79"* %2 to i8*
  %250 = getelementptr i8, i8* %249, i32 1
  %251 = icmp ugt i8* %250, %18
  %252 = icmp ugt %"class.std::_List_unchecked_iterator.79"* %248, %2
  %253 = and i1 %251, %252
  br i1 %253, label %272, label %254

; <label>:254:                                    ; preds = %243
  %255 = and i32 %241, 2147483640
  %256 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %255
  %257 = load i32, i32* %237, align 4, !alias.scope !897
  %258 = insertelement <4 x i32> undef, i32 %257, i32 0
  %259 = shufflevector <4 x i32> %258, <4 x i32> undef, <4 x i32> zeroinitializer
  %260 = insertelement <4 x i32> undef, i32 %257, i32 0
  %261 = shufflevector <4 x i32> %260, <4 x i32> undef, <4 x i32> zeroinitializer
  br label %262

; <label>:262:                                    ; preds = %262, %254
  %263 = phi i32 [ 0, %254 ], [ %268, %262 ]
  %264 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %17, i32 %263
  %265 = bitcast %"class.std::_List_unchecked_iterator.79"* %264 to <4 x i32>*
  store <4 x i32> %259, <4 x i32>* %265, align 4, !alias.scope !900, !noalias !897
  %266 = getelementptr %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %264, i32 4
  %267 = bitcast %"class.std::_List_unchecked_iterator.79"* %266 to <4 x i32>*
  store <4 x i32> %261, <4 x i32>* %267, align 4, !alias.scope !900, !noalias !897
  %268 = add i32 %263, 8
  %269 = icmp eq i32 %268, %255
  br i1 %269, label %270, label %262, !llvm.loop !902

; <label>:270:                                    ; preds = %262
  %271 = icmp eq i32 %241, %255
  br i1 %271, label %280, label %272

; <label>:272:                                    ; preds = %270, %243, %236
  %273 = phi %"class.std::_List_unchecked_iterator.79"* [ %17, %243 ], [ %17, %236 ], [ %256, %270 ]
  br label %274

; <label>:274:                                    ; preds = %274, %272
  %275 = phi %"class.std::_List_unchecked_iterator.79"* [ %278, %274 ], [ %273, %272 ]
  %276 = bitcast %"class.std::_List_unchecked_iterator.79"* %275 to i32*
  %277 = load i32, i32* %237, align 4
  store i32 %277, i32* %276, align 4
  %278 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %275, i32 1
  %279 = icmp eq %"class.std::_List_unchecked_iterator.79"* %278, %234
  br i1 %279, label %280, label %274, !llvm.loop !903

; <label>:280:                                    ; preds = %274, %270, %233, %231, %186, %128
  %281 = phi %"class.std::_List_unchecked_iterator.79"* [ %129, %128 ], [ %187, %186 ], [ %232, %231 ], [ %234, %233 ], [ %234, %270 ], [ %234, %274 ]
  store %"class.std::_List_unchecked_iterator.79"* %281, %"class.std::_List_unchecked_iterator.79"** %4, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Ftexts@@YAXXZ"() #2 {
  %1 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %"class.std::_List_unchecked_iterator.79"* %1, null
  %3 = ptrtoint %"class.std::_List_unchecked_iterator.79"* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %"class.std::_List_unchecked_iterator.79"* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %"class.std::_List_unchecked_iterator.79"* null, %"class.std::_List_unchecked_iterator.79"** getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  tail call x86_thiscallcc void @"\01??1?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE@XZ"(%"class.std::list.65"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1)) #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Ffiles@@YAXXZ"() #2 {
  %1 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %struct.File* %1, null
  br i1 %2, label %41, label %3

; <label>:3:                                      ; preds = %0
  %4 = ptrtoint %struct.File* %1 to i32
  %5 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %6 = icmp eq %struct.File* %1, %5
  br i1 %6, label %14, label %7

; <label>:7:                                      ; preds = %3
  br label %8

; <label>:8:                                      ; preds = %8, %7
  %9 = phi %struct.File* [ %10, %8 ], [ %1, %7 ]
  tail call x86_thiscallcc void @"\01??1File@@QAE@XZ"(%struct.File* %9) #14
  %10 = getelementptr inbounds %struct.File, %struct.File* %9, i32 1
  %11 = icmp eq %struct.File* %10, %5
  br i1 %11, label %12, label %8

; <label>:12:                                     ; preds = %8
  %13 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %14

; <label>:14:                                     ; preds = %12, %3
  %15 = phi i32 [ %13, %12 ], [ %4, %3 ]
  %16 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %17 = sub i32 %16, %15
  %18 = sdiv exact i32 %17, 56
  %19 = icmp ugt i32 %18, 76695844
  br i1 %19, label %36, label %20

; <label>:20:                                     ; preds = %14
  %21 = icmp ugt i32 %17, 4095
  br i1 %21, label %22, label %37

; <label>:22:                                     ; preds = %20
  %23 = icmp ult i32 %17, -35
  %24 = and i32 %15, 31
  %25 = icmp eq i32 %24, 0
  %26 = and i1 %25, %23
  br i1 %26, label %27, label %36

; <label>:27:                                     ; preds = %22
  %28 = add i32 %17, 35
  %29 = add i32 %15, -4
  %30 = inttoptr i32 %29 to i32*
  %31 = load i32, i32* %30, align 4, !tbaa !24
  %32 = icmp uge i32 %31, %15
  %33 = sub i32 %29, %31
  %34 = icmp ugt i32 %33, 31
  %35 = or i1 %32, %34
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %27, %22, %14
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:37:                                     ; preds = %27, %20
  %38 = phi i32 [ %15, %20 ], [ %31, %27 ]
  %39 = phi i32 [ %17, %20 ], [ %28, %27 ]
  %40 = inttoptr i32 %38 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %40, i32 %39) #14
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %struct.File* null, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %41

; <label>:41:                                     ; preds = %37, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FfileStack@@YAXXZ"() #2 {
  %1 = load i32*, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq i32* %1, null
  %3 = ptrtoint i32* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast i32* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store i32* null, i32** getelementptr inbounds (%"class.std::vector.34", %"class.std::vector.34"* @"\01?fileStack@@3V?$vector@IV?$allocator@I@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FstackCache@@YAXXZ"() #2 {
  %1 = load %"class.std::vector.37"**, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %"class.std::vector.37"** %1, null
  %3 = ptrtoint %"class.std::vector.37"** %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %"class.std::vector.37"** %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %"class.std::vector.37"** null, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Fstack@@YAXXZ"() #2 {
  %1 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %class.variant.43* %1, null
  %3 = ptrtoint %class.variant.43* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 4
  %8 = icmp ugt i32 %7, 268435455
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %class.variant.43* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FastNodeCache@@YAXXZ"() #2 {
  %1 = load %"class.std::vector.4"**, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %"class.std::vector.4"** %1, null
  %3 = ptrtoint %"class.std::vector.4"** %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 2
  %8 = icmp ugt i32 %7, 1073741823
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %"class.std::vector.4"** %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %"class.std::vector.4"** null, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Fnodes@@YAXXZ"() #2 {
  tail call x86_thiscallcc void @"\01?_Tidy@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXXZ"(%"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A") #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FimportedFunctionArguments@@YAXXZ"() #2 {
  %1 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = icmp eq %class.variant.43* %1, null
  %3 = ptrtoint %class.variant.43* %1 to i32
  br i1 %2, label %31, label %4

; <label>:4:                                      ; preds = %0
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %6 = sub i32 %5, %3
  %7 = ashr exact i32 %6, 4
  %8 = icmp ugt i32 %7, 268435455
  br i1 %8, label %27, label %9

; <label>:9:                                      ; preds = %4
  %10 = bitcast %class.variant.43* %1 to i8*
  %11 = icmp ugt i32 %6, 4095
  br i1 %11, label %12, label %28

; <label>:12:                                     ; preds = %9
  %13 = add i32 %6, 35
  %14 = icmp ult i32 %6, -35
  %15 = and i32 %3, 31
  %16 = icmp eq i32 %15, 0
  %17 = and i1 %16, %14
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %12
  %19 = add i32 %3, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %3
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %12, %4
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %9
  %29 = phi i8* [ %26, %23 ], [ %10, %9 ]
  %30 = phi i32 [ %13, %23 ], [ %6, %9 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  store %class.variant.43* null, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !23
  br label %31

; <label>:31:                                     ; preds = %28, %0
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__FerrorMessage@@YAXXZ"() #2 {
  %1 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %2 = icmp ugt i32 %1, 15
  br i1 %2, label %3, label %27

; <label>:3:                                      ; preds = %0
  %4 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %5 = add i32 %1, 1
  %6 = icmp ugt i32 %5, 4095
  br i1 %6, label %7, label %24

; <label>:7:                                      ; preds = %3
  %8 = add i32 %1, 36
  %9 = icmp ugt i32 %5, -36
  br i1 %9, label %23, label %10

; <label>:10:                                     ; preds = %7
  %11 = ptrtoint i8* %4 to i32
  %12 = and i32 %11, 31
  %13 = icmp eq i32 %12, 0
  br i1 %13, label %14, label %23

; <label>:14:                                     ; preds = %10
  %15 = add i32 %11, -4
  %16 = inttoptr i32 %15 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !24
  %18 = icmp ult i32 %17, %11
  br i1 %18, label %19, label %23

; <label>:19:                                     ; preds = %14
  %20 = sub i32 %15, %17
  %21 = icmp ugt i32 %20, 31
  %22 = inttoptr i32 %17 to i8*
  br i1 %21, label %23, label %24

; <label>:23:                                     ; preds = %19, %14, %10, %7
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:24:                                     ; preds = %19, %3
  %25 = phi i8* [ %22, %19 ], [ %4, %3 ]
  %26 = phi i32 [ %8, %19 ], [ %5, %3 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %25, i32 %26) #14
  br label %27

; <label>:27:                                     ; preds = %24, %0
  store i32 0, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  store i8 0, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), align 4, !tbaa !12
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Tidy@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXXZ"(%"class.std::vector.117"*) local_unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %struct.Node*, %struct.Node** %2, align 4, !tbaa !23
  %4 = icmp eq %struct.Node* %3, null
  br i1 %4, label %82, label %5

; <label>:5:                                      ; preds = %1
  %6 = ptrtoint %struct.Node* %3 to i32
  %7 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load %struct.Node*, %struct.Node** %7, align 4, !tbaa !23
  %9 = icmp eq %struct.Node* %3, %8
  br i1 %9, label %53, label %10

; <label>:10:                                     ; preds = %5
  br label %11

; <label>:11:                                     ; preds = %47, %10
  %12 = phi %struct.Node* [ %48, %47 ], [ %3, %10 ]
  %13 = getelementptr inbounds %struct.Node, %struct.Node* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %14 = load %struct.Field*, %struct.Field** %13, align 4, !tbaa !23
  %15 = icmp eq %struct.Field* %14, null
  %16 = ptrtoint %struct.Field* %14 to i32
  br i1 %15, label %47, label %17

; <label>:17:                                     ; preds = %11
  %18 = getelementptr inbounds %struct.Node, %struct.Node* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %19 = getelementptr inbounds %struct.Node, %struct.Node* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %20 = bitcast %struct.Field** %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !23
  %22 = sub i32 %21, %16
  %23 = sdiv exact i32 %22, 24
  %24 = icmp ugt i32 %23, 178956970
  br i1 %24, label %43, label %25

; <label>:25:                                     ; preds = %17
  %26 = bitcast %struct.Field* %14 to i8*
  %27 = icmp ugt i32 %22, 4095
  br i1 %27, label %28, label %44

; <label>:28:                                     ; preds = %25
  %29 = add i32 %22, 35
  %30 = icmp ult i32 %22, -35
  %31 = and i32 %16, 31
  %32 = icmp eq i32 %31, 0
  %33 = and i1 %32, %30
  br i1 %33, label %34, label %43

; <label>:34:                                     ; preds = %28
  %35 = add i32 %16, -4
  %36 = inttoptr i32 %35 to i32*
  %37 = load i32, i32* %36, align 4, !tbaa !24
  %38 = icmp ult i32 %37, %16
  br i1 %38, label %39, label %43

; <label>:39:                                     ; preds = %34
  %40 = sub i32 %35, %37
  %41 = icmp ugt i32 %40, 31
  %42 = inttoptr i32 %37 to i8*
  br i1 %41, label %43, label %44

; <label>:43:                                     ; preds = %39, %34, %28, %17
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:44:                                     ; preds = %39, %25
  %45 = phi i8* [ %42, %39 ], [ %26, %25 ]
  %46 = phi i32 [ %29, %39 ], [ %22, %25 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %45, i32 %46) #14
  store %struct.Field* null, %struct.Field** %13, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %18, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %19, align 4, !tbaa !23
  br label %47

; <label>:47:                                     ; preds = %44, %11
  %48 = getelementptr inbounds %struct.Node, %struct.Node* %12, i32 1
  %49 = icmp eq %struct.Node* %48, %8
  br i1 %49, label %50, label %11

; <label>:50:                                     ; preds = %47
  %51 = bitcast %"class.std::vector.117"* %0 to i32*
  %52 = load i32, i32* %51, align 4, !tbaa !23
  br label %53

; <label>:53:                                     ; preds = %50, %5
  %54 = phi i32 [ %52, %50 ], [ %6, %5 ]
  %55 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %56 = bitcast %struct.Node** %55 to i32*
  %57 = load i32, i32* %56, align 4, !tbaa !23
  %58 = sub i32 %57, %54
  %59 = sdiv exact i32 %58, 12
  %60 = icmp ugt i32 %59, 357913941
  br i1 %60, label %77, label %61

; <label>:61:                                     ; preds = %53
  %62 = icmp ugt i32 %58, 4095
  br i1 %62, label %63, label %78

; <label>:63:                                     ; preds = %61
  %64 = icmp ult i32 %58, -35
  %65 = and i32 %54, 31
  %66 = icmp eq i32 %65, 0
  %67 = and i1 %64, %66
  br i1 %67, label %68, label %77

; <label>:68:                                     ; preds = %63
  %69 = add i32 %58, 35
  %70 = add i32 %54, -4
  %71 = inttoptr i32 %70 to i32*
  %72 = load i32, i32* %71, align 4, !tbaa !24
  %73 = icmp uge i32 %72, %54
  %74 = sub i32 %70, %72
  %75 = icmp ugt i32 %74, 31
  %76 = or i1 %73, %75
  br i1 %76, label %77, label %78

; <label>:77:                                     ; preds = %68, %63, %53
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:78:                                     ; preds = %68, %61
  %79 = phi i32 [ %54, %61 ], [ %72, %68 ]
  %80 = phi i32 [ %58, %61 ], [ %69, %68 ]
  %81 = inttoptr i32 %79 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %81, i32 %80) #14
  store %struct.Node* null, %struct.Node** %2, align 4, !tbaa !23
  store %struct.Node* null, %struct.Node** %7, align 4, !tbaa !23
  store %struct.Node* null, %struct.Node** %55, align 4, !tbaa !23
  br label %82

; <label>:82:                                     ; preds = %78, %1
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc void @"\01??1File@@QAE@XZ"(%struct.File*) unnamed_addr #1 comdat align 2 {
  %2 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 1
  %3 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %4 = load i32, i32* %3, align 4, !tbaa !81
  %5 = icmp ugt i32 %4, 15
  br i1 %5, label %6, label %31

; <label>:6:                                      ; preds = %1
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %8 = load i8*, i8** %7, align 4, !tbaa !12
  %9 = add i32 %4, 1
  %10 = icmp ugt i32 %9, 4095
  br i1 %10, label %11, label %28

; <label>:11:                                     ; preds = %6
  %12 = add i32 %4, 36
  %13 = icmp ugt i32 %9, -36
  br i1 %13, label %27, label %14

; <label>:14:                                     ; preds = %11
  %15 = ptrtoint i8* %8 to i32
  %16 = and i32 %15, 31
  %17 = icmp eq i32 %16, 0
  br i1 %17, label %18, label %27

; <label>:18:                                     ; preds = %14
  %19 = add i32 %15, -4
  %20 = inttoptr i32 %19 to i32*
  %21 = load i32, i32* %20, align 4, !tbaa !24
  %22 = icmp ult i32 %21, %15
  br i1 %22, label %23, label %27

; <label>:23:                                     ; preds = %18
  %24 = sub i32 %19, %21
  %25 = icmp ugt i32 %24, 31
  %26 = inttoptr i32 %21 to i8*
  br i1 %25, label %27, label %28

; <label>:27:                                     ; preds = %23, %18, %14, %11
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:28:                                     ; preds = %23, %6
  %29 = phi i8* [ %26, %23 ], [ %8, %6 ]
  %30 = phi i32 [ %12, %23 ], [ %9, %6 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %29, i32 %30) #14
  br label %31

; <label>:31:                                     ; preds = %28, %1
  %32 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %32, align 4, !tbaa !83
  store i32 15, i32* %3, align 4, !tbaa !81
  %33 = bitcast %"class.std::basic_string"* %2 to i8*
  store i8 0, i8* %33, align 1, !tbaa !12
  %34 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %35 = load i32, i32* %34, align 4, !tbaa !81
  %36 = icmp ugt i32 %35, 15
  br i1 %36, label %37, label %62

; <label>:37:                                     ; preds = %31
  %38 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %39 = load i8*, i8** %38, align 4, !tbaa !12
  %40 = add i32 %35, 1
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %59

; <label>:42:                                     ; preds = %37
  %43 = add i32 %35, 36
  %44 = icmp ugt i32 %40, -36
  br i1 %44, label %58, label %45

; <label>:45:                                     ; preds = %42
  %46 = ptrtoint i8* %39 to i32
  %47 = and i32 %46, 31
  %48 = icmp eq i32 %47, 0
  br i1 %48, label %49, label %58

; <label>:49:                                     ; preds = %45
  %50 = add i32 %46, -4
  %51 = inttoptr i32 %50 to i32*
  %52 = load i32, i32* %51, align 4, !tbaa !24
  %53 = icmp ult i32 %52, %46
  br i1 %53, label %54, label %58

; <label>:54:                                     ; preds = %49
  %55 = sub i32 %50, %52
  %56 = icmp ugt i32 %55, 31
  %57 = inttoptr i32 %52 to i8*
  br i1 %56, label %58, label %59

; <label>:58:                                     ; preds = %54, %49, %45, %42
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:59:                                     ; preds = %54, %37
  %60 = phi i8* [ %57, %54 ], [ %39, %37 ]
  %61 = phi i32 [ %43, %54 ], [ %40, %37 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %60, i32 %61) #14
  br label %62

; <label>:62:                                     ; preds = %59, %31
  %63 = getelementptr inbounds %struct.File, %struct.File* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %63, align 4, !tbaa !83
  store i32 15, i32* %34, align 4, !tbaa !81
  %64 = bitcast %struct.File* %0 to i8*
  store i8 0, i8* %64, align 1, !tbaa !12
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??1?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE@XZ"(%"class.std::list.65"*) unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::list.65", %"class.std::list.65"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 0
  %5 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %4, align 4, !tbaa !904
  %6 = bitcast %"class.std::list.65"* %0 to i32*
  %7 = ptrtoint %"struct.std::_List_node.72"* %3 to i32
  %8 = bitcast %"struct.std::_List_node.72"* %3 to i32*
  store i32 %7, i32* %8, align 4, !tbaa !904
  %9 = load i32, i32* %6, align 4, !tbaa !23
  %10 = inttoptr i32 %9 to %"struct.std::_List_node.72"*
  %11 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %10, i32 0, i32 1
  %12 = bitcast %"struct.std::_List_node.72"** %11 to i32*
  store i32 %9, i32* %12, align 4, !tbaa !907
  %13 = getelementptr inbounds %"class.std::list.65", %"class.std::list.65"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %13, align 4, !tbaa !24
  %14 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %2, align 4, !tbaa !23
  %15 = icmp eq %"struct.std::_List_node.72"* %5, %14
  br i1 %15, label %53, label %16

; <label>:16:                                     ; preds = %1
  br label %17

; <label>:17:                                     ; preds = %50, %16
  %18 = phi %"struct.std::_List_node.72"* [ %21, %50 ], [ %5, %16 ]
  %19 = bitcast %"struct.std::_List_node.72"* %18 to i8*
  %20 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %18, i32 0, i32 0
  %21 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %20, align 4, !tbaa !904
  %22 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %18, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 2
  %23 = load i32, i32* %22, align 4, !tbaa !81
  %24 = icmp ugt i32 %23, 15
  br i1 %24, label %25, label %50

; <label>:25:                                     ; preds = %17
  %26 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %18, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %27 = load i8*, i8** %26, align 4, !tbaa !12
  %28 = add i32 %23, 1
  %29 = icmp ugt i32 %28, 4095
  br i1 %29, label %30, label %47

; <label>:30:                                     ; preds = %25
  %31 = add i32 %23, 36
  %32 = icmp ugt i32 %28, -36
  br i1 %32, label %46, label %33

; <label>:33:                                     ; preds = %30
  %34 = ptrtoint i8* %27 to i32
  %35 = and i32 %34, 31
  %36 = icmp eq i32 %35, 0
  br i1 %36, label %37, label %46

; <label>:37:                                     ; preds = %33
  %38 = add i32 %34, -4
  %39 = inttoptr i32 %38 to i32*
  %40 = load i32, i32* %39, align 4, !tbaa !24
  %41 = icmp ult i32 %40, %34
  br i1 %41, label %42, label %46

; <label>:42:                                     ; preds = %37
  %43 = sub i32 %38, %40
  %44 = icmp ugt i32 %43, 31
  %45 = inttoptr i32 %40 to i8*
  br i1 %44, label %46, label %47

; <label>:46:                                     ; preds = %42, %37, %33, %30
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:47:                                     ; preds = %42, %25
  %48 = phi i8* [ %45, %42 ], [ %27, %25 ]
  %49 = phi i32 [ %31, %42 ], [ %28, %25 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %48, i32 %49) #14
  br label %50

; <label>:50:                                     ; preds = %47, %17
  tail call void @"\01??3@YAXPAXI@Z"(i8* %19, i32 36) #14
  %51 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %2, align 4, !tbaa !23
  %52 = icmp eq %"struct.std::_List_node.72"* %21, %51
  br i1 %52, label %53, label %17

; <label>:53:                                     ; preds = %50, %1
  %54 = phi %"struct.std::_List_node.72"* [ %14, %1 ], [ %51, %50 ]
  %55 = bitcast %"struct.std::_List_node.72"* %54 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %55, i32 36) #14
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?clear@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAEXXZ"(%"class.std::list.16"*) local_unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::list.16", %"class.std::list.16"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %3, i32 0, i32 0
  %5 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %4, align 4, !tbaa !131
  %6 = bitcast %"class.std::list.16"* %0 to i32*
  %7 = ptrtoint %"struct.std::_List_node.23"* %3 to i32
  %8 = bitcast %"struct.std::_List_node.23"* %3 to i32*
  store i32 %7, i32* %8, align 4, !tbaa !131
  %9 = load i32, i32* %6, align 4, !tbaa !23
  %10 = inttoptr i32 %9 to %"struct.std::_List_node.23"*
  %11 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %10, i32 0, i32 1
  %12 = bitcast %"struct.std::_List_node.23"** %11 to i32*
  store i32 %9, i32* %12, align 4, !tbaa !134
  %13 = getelementptr inbounds %"class.std::list.16", %"class.std::list.16"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %13, align 4, !tbaa !24
  %14 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %2, align 4, !tbaa !23
  %15 = icmp eq %"struct.std::_List_node.23"* %5, %14
  br i1 %15, label %17, label %16

; <label>:16:                                     ; preds = %1
  br label %18

; <label>:17:                                     ; preds = %56, %1
  ret void

; <label>:18:                                     ; preds = %56, %16
  %19 = phi %"struct.std::_List_node.23"* [ %22, %56 ], [ %5, %16 ]
  %20 = bitcast %"struct.std::_List_node.23"* %19 to i8*
  %21 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %19, i32 0, i32 0
  %22 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %21, align 4, !tbaa !131
  %23 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %19, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %24 = load %class.variant.43*, %class.variant.43** %23, align 4, !tbaa !23
  %25 = icmp eq %class.variant.43* %24, null
  %26 = ptrtoint %class.variant.43* %24 to i32
  br i1 %25, label %56, label %27

; <label>:27:                                     ; preds = %18
  %28 = getelementptr inbounds %"struct.std::_List_node.23", %"struct.std::_List_node.23"* %19, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %29 = bitcast %class.variant.43** %28 to i32*
  %30 = load i32, i32* %29, align 4, !tbaa !23
  %31 = sub i32 %30, %26
  %32 = ashr exact i32 %31, 4
  %33 = icmp ugt i32 %32, 268435455
  br i1 %33, label %52, label %34

; <label>:34:                                     ; preds = %27
  %35 = bitcast %class.variant.43* %24 to i8*
  %36 = icmp ugt i32 %31, 4095
  br i1 %36, label %37, label %53

; <label>:37:                                     ; preds = %34
  %38 = add i32 %31, 35
  %39 = icmp ult i32 %31, -35
  %40 = and i32 %26, 31
  %41 = icmp eq i32 %40, 0
  %42 = and i1 %41, %39
  br i1 %42, label %43, label %52

; <label>:43:                                     ; preds = %37
  %44 = add i32 %26, -4
  %45 = inttoptr i32 %44 to i32*
  %46 = load i32, i32* %45, align 4, !tbaa !24
  %47 = icmp ult i32 %46, %26
  br i1 %47, label %48, label %52

; <label>:48:                                     ; preds = %43
  %49 = sub i32 %44, %46
  %50 = icmp ugt i32 %49, 31
  %51 = inttoptr i32 %46 to i8*
  br i1 %50, label %52, label %53

; <label>:52:                                     ; preds = %48, %43, %37, %27
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:53:                                     ; preds = %48, %34
  %54 = phi i8* [ %51, %48 ], [ %35, %34 ]
  %55 = phi i32 [ %38, %48 ], [ %31, %34 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %54, i32 %55) #14
  br label %56

; <label>:56:                                     ; preds = %53, %18
  tail call void @"\01??3@YAXPAXI@Z"(i8* %20, i32 20) #14
  %57 = load %"struct.std::_List_node.23"*, %"struct.std::_List_node.23"** %2, align 4, !tbaa !23
  %58 = icmp eq %"struct.std::_List_node.23"* %22, %57
  br i1 %58, label %17, label %18
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??1?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE@XZ"(%"class.std::list"*) unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::list", %"class.std::list"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %3, i32 0, i32 0
  %5 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %4, align 4, !tbaa !275
  %6 = bitcast %"class.std::list"* %0 to i32*
  %7 = ptrtoint %"struct.std::_List_node"* %3 to i32
  %8 = bitcast %"struct.std::_List_node"* %3 to i32*
  store i32 %7, i32* %8, align 4, !tbaa !275
  %9 = load i32, i32* %6, align 4, !tbaa !23
  %10 = inttoptr i32 %9 to %"struct.std::_List_node"*
  %11 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %10, i32 0, i32 1
  %12 = bitcast %"struct.std::_List_node"** %11 to i32*
  store i32 %9, i32* %12, align 4, !tbaa !278
  %13 = getelementptr inbounds %"class.std::list", %"class.std::list"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %13, align 4, !tbaa !24
  %14 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %2, align 4, !tbaa !23
  %15 = icmp eq %"struct.std::_List_node"* %5, %14
  br i1 %15, label %53, label %16

; <label>:16:                                     ; preds = %1
  br label %17

; <label>:17:                                     ; preds = %50, %16
  %18 = phi %"struct.std::_List_node"* [ %21, %50 ], [ %5, %16 ]
  %19 = bitcast %"struct.std::_List_node"* %18 to i8*
  %20 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %18, i32 0, i32 0
  %21 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %20, align 4, !tbaa !275
  %22 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %18, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %23 = load i32, i32* %22, align 4, !tbaa !81
  %24 = icmp ugt i32 %23, 15
  br i1 %24, label %25, label %50

; <label>:25:                                     ; preds = %17
  %26 = getelementptr inbounds %"struct.std::_List_node", %"struct.std::_List_node"* %18, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0
  %27 = load i8*, i8** %26, align 4, !tbaa !12
  %28 = add i32 %23, 1
  %29 = icmp ugt i32 %28, 4095
  br i1 %29, label %30, label %47

; <label>:30:                                     ; preds = %25
  %31 = add i32 %23, 36
  %32 = icmp ugt i32 %28, -36
  br i1 %32, label %46, label %33

; <label>:33:                                     ; preds = %30
  %34 = ptrtoint i8* %27 to i32
  %35 = and i32 %34, 31
  %36 = icmp eq i32 %35, 0
  br i1 %36, label %37, label %46

; <label>:37:                                     ; preds = %33
  %38 = add i32 %34, -4
  %39 = inttoptr i32 %38 to i32*
  %40 = load i32, i32* %39, align 4, !tbaa !24
  %41 = icmp ult i32 %40, %34
  br i1 %41, label %42, label %46

; <label>:42:                                     ; preds = %37
  %43 = sub i32 %38, %40
  %44 = icmp ugt i32 %43, 31
  %45 = inttoptr i32 %40 to i8*
  br i1 %44, label %46, label %47

; <label>:46:                                     ; preds = %42, %37, %33, %30
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:47:                                     ; preds = %42, %25
  %48 = phi i8* [ %45, %42 ], [ %27, %25 ]
  %49 = phi i32 [ %31, %42 ], [ %28, %25 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %48, i32 %49) #14
  br label %50

; <label>:50:                                     ; preds = %47, %17
  tail call void @"\01??3@YAXPAXI@Z"(i8* %19, i32 32) #14
  %51 = load %"struct.std::_List_node"*, %"struct.std::_List_node"** %2, align 4, !tbaa !23
  %52 = icmp eq %"struct.std::_List_node"* %21, %51
  br i1 %52, label %53, label %17

; <label>:53:                                     ; preds = %50, %1
  %54 = phi %"struct.std::_List_node"* [ %14, %1 ], [ %51, %50 ]
  %55 = bitcast %"struct.std::_List_node"* %54 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %55, i32 32) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Tidy@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@AAEXXZ"(%"class.std::vector.56"*) local_unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::vector.56", %"class.std::vector.56"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %"class.std::basic_string"*, %"class.std::basic_string"** %2, align 4, !tbaa !23
  %4 = icmp eq %"class.std::basic_string"* %3, null
  br i1 %4, label %78, label %5

; <label>:5:                                      ; preds = %1
  %6 = ptrtoint %"class.std::basic_string"* %3 to i32
  %7 = getelementptr inbounds %"class.std::vector.56", %"class.std::vector.56"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load %"class.std::basic_string"*, %"class.std::basic_string"** %7, align 4, !tbaa !23
  %9 = icmp eq %"class.std::basic_string"* %3, %8
  br i1 %9, label %49, label %10

; <label>:10:                                     ; preds = %5
  br label %11

; <label>:11:                                     ; preds = %41, %10
  %12 = phi %"class.std::basic_string"* [ %44, %41 ], [ %3, %10 ]
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = load i32, i32* %13, align 4, !tbaa !81
  %15 = icmp ugt i32 %14, 15
  br i1 %15, label %16, label %41

; <label>:16:                                     ; preds = %11
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %18 = load i8*, i8** %17, align 4, !tbaa !12
  %19 = add i32 %14, 1
  %20 = icmp ugt i32 %19, 4095
  br i1 %20, label %21, label %38

; <label>:21:                                     ; preds = %16
  %22 = add i32 %14, 36
  %23 = icmp ugt i32 %19, -36
  br i1 %23, label %37, label %24

; <label>:24:                                     ; preds = %21
  %25 = ptrtoint i8* %18 to i32
  %26 = and i32 %25, 31
  %27 = icmp eq i32 %26, 0
  br i1 %27, label %28, label %37

; <label>:28:                                     ; preds = %24
  %29 = add i32 %25, -4
  %30 = inttoptr i32 %29 to i32*
  %31 = load i32, i32* %30, align 4, !tbaa !24
  %32 = icmp ult i32 %31, %25
  br i1 %32, label %33, label %37

; <label>:33:                                     ; preds = %28
  %34 = sub i32 %29, %31
  %35 = icmp ugt i32 %34, 31
  %36 = inttoptr i32 %31 to i8*
  br i1 %35, label %37, label %38

; <label>:37:                                     ; preds = %33, %28, %24, %21
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:38:                                     ; preds = %33, %16
  %39 = phi i8* [ %36, %33 ], [ %18, %16 ]
  %40 = phi i32 [ %22, %33 ], [ %19, %16 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %39, i32 %40) #14
  br label %41

; <label>:41:                                     ; preds = %38, %11
  %42 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %42, align 4, !tbaa !83
  store i32 15, i32* %13, align 4, !tbaa !81
  %43 = bitcast %"class.std::basic_string"* %12 to i8*
  store i8 0, i8* %43, align 1, !tbaa !12
  %44 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 1
  %45 = icmp eq %"class.std::basic_string"* %44, %8
  br i1 %45, label %46, label %11

; <label>:46:                                     ; preds = %41
  %47 = bitcast %"class.std::vector.56"* %0 to i32*
  %48 = load i32, i32* %47, align 4, !tbaa !23
  br label %49

; <label>:49:                                     ; preds = %46, %5
  %50 = phi i32 [ %48, %46 ], [ %6, %5 ]
  %51 = getelementptr inbounds %"class.std::vector.56", %"class.std::vector.56"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %52 = bitcast %"class.std::basic_string"** %51 to i32*
  %53 = load i32, i32* %52, align 4, !tbaa !23
  %54 = sub i32 %53, %50
  %55 = sdiv exact i32 %54, 24
  %56 = icmp ugt i32 %55, 178956970
  br i1 %56, label %73, label %57

; <label>:57:                                     ; preds = %49
  %58 = icmp ugt i32 %54, 4095
  br i1 %58, label %59, label %74

; <label>:59:                                     ; preds = %57
  %60 = icmp ult i32 %54, -35
  %61 = and i32 %50, 31
  %62 = icmp eq i32 %61, 0
  %63 = and i1 %60, %62
  br i1 %63, label %64, label %73

; <label>:64:                                     ; preds = %59
  %65 = add i32 %54, 35
  %66 = add i32 %50, -4
  %67 = inttoptr i32 %66 to i32*
  %68 = load i32, i32* %67, align 4, !tbaa !24
  %69 = icmp uge i32 %68, %50
  %70 = sub i32 %66, %68
  %71 = icmp ugt i32 %70, 31
  %72 = or i1 %69, %71
  br i1 %72, label %73, label %74

; <label>:73:                                     ; preds = %64, %59, %49
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:74:                                     ; preds = %64, %57
  %75 = phi i32 [ %50, %57 ], [ %68, %64 ]
  %76 = phi i32 [ %54, %57 ], [ %65, %64 ]
  %77 = inttoptr i32 %75 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %77, i32 %76) #14
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %2, align 4, !tbaa !23
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %7, align 4, !tbaa !23
  store %"class.std::basic_string"* null, %"class.std::basic_string"** %51, align 4, !tbaa !23
  br label %78

; <label>:78:                                     ; preds = %74, %1
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr x86_thiscallcc void @"\01??1?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE@XZ"(%"class.std::_Hash.26"*) unnamed_addr #1 comdat align 2 {
  %2 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %3 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** %2, align 4, !tbaa !23
  %4 = icmp eq %"class.std::_List_const_iterator.40"* %3, null
  %5 = ptrtoint %"class.std::_List_const_iterator.40"* %3 to i32
  br i1 %4, label %36, label %6

; <label>:6:                                      ; preds = %1
  %7 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %8 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %9 = bitcast %"class.std::_List_const_iterator.40"** %8 to i32*
  %10 = load i32, i32* %9, align 4, !tbaa !23
  %11 = sub i32 %10, %5
  %12 = ashr exact i32 %11, 2
  %13 = icmp ugt i32 %12, 1073741823
  br i1 %13, label %32, label %14

; <label>:14:                                     ; preds = %6
  %15 = bitcast %"class.std::_List_const_iterator.40"* %3 to i8*
  %16 = icmp ugt i32 %11, 4095
  br i1 %16, label %17, label %33

; <label>:17:                                     ; preds = %14
  %18 = add i32 %11, 35
  %19 = icmp ult i32 %11, -35
  %20 = and i32 %5, 31
  %21 = icmp eq i32 %20, 0
  %22 = and i1 %21, %19
  br i1 %22, label %23, label %32

; <label>:23:                                     ; preds = %17
  %24 = add i32 %5, -4
  %25 = inttoptr i32 %24 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !24
  %27 = icmp ult i32 %26, %5
  br i1 %27, label %28, label %32

; <label>:28:                                     ; preds = %23
  %29 = sub i32 %24, %26
  %30 = icmp ugt i32 %29, 31
  %31 = inttoptr i32 %26 to i8*
  br i1 %30, label %32, label %33

; <label>:32:                                     ; preds = %28, %23, %17, %6
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:33:                                     ; preds = %28, %14
  %34 = phi i8* [ %31, %28 ], [ %15, %14 ]
  %35 = phi i32 [ %18, %28 ], [ %11, %14 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %34, i32 %35) #14
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %2, align 4, !tbaa !23
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %7, align 4, !tbaa !23
  store %"class.std::_List_const_iterator.40"* null, %"class.std::_List_const_iterator.40"** %8, align 4, !tbaa !23
  br label %36

; <label>:36:                                     ; preds = %33, %1
  %37 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1
  %38 = getelementptr inbounds %"class.std::list.27", %"class.std::list.27"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %39 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %38, align 4, !tbaa !23
  %40 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %39, i32 0, i32 0
  %41 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %40, align 4, !tbaa !595
  %42 = bitcast %"class.std::list.27"* %37 to i32*
  %43 = ptrtoint %"struct.std::_List_node.32"* %39 to i32
  %44 = bitcast %"struct.std::_List_node.32"* %39 to i32*
  store i32 %43, i32* %44, align 4, !tbaa !595
  %45 = load i32, i32* %42, align 4, !tbaa !23
  %46 = inttoptr i32 %45 to %"struct.std::_List_node.32"*
  %47 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %46, i32 0, i32 1
  %48 = bitcast %"struct.std::_List_node.32"** %47 to i32*
  store i32 %45, i32* %48, align 4, !tbaa !620
  %49 = getelementptr inbounds %"class.std::_Hash.26", %"class.std::_Hash.26"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %49, align 4, !tbaa !24
  %50 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %38, align 4, !tbaa !23
  %51 = icmp eq %"struct.std::_List_node.32"* %41, %50
  br i1 %51, label %61, label %52

; <label>:52:                                     ; preds = %36
  br label %53

; <label>:53:                                     ; preds = %53, %52
  %54 = phi %"struct.std::_List_node.32"* [ %57, %53 ], [ %41, %52 ]
  %55 = bitcast %"struct.std::_List_node.32"* %54 to i8*
  %56 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %54, i32 0, i32 0
  %57 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %56, align 4, !tbaa !595
  %58 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %54, i32 0, i32 2, i32 1
  tail call x86_thiscallcc void @"\01??1ImportedFunction@@QAE@XZ"(%struct.ImportedFunction* %58) #14
  tail call void @"\01??3@YAXPAXI@Z"(i8* %55, i32 40) #14
  %59 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %38, align 4, !tbaa !23
  %60 = icmp eq %"struct.std::_List_node.32"* %57, %59
  br i1 %60, label %61, label %53

; <label>:61:                                     ; preds = %53, %36
  %62 = phi %"struct.std::_List_node.32"* [ %41, %36 ], [ %57, %53 ]
  %63 = bitcast %"struct.std::_List_node.32"* %62 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %63, i32 40) #14
  ret void
}

; Function Attrs: norecurse nounwind
define void @"\01?initInterpreter@@YAXXZ"() local_unnamed_addr #0 {
  store i32 0, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  store i32 0, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  store i32 0, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  store i32 0, i32* @"\01?releasedCombineds@@3IA", align 4, !tbaa !24
  store i32 0, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @"\01?supportsFile@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"(%"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"class.std::basic_string", align 4
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !83
  %6 = bitcast %"class.std::basic_string"* %0 to i8*
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %8 = load i32, i32* %7, align 4, !tbaa !81
  %9 = icmp ugt i32 %8, 15
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %11 = load i8*, i8** %10, align 4
  %12 = select i1 %9, i8* %11, i8* %6
  %13 = icmp eq i32 %5, 0
  br i1 %13, label %90, label %14

; <label>:14:                                     ; preds = %1
  %15 = add i32 %5, -1
  %16 = getelementptr inbounds i8, i8* %12, i32 %15
  %17 = load i8, i8* %16, align 1, !tbaa !12
  %18 = icmp eq i8 %17, 46
  br i1 %18, label %27, label %19

; <label>:19:                                     ; preds = %14
  br label %20

; <label>:20:                                     ; preds = %23, %19
  %21 = phi i8* [ %24, %23 ], [ %16, %19 ]
  %22 = icmp eq i8* %21, %12
  br i1 %22, label %90, label %23

; <label>:23:                                     ; preds = %20
  %24 = getelementptr inbounds i8, i8* %21, i32 -1
  %25 = load i8, i8* %24, align 1, !tbaa !12
  %26 = icmp eq i8 %25, 46
  br i1 %26, label %27, label %20

; <label>:27:                                     ; preds = %23, %14
  %28 = phi i8* [ %16, %14 ], [ %24, %23 ]
  %29 = ptrtoint i8* %28 to i32
  %30 = ptrtoint i8* %12 to i32
  %31 = sub i32 %29, %30
  %32 = icmp eq i32 %31, -1
  br i1 %32, label %90, label %33

; <label>:33:                                     ; preds = %27
  %34 = bitcast %"class.std::basic_string"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %34) #14
  %35 = add i32 %31, 1
  %36 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  %37 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  %38 = bitcast i32* %36 to i64*
  store i64 0, i64* %38, align 4, !alias.scope !908
  store i32 15, i32* %37, align 4, !tbaa !81, !alias.scope !908
  store i8 0, i8* %34, align 4, !tbaa !12, !alias.scope !908
  %39 = icmp ult i32 %5, %35
  br i1 %39, label %40, label %41

; <label>:40:                                     ; preds = %33
  tail call void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() #12
  unreachable

; <label>:41:                                     ; preds = %33
  %42 = sub i32 %5, %35
  %43 = getelementptr inbounds i8, i8* %12, i32 %35
  %44 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %44) #14, !noalias !908
  %45 = icmp ugt i32 %42, 15
  br i1 %45, label %48, label %46

; <label>:46:                                     ; preds = %41
  store i32 %42, i32* %36, align 4, !tbaa !83, !alias.scope !908
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %34, i8* %43, i32 %42, i32 1, i1 false) #14
  %47 = getelementptr inbounds i8, i8* %34, i32 %42
  store i8 0, i8* %47, align 1, !tbaa !12, !alias.scope !908
  br label %50

; <label>:48:                                     ; preds = %41
  %49 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %3, i32 %42, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %43) #14
  br label %50

; <label>:50:                                     ; preds = %48, %46
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %44) #14, !noalias !908
  %51 = load i32, i32* %36, align 4, !tbaa !83
  %52 = icmp eq i32 %51, 4
  %53 = load i32, i32* %37, align 4, !tbaa !81
  br i1 %52, label %54, label %61

; <label>:54:                                     ; preds = %50
  %55 = icmp ugt i32 %53, 15
  %56 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %57 = load i8*, i8** %56, align 4
  %58 = select i1 %55, i8* %57, i8* %34
  %59 = call i32 @memcmp(i8* %58, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01??_C@_04EDNPHEAP@easy?$AA@", i32 0, i32 0), i32 4) #14
  %60 = icmp eq i32 %59, 0
  br label %61

; <label>:61:                                     ; preds = %54, %50
  %62 = phi i1 [ %60, %54 ], [ false, %50 ]
  %63 = icmp ugt i32 %53, 15
  br i1 %63, label %64, label %89

; <label>:64:                                     ; preds = %61
  %65 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %66 = load i8*, i8** %65, align 4, !tbaa !12
  %67 = add i32 %53, 1
  %68 = icmp ugt i32 %67, 4095
  br i1 %68, label %69, label %86

; <label>:69:                                     ; preds = %64
  %70 = add i32 %53, 36
  %71 = icmp ugt i32 %67, -36
  br i1 %71, label %85, label %72

; <label>:72:                                     ; preds = %69
  %73 = ptrtoint i8* %66 to i32
  %74 = and i32 %73, 31
  %75 = icmp eq i32 %74, 0
  br i1 %75, label %76, label %85

; <label>:76:                                     ; preds = %72
  %77 = add i32 %73, -4
  %78 = inttoptr i32 %77 to i32*
  %79 = load i32, i32* %78, align 4, !tbaa !24
  %80 = icmp ult i32 %79, %73
  br i1 %80, label %81, label %85

; <label>:81:                                     ; preds = %76
  %82 = sub i32 %77, %79
  %83 = icmp ugt i32 %82, 31
  %84 = inttoptr i32 %79 to i8*
  br i1 %83, label %85, label %86

; <label>:85:                                     ; preds = %81, %76, %72, %69
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:86:                                     ; preds = %81, %64
  %87 = phi i8* [ %84, %81 ], [ %66, %64 ]
  %88 = phi i32 [ %70, %81 ], [ %67, %64 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %87, i32 %88) #14
  br label %89

; <label>:89:                                     ; preds = %86, %61
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %34) #14
  br label %90

; <label>:90:                                     ; preds = %89, %27, %20, %1
  %91 = phi i1 [ %62, %89 ], [ false, %27 ], [ false, %1 ], [ false, %20 ]
  ret i1 %91
}

; Function Attrs: nounwind
define void @"\01?interpret@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"(%"class.std::basic_string"* noalias nocapture sret) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = sdiv exact i32 %7, 12
  %9 = add nsw i32 %8, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 %9, %"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A") #14
  %10 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %11 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %12 = sub i32 %10, %11
  %13 = sdiv exact i32 %12, 12
  %14 = load i32, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %15 = icmp ult i32 %14, %13
  %16 = select i1 %15, i32 %13, i32 %14
  store i32 %16, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %17 = tail call zeroext i1 @mplMain() #14
  br i1 %17, label %106, label %18

; <label>:18:                                     ; preds = %1
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %20 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %20, %21
  br i1 %22, label %23, label %30

; <label>:23:                                     ; preds = %18
  %24 = add i32 %20, 1
  store i32 %24, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  %25 = icmp ugt i32 %21, 15
  %26 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %27 = select i1 %25, i8* %26, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %28 = getelementptr inbounds i8, i8* %27, i32 %20
  store i8 10, i8* %28, align 1, !tbaa !12
  %29 = getelementptr inbounds i8, i8* %27, i32 %24
  store i8 0, i8* %29, align 1, !tbaa !12
  br label %32

; <label>:30:                                     ; preds = %18
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 10) #14
  br label %32

; <label>:32:                                     ; preds = %30, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  %33 = bitcast %"class.std::basic_string"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %33) #14
  call void @"\01?dumpStack@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"(%"class.std::basic_string"* nonnull sret %4)
  %34 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83, !noalias !911
  %35 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !911
  %36 = icmp ugt i32 %35, 15
  %37 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !noalias !911
  %38 = select i1 %36, i8* %37, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %39 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %39) #14, !noalias !911
  %40 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %41 = load i32, i32* %40, align 4, !tbaa !83, !noalias !911
  %42 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %43 = load i32, i32* %42, align 4, !tbaa !81, !noalias !911
  %44 = sub i32 %43, %41
  %45 = icmp ult i32 %44, %34
  br i1 %45, label %70, label %46

; <label>:46:                                     ; preds = %32
  %47 = add i32 %41, %34
  store i32 %47, i32* %40, align 4, !tbaa !83, !noalias !911
  %48 = icmp ugt i32 %43, 15
  %49 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %50 = load i8*, i8** %49, align 4, !noalias !911
  %51 = select i1 %48, i8* %50, i8* %33
  %52 = getelementptr inbounds i8, i8* %38, i32 %34
  %53 = icmp ule i8* %52, %51
  %54 = getelementptr inbounds i8, i8* %51, i32 %41
  %55 = icmp ult i8* %54, %38
  %56 = or i1 %53, %55
  br i1 %56, label %63, label %57

; <label>:57:                                     ; preds = %46
  %58 = icmp ugt i8* %51, %38
  br i1 %58, label %59, label %63

; <label>:59:                                     ; preds = %57
  %60 = ptrtoint i8* %51 to i32
  %61 = ptrtoint i8* %38 to i32
  %62 = sub i32 %60, %61
  br label %63

; <label>:63:                                     ; preds = %59, %57, %46
  %64 = phi i32 [ %62, %59 ], [ %34, %46 ], [ 0, %57 ]
  %65 = add i32 %41, 1
  %66 = getelementptr inbounds i8, i8* %51, i32 %34
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %66, i8* %51, i32 %65, i32 1, i1 false) #14, !noalias !911
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* %38, i32 %64, i32 1, i1 false) #14, !noalias !911
  %67 = sub i32 %34, %64
  %68 = getelementptr inbounds i8, i8* %52, i32 %64
  %69 = getelementptr inbounds i8, i8* %51, i32 %64
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %69, i8* %68, i32 %67, i32 1, i1 false) #14, !noalias !911
  br label %72

; <label>:70:                                     ; preds = %32
  %71 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %4, i32 %34, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i32 0, i8* %38, i32 %34) #14, !noalias !911
  br label %72

; <label>:72:                                     ; preds = %70, %63
  %73 = phi %"class.std::basic_string"* [ %4, %63 ], [ %71, %70 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %39) #14, !noalias !911
  %74 = bitcast %"class.std::basic_string"* %0 to i8*
  %75 = bitcast %"class.std::basic_string"* %73 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %74, i8* nonnull %75, i32 24, i32 1, i1 false) #14
  %76 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %76, align 4, !tbaa !83, !noalias !911
  %77 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %77, align 4, !tbaa !81, !noalias !911
  store i8 0, i8* %75, align 1, !tbaa !12, !noalias !911
  %78 = load i32, i32* %42, align 4, !tbaa !81
  %79 = icmp ugt i32 %78, 15
  br i1 %79, label %80, label %105

; <label>:80:                                     ; preds = %72
  %81 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %82 = load i8*, i8** %81, align 4, !tbaa !12
  %83 = add i32 %78, 1
  %84 = icmp ugt i32 %83, 4095
  br i1 %84, label %85, label %102

; <label>:85:                                     ; preds = %80
  %86 = add i32 %78, 36
  %87 = icmp ugt i32 %83, -36
  br i1 %87, label %101, label %88

; <label>:88:                                     ; preds = %85
  %89 = ptrtoint i8* %82 to i32
  %90 = and i32 %89, 31
  %91 = icmp eq i32 %90, 0
  br i1 %91, label %92, label %101

; <label>:92:                                     ; preds = %88
  %93 = add i32 %89, -4
  %94 = inttoptr i32 %93 to i32*
  %95 = load i32, i32* %94, align 4, !tbaa !24
  %96 = icmp ult i32 %95, %89
  br i1 %96, label %97, label %101

; <label>:97:                                     ; preds = %92
  %98 = sub i32 %93, %95
  %99 = icmp ugt i32 %98, 31
  %100 = inttoptr i32 %95 to i8*
  br i1 %99, label %101, label %102

; <label>:101:                                    ; preds = %97, %92, %88, %85
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:102:                                    ; preds = %97, %80
  %103 = phi i8* [ %100, %97 ], [ %82, %80 ]
  %104 = phi i32 [ %86, %97 ], [ %83, %80 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %103, i32 %104) #14
  br label %105

; <label>:105:                                    ; preds = %102, %72
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %33) #14
  br label %111

; <label>:106:                                    ; preds = %1
  %107 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %108 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %109 = bitcast i32* %107 to i64*
  store i64 0, i64* %109, align 4
  store i32 15, i32* %108, align 4, !tbaa !81
  %110 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %110, align 4, !tbaa !12
  br label %111

; <label>:111:                                    ; preds = %106, %105
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.117"*, i32, %"class.std::vector.117"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %struct.Node** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.117"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = sdiv exact i32 %9, 12
  %11 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %struct.Node** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = sdiv exact i32 %14, 12
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %struct.Node*
  %18 = inttoptr i32 %6 to %struct.Node*
  br i1 %16, label %19, label %96

; <label>:19:                                     ; preds = %3
  %20 = icmp ugt i32 %1, 357913941
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xlength@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@CAXXZ"() #22
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = lshr i32 %15, 1
  %24 = sub nsw i32 357913941, %23
  %25 = icmp ugt i32 %15, %24
  br i1 %25, label %29, label %26

; <label>:26:                                     ; preds = %22
  %27 = add i32 %23, %15
  %28 = icmp ult i32 %27, %1
  br i1 %28, label %29, label %31

; <label>:29:                                     ; preds = %26, %22
  %30 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0
  br label %37

; <label>:31:                                     ; preds = %26
  %32 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0
  %33 = icmp eq i32 %27, 0
  br i1 %33, label %56, label %34

; <label>:34:                                     ; preds = %31
  %35 = icmp ugt i32 %27, 357913941
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %34
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %34, %29
  %38 = phi i32 [ %1, %29 ], [ %27, %34 ]
  %39 = phi %"class.std::_Vector_alloc.118"* [ %30, %29 ], [ %32, %34 ]
  %40 = mul i32 %38, 12
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %37
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %37
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %31
  %57 = phi %"class.std::_Vector_alloc.118"* [ %32, %31 ], [ %39, %45 ], [ %39, %54 ]
  %58 = phi i32 [ 0, %31 ], [ %38, %45 ], [ %38, %54 ]
  %59 = phi i8* [ null, %31 ], [ %51, %45 ], [ %55, %54 ]
  %60 = bitcast i8* %59 to %struct.Node*
  %61 = sub i32 %1, %10
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %67, label %63

; <label>:63:                                     ; preds = %56
  %64 = getelementptr inbounds %struct.Node, %struct.Node* %60, i32 %10
  %65 = bitcast %struct.Node* %64 to i8*
  %66 = mul i32 %61, 12
  tail call void @llvm.memset.p0i8.i32(i8* %65, i8 0, i32 %66, i32 4, i1 false) #14
  br label %67

; <label>:67:                                     ; preds = %63, %56
  %68 = getelementptr inbounds %"class.std::_Vector_alloc.118", %"class.std::_Vector_alloc.118"* %57, i32 0, i32 0, i32 0, i32 1
  %69 = load %struct.Node*, %struct.Node** %68, align 4, !tbaa !23
  %70 = getelementptr inbounds %"class.std::_Vector_alloc.118", %"class.std::_Vector_alloc.118"* %57, i32 0, i32 0, i32 0, i32 0
  %71 = load %struct.Node*, %struct.Node** %70, align 4, !tbaa !23
  %72 = icmp eq %struct.Node* %71, %69
  br i1 %72, label %95, label %73

; <label>:73:                                     ; preds = %67
  br label %74

; <label>:74:                                     ; preds = %74, %73
  %75 = phi %struct.Node* [ %92, %74 ], [ %60, %73 ]
  %76 = phi %struct.Node* [ %93, %74 ], [ %71, %73 ]
  %77 = getelementptr inbounds %struct.Node, %struct.Node* %75, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  store %struct.Field* null, %struct.Field** %77, align 4, !tbaa !554
  %78 = getelementptr inbounds %struct.Node, %struct.Node* %75, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store %struct.Field* null, %struct.Field** %78, align 4, !tbaa !556
  %79 = getelementptr inbounds %struct.Node, %struct.Node* %75, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store %struct.Field* null, %struct.Field** %79, align 4, !tbaa !557
  %80 = getelementptr inbounds %struct.Node, %struct.Node* %76, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %81 = bitcast %struct.Node* %76 to i32*
  %82 = load i32, i32* %81, align 4, !tbaa !23
  %83 = bitcast %struct.Node* %75 to i32*
  store i32 %82, i32* %83, align 4, !tbaa !23
  %84 = getelementptr inbounds %struct.Node, %struct.Node* %76, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %85 = bitcast %struct.Field** %84 to i32*
  %86 = load i32, i32* %85, align 4, !tbaa !23
  %87 = bitcast %struct.Field** %78 to i32*
  store i32 %86, i32* %87, align 4, !tbaa !23
  %88 = getelementptr inbounds %struct.Node, %struct.Node* %76, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %89 = bitcast %struct.Field** %88 to i32*
  %90 = load i32, i32* %89, align 4, !tbaa !23
  %91 = bitcast %struct.Field** %79 to i32*
  store i32 %90, i32* %91, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %80, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %84, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %88, align 4, !tbaa !23
  %92 = getelementptr inbounds %struct.Node, %struct.Node* %75, i32 1
  %93 = getelementptr inbounds %struct.Node, %struct.Node* %76, i32 1
  %94 = icmp eq %struct.Node* %93, %69
  br i1 %94, label %95, label %74

; <label>:95:                                     ; preds = %74, %67
  tail call x86_thiscallcc void @"\01?_Change_array@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXQAUNode@@II@Z"(%"class.std::vector.117"* %0, %struct.Node* %60, i32 %1, i32 %58)
  br label %153

; <label>:96:                                     ; preds = %3
  %97 = icmp ult i32 %10, %1
  br i1 %97, label %98, label %107

; <label>:98:                                     ; preds = %96
  %99 = sub i32 %1, %10
  %100 = icmp eq i32 %99, 0
  br i1 %100, label %105, label %101

; <label>:101:                                    ; preds = %98
  %102 = inttoptr i32 %6 to i8*
  %103 = mul i32 %99, 12
  tail call void @llvm.memset.p0i8.i32(i8* %102, i8 0, i32 %103, i32 4, i1 false) #14
  %104 = getelementptr %struct.Node, %struct.Node* %18, i32 %99
  br label %105

; <label>:105:                                    ; preds = %101, %98
  %106 = phi %struct.Node* [ %18, %98 ], [ %104, %101 ]
  store %struct.Node* %106, %struct.Node** %4, align 4, !tbaa !23
  br label %153

; <label>:107:                                    ; preds = %96
  %108 = icmp eq i32 %10, %1
  br i1 %108, label %153, label %109

; <label>:109:                                    ; preds = %107
  %110 = getelementptr inbounds %struct.Node, %struct.Node* %17, i32 %1
  %111 = icmp eq %struct.Node* %110, %18
  br i1 %111, label %152, label %112

; <label>:112:                                    ; preds = %109
  br label %113

; <label>:113:                                    ; preds = %149, %112
  %114 = phi %struct.Node* [ %150, %149 ], [ %110, %112 ]
  %115 = getelementptr inbounds %struct.Node, %struct.Node* %114, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %116 = load %struct.Field*, %struct.Field** %115, align 4, !tbaa !23
  %117 = icmp eq %struct.Field* %116, null
  %118 = ptrtoint %struct.Field* %116 to i32
  br i1 %117, label %149, label %119

; <label>:119:                                    ; preds = %113
  %120 = getelementptr inbounds %struct.Node, %struct.Node* %114, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %121 = getelementptr inbounds %struct.Node, %struct.Node* %114, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %122 = bitcast %struct.Field** %121 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !23
  %124 = sub i32 %123, %118
  %125 = sdiv exact i32 %124, 24
  %126 = icmp ugt i32 %125, 178956970
  br i1 %126, label %145, label %127

; <label>:127:                                    ; preds = %119
  %128 = bitcast %struct.Field* %116 to i8*
  %129 = icmp ugt i32 %124, 4095
  br i1 %129, label %130, label %146

; <label>:130:                                    ; preds = %127
  %131 = add i32 %124, 35
  %132 = icmp ult i32 %124, -35
  %133 = and i32 %118, 31
  %134 = icmp eq i32 %133, 0
  %135 = and i1 %134, %132
  br i1 %135, label %136, label %145

; <label>:136:                                    ; preds = %130
  %137 = add i32 %118, -4
  %138 = inttoptr i32 %137 to i32*
  %139 = load i32, i32* %138, align 4, !tbaa !24
  %140 = icmp ult i32 %139, %118
  br i1 %140, label %141, label %145

; <label>:141:                                    ; preds = %136
  %142 = sub i32 %137, %139
  %143 = icmp ugt i32 %142, 31
  %144 = inttoptr i32 %139 to i8*
  br i1 %143, label %145, label %146

; <label>:145:                                    ; preds = %141, %136, %130, %119
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:146:                                    ; preds = %141, %127
  %147 = phi i8* [ %144, %141 ], [ %128, %127 ]
  %148 = phi i32 [ %131, %141 ], [ %124, %127 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %147, i32 %148) #14
  store %struct.Field* null, %struct.Field** %115, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %120, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %121, align 4, !tbaa !23
  br label %149

; <label>:149:                                    ; preds = %146, %113
  %150 = getelementptr inbounds %struct.Node, %struct.Node* %114, i32 1
  %151 = icmp eq %struct.Node* %150, %18
  br i1 %151, label %152, label %113

; <label>:152:                                    ; preds = %149, %109
  store %struct.Node* %110, %struct.Node** %4, align 4, !tbaa !23
  br label %153

; <label>:153:                                    ; preds = %152, %107, %105, %95
  ret void
}

declare zeroext i1 @mplMain() local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i8 signext) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32, i32* %5, align 4, !tbaa !83
  %7 = sub i32 2147483647, %6
  %8 = icmp ult i32 %7, %1
  br i1 %8, label %9, label %10

; <label>:9:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:10:                                     ; preds = %4
  %11 = add i32 %6, %1
  %12 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %13 = load i32, i32* %12, align 4, !tbaa !81
  %14 = or i32 %11, 15
  %15 = icmp slt i32 %14, 0
  br i1 %15, label %31, label %16

; <label>:16:                                     ; preds = %10
  %17 = lshr i32 %13, 1
  %18 = xor i32 %17, 2147483647
  %19 = icmp ugt i32 %13, %18
  br i1 %19, label %31, label %20

; <label>:20:                                     ; preds = %16
  %21 = add i32 %17, %13
  %22 = icmp ult i32 %14, %21
  %23 = select i1 %22, i32 %21, i32 %14
  %24 = add i32 %23, 1
  %25 = icmp eq i32 %24, 0
  br i1 %25, label %44, label %26

; <label>:26:                                     ; preds = %20
  %27 = icmp ugt i32 %24, 4095
  br i1 %27, label %28, label %42

; <label>:28:                                     ; preds = %26
  %29 = icmp ugt i32 %24, -36
  br i1 %29, label %30, label %31

; <label>:30:                                     ; preds = %28
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:31:                                     ; preds = %28, %16, %10
  %32 = phi i32 [ %24, %28 ], [ -2147483648, %10 ], [ -2147483648, %16 ]
  %33 = phi i32 [ %23, %28 ], [ 2147483647, %10 ], [ 2147483647, %16 ]
  %34 = add i32 %32, 35
  %35 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %34) #14
  %36 = ptrtoint i8* %35 to i32
  %37 = add i32 %36, 35
  %38 = and i32 %37, -32
  %39 = inttoptr i32 %38 to i8*
  %40 = inttoptr i32 %38 to i32*
  %41 = getelementptr inbounds i32, i32* %40, i32 -1
  store i32 %36, i32* %41, align 4, !tbaa !24
  br label %44

; <label>:42:                                     ; preds = %26
  %43 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %24) #14
  br label %44

; <label>:44:                                     ; preds = %42, %31, %20
  %45 = phi i32 [ -1, %20 ], [ %33, %31 ], [ %23, %42 ]
  %46 = phi i8* [ null, %20 ], [ %39, %31 ], [ %43, %42 ]
  %47 = ptrtoint i8* %46 to i32
  store i32 %11, i32* %5, align 4, !tbaa !83
  store i32 %45, i32* %12, align 4, !tbaa !81
  %48 = icmp ugt i32 %13, 15
  br i1 %48, label %49, label %77

; <label>:49:                                     ; preds = %44
  %50 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %51 = load i8*, i8** %50, align 4, !tbaa !12
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %46, i8* %51, i32 %6, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %46, i32 %6
  store i8 %3, i8* %52, align 1, !tbaa !12
  %53 = add i32 %6, 1
  %54 = getelementptr inbounds i8, i8* %46, i32 %53
  store i8 0, i8* %54, align 1, !tbaa !12
  %55 = add i32 %13, 1
  %56 = icmp ugt i32 %55, 4095
  br i1 %56, label %57, label %74

; <label>:57:                                     ; preds = %49
  %58 = add i32 %13, 36
  %59 = icmp ugt i32 %55, -36
  br i1 %59, label %73, label %60

; <label>:60:                                     ; preds = %57
  %61 = ptrtoint i8* %51 to i32
  %62 = and i32 %61, 31
  %63 = icmp eq i32 %62, 0
  br i1 %63, label %64, label %73

; <label>:64:                                     ; preds = %60
  %65 = add i32 %61, -4
  %66 = inttoptr i32 %65 to i32*
  %67 = load i32, i32* %66, align 4, !tbaa !24
  %68 = icmp ult i32 %67, %61
  br i1 %68, label %69, label %73

; <label>:69:                                     ; preds = %64
  %70 = sub i32 %65, %67
  %71 = icmp ugt i32 %70, 31
  %72 = inttoptr i32 %67 to i8*
  br i1 %71, label %73, label %74

; <label>:73:                                     ; preds = %69, %64, %60, %57
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:74:                                     ; preds = %69, %49
  %75 = phi i8* [ %72, %69 ], [ %51, %49 ]
  %76 = phi i32 [ %58, %69 ], [ %55, %49 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %75, i32 %76) #14
  br label %82

; <label>:77:                                     ; preds = %44
  %78 = bitcast %"class.std::basic_string"* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %46, i8* %78, i32 %6, i32 1, i1 false) #14
  %79 = getelementptr inbounds i8, i8* %46, i32 %6
  store i8 %3, i8* %79, align 1, !tbaa !12
  %80 = add i32 %6, 1
  %81 = getelementptr inbounds i8, i8* %46, i32 %80
  store i8 0, i8* %81, align 1, !tbaa !12
  br label %82

; <label>:82:                                     ; preds = %77, %74
  %83 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %47, i32* %83, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: nounwind
define void @"\01?dumpStack@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"(%"class.std::basic_string"* noalias sret) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string", align 4
  %5 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %7 = bitcast i32* %5 to i64*
  store i64 0, i64* %7, align 4
  store i32 15, i32* %6, align 4, !tbaa !81
  %8 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %8, align 4, !tbaa !12
  %9 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %10 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %11 = icmp eq %class.variant.43* %9, %10
  br i1 %11, label %12, label %14

; <label>:12:                                     ; preds = %1
  store i32 15, i32* %5, align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@NIHDDCPL@stack?5is?5empty?6?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 11
  store i8 0, i8* %13, align 1, !tbaa !12
  br label %90

; <label>:14:                                     ; preds = %1
  store i32 7, i32* %5, align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @"\01??_C@_07ICCLGLHB@stack?3?6?$AA@", i32 0, i32 0), i32 7, i32 1, i1 false) #14
  %15 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 3
  store i8 0, i8* %15, align 1, !tbaa !12
  %16 = bitcast %"class.std::basic_string"* %4 to i8*
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 1
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %19 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  %22 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %23

; <label>:23:                                     ; preds = %87, %14
  %24 = phi %class.variant.43* [ %9, %14 ], [ %88, %87 ]
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %16) #14
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %4, %class.variant.43* nonnull dereferenceable(16) %24, i32 0)
  %25 = load i32, i32* %17, align 4, !tbaa !83
  %26 = load i32, i32* %18, align 4, !tbaa !81
  %27 = icmp ugt i32 %26, 15
  %28 = load i8*, i8** %19, align 4
  %29 = select i1 %27, i8* %28, i8* %16
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %30 = load i32, i32* %5, align 4, !tbaa !83
  %31 = load i32, i32* %6, align 4, !tbaa !81
  %32 = sub i32 %31, %30
  %33 = icmp ult i32 %32, %25
  br i1 %33, label %43, label %34

; <label>:34:                                     ; preds = %23
  %35 = add i32 %30, %25
  store i32 %35, i32* %5, align 4, !tbaa !83
  %36 = icmp ugt i32 %31, 15
  br i1 %36, label %37, label %39

; <label>:37:                                     ; preds = %34
  %38 = load i8*, i8** %22, align 4, !tbaa !12
  br label %39

; <label>:39:                                     ; preds = %37, %34
  %40 = phi i8* [ %38, %37 ], [ %8, %34 ]
  %41 = getelementptr inbounds i8, i8* %40, i32 %30
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %41, i8* %29, i32 %25, i32 1, i1 false) #14
  %42 = getelementptr inbounds i8, i8* %40, i32 %35
  store i8 0, i8* %42, align 1, !tbaa !12
  br label %45

; <label>:43:                                     ; preds = %23
  %44 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %25, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %29, i32 %25) #14
  br label %45

; <label>:45:                                     ; preds = %43, %39
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  %46 = load i32, i32* %18, align 4, !tbaa !81
  %47 = icmp ugt i32 %46, 15
  br i1 %47, label %48, label %72

; <label>:48:                                     ; preds = %45
  %49 = load i8*, i8** %19, align 4, !tbaa !12
  %50 = add i32 %46, 1
  %51 = icmp ugt i32 %50, 4095
  br i1 %51, label %52, label %69

; <label>:52:                                     ; preds = %48
  %53 = add i32 %46, 36
  %54 = icmp ugt i32 %50, -36
  br i1 %54, label %68, label %55

; <label>:55:                                     ; preds = %52
  %56 = ptrtoint i8* %49 to i32
  %57 = and i32 %56, 31
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %59, label %68

; <label>:59:                                     ; preds = %55
  %60 = add i32 %56, -4
  %61 = inttoptr i32 %60 to i32*
  %62 = load i32, i32* %61, align 4, !tbaa !24
  %63 = icmp ult i32 %62, %56
  br i1 %63, label %64, label %68

; <label>:64:                                     ; preds = %59
  %65 = sub i32 %60, %62
  %66 = icmp ugt i32 %65, 31
  %67 = inttoptr i32 %62 to i8*
  br i1 %66, label %68, label %69

; <label>:68:                                     ; preds = %64, %59, %55, %52
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:69:                                     ; preds = %64, %48
  %70 = phi i8* [ %67, %64 ], [ %49, %48 ]
  %71 = phi i32 [ %53, %64 ], [ %50, %48 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %70, i32 %71) #14
  br label %72

; <label>:72:                                     ; preds = %69, %45
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %16) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14
  %73 = load i32, i32* %5, align 4, !tbaa !83
  %74 = load i32, i32* %6, align 4, !tbaa !81
  %75 = icmp ult i32 %73, %74
  br i1 %75, label %76, label %85

; <label>:76:                                     ; preds = %72
  %77 = add i32 %73, 1
  store i32 %77, i32* %5, align 4, !tbaa !83
  %78 = icmp ugt i32 %74, 15
  br i1 %78, label %79, label %81

; <label>:79:                                     ; preds = %76
  %80 = load i8*, i8** %22, align 4, !tbaa !12
  br label %81

; <label>:81:                                     ; preds = %79, %76
  %82 = phi i8* [ %80, %79 ], [ %8, %76 ]
  %83 = getelementptr inbounds i8, i8* %82, i32 %73
  store i8 10, i8* %83, align 1, !tbaa !12
  %84 = getelementptr inbounds i8, i8* %82, i32 %77
  store i8 0, i8* %84, align 1, !tbaa !12
  br label %87

; <label>:85:                                     ; preds = %72
  %86 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 10) #14
  br label %87

; <label>:87:                                     ; preds = %85, %81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14
  %88 = getelementptr inbounds %class.variant.43, %class.variant.43* %24, i32 1
  %89 = icmp eq %class.variant.43* %10, %88
  br i1 %89, label %90, label %23

; <label>:90:                                     ; preds = %87, %12
  ret void
}

; Function Attrs: nounwind
define void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* noalias sret, %class.variant.43* nocapture readonly dereferenceable(16), i32) local_unnamed_addr #2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = alloca %"struct.std::_Not_a_node_tag", align 4
  %18 = alloca %"struct.std::_Not_a_node_tag", align 4
  %19 = alloca [21 x i8], align 1
  %20 = alloca %"class.std::basic_string", align 4
  %21 = alloca %"class.std::basic_string", align 4
  %22 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  %23 = load i32, i32* %22, align 8, !tbaa !535
  switch i32 %23, label %609 [
    i32 0, label %24
    i32 1, label %37
    i32 2, label %88
    i32 3, label %139
    i32 4, label %189
    i32 5, label %192
    i32 6, label %242
    i32 7, label %274
    i32 8, label %306
    i32 9, label %337
    i32 10, label %428
    i32 11, label %459
    i32 12, label %462
    i32 13, label %465
    i32 14, label %530
    i32 15, label %596
    i32 16, label %601
    i32 17, label %606
  ]

; <label>:24:                                     ; preds = %3
  %25 = bitcast %class.variant.43* %1 to i8*
  %26 = load i8, i8* %25, align 1, !tbaa !566, !range !382
  %27 = icmp eq i8 %26, 0
  %28 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %29 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %30 = bitcast i32* %28 to i64*
  store i64 0, i64* %30, align 4
  store i32 15, i32* %29, align 4, !tbaa !81
  %31 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %31, align 4, !tbaa !12
  br i1 %27, label %35, label %32

; <label>:32:                                     ; preds = %24
  store i32 4, i32* %28, align 4, !tbaa !83
  %33 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 1163219540, i32* %33, align 4
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  store i8 0, i8* %34, align 4, !tbaa !12
  br label %614

; <label>:35:                                     ; preds = %24
  store i32 5, i32* %28, align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %31, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @"\01??_C@_05MAJJAKPI@FALSE?$AA@", i32 0, i32 0), i32 5, i32 1, i1 false) #14
  %36 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %36, align 1, !tbaa !12
  br label %614

; <label>:37:                                     ; preds = %3
  %38 = bitcast %class.variant.43* %1 to i8*
  %39 = load i8, i8* %38, align 1, !tbaa !12
  %40 = sext i8 %39 to i32
  %41 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %41) #14, !noalias !914
  %42 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  %43 = icmp slt i8 %39, 0
  br i1 %43, label %45, label %44

; <label>:44:                                     ; preds = %37
  br label %60

; <label>:45:                                     ; preds = %37
  %46 = sub nsw i32 0, %40
  br label %47

; <label>:47:                                     ; preds = %47, %45
  %48 = phi i32 [ 0, %45 ], [ %53, %47 ]
  %49 = phi i32 [ %46, %45 ], [ %55, %47 ]
  %50 = urem i32 %49, 10
  %51 = trunc i32 %50 to i8
  %52 = or i8 %51, 48
  %53 = add nsw i32 %48, -1
  %54 = getelementptr inbounds i8, i8* %42, i32 %53
  store i8 %52, i8* %54, align 1, !tbaa !12, !noalias !914
  %55 = udiv i32 %49, 10
  %56 = icmp ugt i32 %49, 9
  br i1 %56, label %47, label %57

; <label>:57:                                     ; preds = %47
  %58 = add nsw i32 %48, -2
  %59 = getelementptr inbounds i8, i8* %42, i32 %58
  store i8 45, i8* %59, align 1, !tbaa !12, !noalias !914
  br label %70

; <label>:60:                                     ; preds = %60, %44
  %61 = phi i32 [ %66, %60 ], [ 0, %44 ]
  %62 = phi i32 [ %68, %60 ], [ %40, %44 ]
  %63 = urem i32 %62, 10
  %64 = trunc i32 %63 to i8
  %65 = or i8 %64, 48
  %66 = add nsw i32 %61, -1
  %67 = getelementptr inbounds i8, i8* %42, i32 %66
  store i8 %65, i8* %67, align 1, !tbaa !12, !noalias !914
  %68 = udiv i32 %62, 10
  %69 = icmp ugt i32 %62, 9
  br i1 %69, label %60, label %70

; <label>:70:                                     ; preds = %60, %57
  %71 = phi i32 [ %58, %57 ], [ %66, %60 ]
  %72 = getelementptr inbounds i8, i8* %42, i32 %71
  %73 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %74 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %75 = bitcast i32* %73 to i64*
  store i64 0, i64* %75, align 4, !alias.scope !914
  store i32 15, i32* %74, align 4, !tbaa !81, !alias.scope !914
  %76 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %76, align 4, !tbaa !12, !alias.scope !914
  %77 = icmp eq i32 %71, 0
  br i1 %77, label %87, label %78

; <label>:78:                                     ; preds = %70
  %79 = sub i32 0, %71
  %80 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %18, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %80) #14, !noalias !914
  %81 = icmp ugt i32 %79, 15
  br i1 %81, label %84, label %82

; <label>:82:                                     ; preds = %78
  store i32 %79, i32* %73, align 4, !tbaa !83, !alias.scope !914
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %76, i8* %72, i32 %79, i32 1, i1 false) #14
  %83 = getelementptr inbounds i8, i8* %76, i32 %79
  store i8 0, i8* %83, align 1, !tbaa !12, !alias.scope !914
  br label %86

; <label>:84:                                     ; preds = %78
  %85 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %79, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %18, i8* %72) #14
  br label %86

; <label>:86:                                     ; preds = %84, %82
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %80) #14, !noalias !914
  br label %87

; <label>:87:                                     ; preds = %86, %70
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %41) #14, !noalias !914
  br label %614

; <label>:88:                                     ; preds = %3
  %89 = bitcast %class.variant.43* %1 to i16*
  %90 = load i16, i16* %89, align 2, !tbaa !59
  %91 = sext i16 %90 to i32
  %92 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %92) #14, !noalias !919
  %93 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  %94 = icmp slt i16 %90, 0
  br i1 %94, label %96, label %95

; <label>:95:                                     ; preds = %88
  br label %111

; <label>:96:                                     ; preds = %88
  %97 = sub nsw i32 0, %91
  br label %98

; <label>:98:                                     ; preds = %98, %96
  %99 = phi i32 [ 0, %96 ], [ %104, %98 ]
  %100 = phi i32 [ %97, %96 ], [ %106, %98 ]
  %101 = urem i32 %100, 10
  %102 = trunc i32 %101 to i8
  %103 = or i8 %102, 48
  %104 = add nsw i32 %99, -1
  %105 = getelementptr inbounds i8, i8* %93, i32 %104
  store i8 %103, i8* %105, align 1, !tbaa !12, !noalias !919
  %106 = udiv i32 %100, 10
  %107 = icmp ugt i32 %100, 9
  br i1 %107, label %98, label %108

; <label>:108:                                    ; preds = %98
  %109 = add nsw i32 %99, -2
  %110 = getelementptr inbounds i8, i8* %93, i32 %109
  store i8 45, i8* %110, align 1, !tbaa !12, !noalias !919
  br label %121

; <label>:111:                                    ; preds = %111, %95
  %112 = phi i32 [ %117, %111 ], [ 0, %95 ]
  %113 = phi i32 [ %119, %111 ], [ %91, %95 ]
  %114 = urem i32 %113, 10
  %115 = trunc i32 %114 to i8
  %116 = or i8 %115, 48
  %117 = add nsw i32 %112, -1
  %118 = getelementptr inbounds i8, i8* %93, i32 %117
  store i8 %116, i8* %118, align 1, !tbaa !12, !noalias !919
  %119 = udiv i32 %113, 10
  %120 = icmp ugt i32 %113, 9
  br i1 %120, label %111, label %121

; <label>:121:                                    ; preds = %111, %108
  %122 = phi i32 [ %109, %108 ], [ %117, %111 ]
  %123 = getelementptr inbounds i8, i8* %93, i32 %122
  %124 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %125 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %126 = bitcast i32* %124 to i64*
  store i64 0, i64* %126, align 4, !alias.scope !919
  store i32 15, i32* %125, align 4, !tbaa !81, !alias.scope !919
  %127 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %127, align 4, !tbaa !12, !alias.scope !919
  %128 = icmp eq i32 %122, 0
  br i1 %128, label %138, label %129

; <label>:129:                                    ; preds = %121
  %130 = sub i32 0, %122
  %131 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %17, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %131) #14, !noalias !919
  %132 = icmp ugt i32 %130, 15
  br i1 %132, label %135, label %133

; <label>:133:                                    ; preds = %129
  store i32 %130, i32* %124, align 4, !tbaa !83, !alias.scope !919
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %127, i8* %123, i32 %130, i32 1, i1 false) #14
  %134 = getelementptr inbounds i8, i8* %127, i32 %130
  store i8 0, i8* %134, align 1, !tbaa !12, !alias.scope !919
  br label %137

; <label>:135:                                    ; preds = %129
  %136 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %130, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %17, i8* %123) #14
  br label %137

; <label>:137:                                    ; preds = %135, %133
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %131) #14, !noalias !919
  br label %138

; <label>:138:                                    ; preds = %137, %121
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %92) #14, !noalias !919
  br label %614

; <label>:139:                                    ; preds = %3
  %140 = bitcast %class.variant.43* %1 to i32*
  %141 = load i32, i32* %140, align 4, !tbaa !24
  %142 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %142) #14, !noalias !924
  %143 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  %144 = icmp slt i32 %141, 0
  br i1 %144, label %146, label %145

; <label>:145:                                    ; preds = %139
  br label %161

; <label>:146:                                    ; preds = %139
  %147 = sub i32 0, %141
  br label %148

; <label>:148:                                    ; preds = %148, %146
  %149 = phi i32 [ 0, %146 ], [ %154, %148 ]
  %150 = phi i32 [ %147, %146 ], [ %156, %148 ]
  %151 = urem i32 %150, 10
  %152 = trunc i32 %151 to i8
  %153 = or i8 %152, 48
  %154 = add nsw i32 %149, -1
  %155 = getelementptr inbounds i8, i8* %143, i32 %154
  store i8 %153, i8* %155, align 1, !tbaa !12, !noalias !924
  %156 = udiv i32 %150, 10
  %157 = icmp ugt i32 %150, 9
  br i1 %157, label %148, label %158

; <label>:158:                                    ; preds = %148
  %159 = add nsw i32 %149, -2
  %160 = getelementptr inbounds i8, i8* %143, i32 %159
  store i8 45, i8* %160, align 1, !tbaa !12, !noalias !924
  br label %171

; <label>:161:                                    ; preds = %161, %145
  %162 = phi i32 [ %167, %161 ], [ 0, %145 ]
  %163 = phi i32 [ %169, %161 ], [ %141, %145 ]
  %164 = urem i32 %163, 10
  %165 = trunc i32 %164 to i8
  %166 = or i8 %165, 48
  %167 = add nsw i32 %162, -1
  %168 = getelementptr inbounds i8, i8* %143, i32 %167
  store i8 %166, i8* %168, align 1, !tbaa !12, !noalias !924
  %169 = udiv i32 %163, 10
  %170 = icmp ugt i32 %163, 9
  br i1 %170, label %161, label %171

; <label>:171:                                    ; preds = %161, %158
  %172 = phi i32 [ %159, %158 ], [ %167, %161 ]
  %173 = getelementptr inbounds i8, i8* %143, i32 %172
  %174 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %175 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %176 = bitcast i32* %174 to i64*
  store i64 0, i64* %176, align 4, !alias.scope !924
  store i32 15, i32* %175, align 4, !tbaa !81, !alias.scope !924
  %177 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %177, align 4, !tbaa !12, !alias.scope !924
  %178 = icmp eq i32 %172, 0
  br i1 %178, label %188, label %179

; <label>:179:                                    ; preds = %171
  %180 = sub i32 0, %172
  %181 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %181) #14, !noalias !924
  %182 = icmp ugt i32 %180, 15
  br i1 %182, label %185, label %183

; <label>:183:                                    ; preds = %179
  store i32 %180, i32* %174, align 4, !tbaa !83, !alias.scope !924
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %177, i8* %173, i32 %180, i32 1, i1 false) #14
  %184 = getelementptr inbounds i8, i8* %177, i32 %180
  store i8 0, i8* %184, align 1, !tbaa !12, !alias.scope !924
  br label %187

; <label>:185:                                    ; preds = %179
  %186 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %180, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* %173) #14
  br label %187

; <label>:187:                                    ; preds = %185, %183
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %181) #14, !noalias !924
  br label %188

; <label>:188:                                    ; preds = %187, %171
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %142) #14, !noalias !924
  br label %614

; <label>:189:                                    ; preds = %3
  %190 = bitcast %class.variant.43* %1 to i64*
  %191 = load i64, i64* %190, align 8, !tbaa !61
  tail call void @"\01??$_Integral_to_string@D_J@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_J@Z"(%"class.std::basic_string"* sret %0, i64 %191) #14
  br label %614

; <label>:192:                                    ; preds = %3
  %193 = bitcast %class.variant.43* %1 to i32*
  %194 = load i32, i32* %193, align 4, !tbaa !538
  %195 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %195) #14, !noalias !929
  %196 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  %197 = icmp slt i32 %194, 0
  br i1 %197, label %199, label %198

; <label>:198:                                    ; preds = %192
  br label %214

; <label>:199:                                    ; preds = %192
  %200 = sub i32 0, %194
  br label %201

; <label>:201:                                    ; preds = %201, %199
  %202 = phi i32 [ 0, %199 ], [ %207, %201 ]
  %203 = phi i32 [ %200, %199 ], [ %209, %201 ]
  %204 = urem i32 %203, 10
  %205 = trunc i32 %204 to i8
  %206 = or i8 %205, 48
  %207 = add nsw i32 %202, -1
  %208 = getelementptr inbounds i8, i8* %196, i32 %207
  store i8 %206, i8* %208, align 1, !tbaa !12, !noalias !929
  %209 = udiv i32 %203, 10
  %210 = icmp ugt i32 %203, 9
  br i1 %210, label %201, label %211

; <label>:211:                                    ; preds = %201
  %212 = add nsw i32 %202, -2
  %213 = getelementptr inbounds i8, i8* %196, i32 %212
  store i8 45, i8* %213, align 1, !tbaa !12, !noalias !929
  br label %224

; <label>:214:                                    ; preds = %214, %198
  %215 = phi i32 [ %220, %214 ], [ 0, %198 ]
  %216 = phi i32 [ %222, %214 ], [ %194, %198 ]
  %217 = urem i32 %216, 10
  %218 = trunc i32 %217 to i8
  %219 = or i8 %218, 48
  %220 = add nsw i32 %215, -1
  %221 = getelementptr inbounds i8, i8* %196, i32 %220
  store i8 %219, i8* %221, align 1, !tbaa !12, !noalias !929
  %222 = udiv i32 %216, 10
  %223 = icmp ugt i32 %216, 9
  br i1 %223, label %214, label %224

; <label>:224:                                    ; preds = %214, %211
  %225 = phi i32 [ %212, %211 ], [ %220, %214 ]
  %226 = getelementptr inbounds i8, i8* %196, i32 %225
  %227 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %228 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %229 = bitcast i32* %227 to i64*
  store i64 0, i64* %229, align 4, !alias.scope !929
  store i32 15, i32* %228, align 4, !tbaa !81, !alias.scope !929
  %230 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %230, align 4, !tbaa !12, !alias.scope !929
  %231 = icmp eq i32 %225, 0
  br i1 %231, label %241, label %232

; <label>:232:                                    ; preds = %224
  %233 = sub i32 0, %225
  %234 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %234) #14, !noalias !929
  %235 = icmp ugt i32 %233, 15
  br i1 %235, label %238, label %236

; <label>:236:                                    ; preds = %232
  store i32 %233, i32* %227, align 4, !tbaa !83, !alias.scope !929
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %230, i8* %226, i32 %233, i32 1, i1 false) #14
  %237 = getelementptr inbounds i8, i8* %230, i32 %233
  store i8 0, i8* %237, align 1, !tbaa !12, !alias.scope !929
  br label %240

; <label>:238:                                    ; preds = %232
  %239 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %233, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* %226) #14
  br label %240

; <label>:240:                                    ; preds = %238, %236
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %234) #14, !noalias !929
  br label %241

; <label>:241:                                    ; preds = %240, %224
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %195) #14, !noalias !929
  br label %614

; <label>:242:                                    ; preds = %3
  %243 = bitcast %class.variant.43* %1 to i8*
  %244 = load i8, i8* %243, align 1, !tbaa !12
  %245 = zext i8 %244 to i32
  %246 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %246) #14, !noalias !934
  %247 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  br label %248

; <label>:248:                                    ; preds = %248, %242
  %249 = phi i32 [ 0, %242 ], [ %254, %248 ]
  %250 = phi i32 [ %245, %242 ], [ %256, %248 ]
  %251 = urem i32 %250, 10
  %252 = trunc i32 %251 to i8
  %253 = or i8 %252, 48
  %254 = add nsw i32 %249, -1
  %255 = getelementptr inbounds i8, i8* %247, i32 %254
  store i8 %253, i8* %255, align 1, !tbaa !12, !noalias !934
  %256 = udiv i32 %250, 10
  %257 = icmp ugt i32 %250, 9
  br i1 %257, label %248, label %258

; <label>:258:                                    ; preds = %248
  %259 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %260 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %261 = bitcast i32* %259 to i64*
  store i64 0, i64* %261, align 4, !alias.scope !934
  store i32 15, i32* %260, align 4, !tbaa !81, !alias.scope !934
  %262 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %262, align 4, !tbaa !12, !alias.scope !934
  %263 = icmp eq i32 %254, 0
  br i1 %263, label %273, label %264

; <label>:264:                                    ; preds = %258
  %265 = sub i32 1, %249
  %266 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %266) #14, !noalias !934
  %267 = icmp ugt i32 %265, 15
  br i1 %267, label %270, label %268

; <label>:268:                                    ; preds = %264
  store i32 %265, i32* %259, align 4, !tbaa !83, !alias.scope !934
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %262, i8* %255, i32 %265, i32 1, i1 false) #14
  %269 = getelementptr inbounds i8, i8* %262, i32 %265
  store i8 0, i8* %269, align 1, !tbaa !12, !alias.scope !934
  br label %272

; <label>:270:                                    ; preds = %264
  %271 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %265, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* %255) #14
  br label %272

; <label>:272:                                    ; preds = %270, %268
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %266) #14, !noalias !934
  br label %273

; <label>:273:                                    ; preds = %272, %258
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %246) #14, !noalias !934
  br label %614

; <label>:274:                                    ; preds = %3
  %275 = bitcast %class.variant.43* %1 to i16*
  %276 = load i16, i16* %275, align 2, !tbaa !59
  %277 = zext i16 %276 to i32
  %278 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %278) #14, !noalias !939
  %279 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  br label %280

; <label>:280:                                    ; preds = %280, %274
  %281 = phi i32 [ 0, %274 ], [ %286, %280 ]
  %282 = phi i32 [ %277, %274 ], [ %288, %280 ]
  %283 = urem i32 %282, 10
  %284 = trunc i32 %283 to i8
  %285 = or i8 %284, 48
  %286 = add nsw i32 %281, -1
  %287 = getelementptr inbounds i8, i8* %279, i32 %286
  store i8 %285, i8* %287, align 1, !tbaa !12, !noalias !939
  %288 = udiv i32 %282, 10
  %289 = icmp ugt i32 %282, 9
  br i1 %289, label %280, label %290

; <label>:290:                                    ; preds = %280
  %291 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %292 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %293 = bitcast i32* %291 to i64*
  store i64 0, i64* %293, align 4, !alias.scope !939
  store i32 15, i32* %292, align 4, !tbaa !81, !alias.scope !939
  %294 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %294, align 4, !tbaa !12, !alias.scope !939
  %295 = icmp eq i32 %286, 0
  br i1 %295, label %305, label %296

; <label>:296:                                    ; preds = %290
  %297 = sub i32 1, %281
  %298 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %298) #14, !noalias !939
  %299 = icmp ugt i32 %297, 15
  br i1 %299, label %302, label %300

; <label>:300:                                    ; preds = %296
  store i32 %297, i32* %291, align 4, !tbaa !83, !alias.scope !939
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %294, i8* %287, i32 %297, i32 1, i1 false) #14
  %301 = getelementptr inbounds i8, i8* %294, i32 %297
  store i8 0, i8* %301, align 1, !tbaa !12, !alias.scope !939
  br label %304

; <label>:302:                                    ; preds = %296
  %303 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %297, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* %287) #14
  br label %304

; <label>:304:                                    ; preds = %302, %300
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %298) #14, !noalias !939
  br label %305

; <label>:305:                                    ; preds = %304, %290
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %278) #14, !noalias !939
  br label %614

; <label>:306:                                    ; preds = %3
  %307 = bitcast %class.variant.43* %1 to i32*
  %308 = load i32, i32* %307, align 4, !tbaa !24
  %309 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %309) #14, !noalias !944
  %310 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  br label %311

; <label>:311:                                    ; preds = %311, %306
  %312 = phi i32 [ 0, %306 ], [ %317, %311 ]
  %313 = phi i32 [ %308, %306 ], [ %319, %311 ]
  %314 = urem i32 %313, 10
  %315 = trunc i32 %314 to i8
  %316 = or i8 %315, 48
  %317 = add nsw i32 %312, -1
  %318 = getelementptr inbounds i8, i8* %310, i32 %317
  store i8 %316, i8* %318, align 1, !tbaa !12, !noalias !944
  %319 = udiv i32 %313, 10
  %320 = icmp ugt i32 %313, 9
  br i1 %320, label %311, label %321

; <label>:321:                                    ; preds = %311
  %322 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %323 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %324 = bitcast i32* %322 to i64*
  store i64 0, i64* %324, align 4, !alias.scope !944
  store i32 15, i32* %323, align 4, !tbaa !81, !alias.scope !944
  %325 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %325, align 4, !tbaa !12, !alias.scope !944
  %326 = icmp eq i32 %317, 0
  br i1 %326, label %336, label %327

; <label>:327:                                    ; preds = %321
  %328 = sub i32 1, %312
  %329 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %329) #14, !noalias !944
  %330 = icmp ugt i32 %328, 15
  br i1 %330, label %333, label %331

; <label>:331:                                    ; preds = %327
  store i32 %328, i32* %322, align 4, !tbaa !83, !alias.scope !944
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %325, i8* %318, i32 %328, i32 1, i1 false) #14
  %332 = getelementptr inbounds i8, i8* %325, i32 %328
  store i8 0, i8* %332, align 1, !tbaa !12, !alias.scope !944
  br label %335

; <label>:333:                                    ; preds = %327
  %334 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %328, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* %318) #14
  br label %335

; <label>:335:                                    ; preds = %333, %331
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %329) #14, !noalias !944
  br label %336

; <label>:336:                                    ; preds = %335, %321
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %309) #14, !noalias !944
  br label %614

; <label>:337:                                    ; preds = %3
  %338 = bitcast %class.variant.43* %1 to i64*
  %339 = load i64, i64* %338, align 8, !tbaa !61
  %340 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %340) #14, !noalias !949
  %341 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  %342 = icmp ugt i64 %339, 4294967295
  %343 = trunc i64 %339 to i32
  br i1 %342, label %344, label %398

; <label>:344:                                    ; preds = %337
  br label %345

; <label>:345:                                    ; preds = %345, %344
  %346 = phi i8* [ %394, %345 ], [ %341, %344 ]
  %347 = phi i64 [ %350, %345 ], [ %339, %344 ]
  %348 = urem i64 %347, 1000000000
  %349 = trunc i64 %348 to i32
  %350 = udiv i64 %347, 1000000000
  %351 = urem i32 %349, 10
  %352 = trunc i32 %351 to i8
  %353 = or i8 %352, 48
  %354 = getelementptr inbounds i8, i8* %346, i32 -1
  store i8 %353, i8* %354, align 1, !tbaa !12, !noalias !949
  %355 = udiv i32 %349, 10
  %356 = urem i32 %355, 10
  %357 = trunc i32 %356 to i8
  %358 = or i8 %357, 48
  %359 = getelementptr inbounds i8, i8* %346, i32 -2
  store i8 %358, i8* %359, align 1, !tbaa !12, !noalias !949
  %360 = udiv i32 %349, 100
  %361 = urem i32 %360, 10
  %362 = trunc i32 %361 to i8
  %363 = or i8 %362, 48
  %364 = getelementptr inbounds i8, i8* %346, i32 -3
  store i8 %363, i8* %364, align 1, !tbaa !12, !noalias !949
  %365 = udiv i32 %349, 1000
  %366 = urem i32 %365, 10
  %367 = trunc i32 %366 to i8
  %368 = or i8 %367, 48
  %369 = getelementptr inbounds i8, i8* %346, i32 -4
  store i8 %368, i8* %369, align 1, !tbaa !12, !noalias !949
  %370 = udiv i32 %349, 10000
  %371 = urem i32 %370, 10
  %372 = trunc i32 %371 to i8
  %373 = or i8 %372, 48
  %374 = getelementptr inbounds i8, i8* %346, i32 -5
  store i8 %373, i8* %374, align 1, !tbaa !12, !noalias !949
  %375 = udiv i32 %349, 100000
  %376 = urem i32 %375, 10
  %377 = trunc i32 %376 to i8
  %378 = or i8 %377, 48
  %379 = getelementptr inbounds i8, i8* %346, i32 -6
  store i8 %378, i8* %379, align 1, !tbaa !12, !noalias !949
  %380 = udiv i32 %349, 1000000
  %381 = urem i32 %380, 10
  %382 = trunc i32 %381 to i8
  %383 = or i8 %382, 48
  %384 = getelementptr inbounds i8, i8* %346, i32 -7
  store i8 %383, i8* %384, align 1, !tbaa !12, !noalias !949
  %385 = udiv i32 %349, 10000000
  %386 = urem i32 %385, 10
  %387 = trunc i32 %386 to i8
  %388 = or i8 %387, 48
  %389 = getelementptr inbounds i8, i8* %346, i32 -8
  store i8 %388, i8* %389, align 1, !tbaa !12, !noalias !949
  %390 = udiv i32 %349, 100000000
  %391 = urem i32 %390, 10
  %392 = trunc i32 %391 to i8
  %393 = or i8 %392, 48
  %394 = getelementptr i8, i8* %346, i32 -9
  store i8 %393, i8* %394, align 1, !tbaa !12, !noalias !949
  %395 = icmp ugt i64 %347, 4294967295999999999
  br i1 %395, label %345, label %396

; <label>:396:                                    ; preds = %345
  %397 = trunc i64 %350 to i32
  br label %398

; <label>:398:                                    ; preds = %396, %337
  %399 = phi i8* [ %394, %396 ], [ %341, %337 ]
  %400 = phi i32 [ %397, %396 ], [ %343, %337 ]
  br label %401

; <label>:401:                                    ; preds = %401, %398
  %402 = phi i8* [ %407, %401 ], [ %399, %398 ]
  %403 = phi i32 [ %408, %401 ], [ %400, %398 ]
  %404 = urem i32 %403, 10
  %405 = trunc i32 %404 to i8
  %406 = or i8 %405, 48
  %407 = getelementptr inbounds i8, i8* %402, i32 -1
  store i8 %406, i8* %407, align 1, !tbaa !12, !noalias !949
  %408 = udiv i32 %403, 10
  %409 = icmp ugt i32 %403, 9
  br i1 %409, label %401, label %410

; <label>:410:                                    ; preds = %401
  %411 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %412 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %413 = bitcast i32* %411 to i64*
  store i64 0, i64* %413, align 4, !alias.scope !949
  store i32 15, i32* %412, align 4, !tbaa !81, !alias.scope !949
  %414 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %414, align 4, !tbaa !12, !alias.scope !949
  %415 = icmp eq i8* %407, %341
  br i1 %415, label %427, label %416

; <label>:416:                                    ; preds = %410
  %417 = ptrtoint i8* %341 to i32
  %418 = ptrtoint i8* %407 to i32
  %419 = sub i32 %417, %418
  %420 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %420) #14, !noalias !949
  %421 = icmp ugt i32 %419, 15
  br i1 %421, label %424, label %422

; <label>:422:                                    ; preds = %416
  store i32 %419, i32* %411, align 4, !tbaa !83, !alias.scope !949
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %414, i8* %407, i32 %419, i32 1, i1 false) #14
  %423 = getelementptr inbounds i8, i8* %414, i32 %419
  store i8 0, i8* %423, align 1, !tbaa !12, !alias.scope !949
  br label %426

; <label>:424:                                    ; preds = %416
  %425 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %419, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* %407) #14
  br label %426

; <label>:426:                                    ; preds = %424, %422
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %420) #14, !noalias !949
  br label %427

; <label>:427:                                    ; preds = %426, %410
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %340) #14, !noalias !949
  br label %614

; <label>:428:                                    ; preds = %3
  %429 = bitcast %class.variant.43* %1 to i32*
  %430 = load i32, i32* %429, align 4, !tbaa !540
  %431 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %431) #14, !noalias !954
  %432 = getelementptr inbounds [21 x i8], [21 x i8]* %19, i32 0, i32 21
  br label %433

; <label>:433:                                    ; preds = %433, %428
  %434 = phi i32 [ 0, %428 ], [ %439, %433 ]
  %435 = phi i32 [ %430, %428 ], [ %441, %433 ]
  %436 = urem i32 %435, 10
  %437 = trunc i32 %436 to i8
  %438 = or i8 %437, 48
  %439 = add nsw i32 %434, -1
  %440 = getelementptr inbounds i8, i8* %432, i32 %439
  store i8 %438, i8* %440, align 1, !tbaa !12, !noalias !954
  %441 = udiv i32 %435, 10
  %442 = icmp ugt i32 %435, 9
  br i1 %442, label %433, label %443

; <label>:443:                                    ; preds = %433
  %444 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %445 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %446 = bitcast i32* %444 to i64*
  store i64 0, i64* %446, align 4, !alias.scope !954
  store i32 15, i32* %445, align 4, !tbaa !81, !alias.scope !954
  %447 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %447, align 4, !tbaa !12, !alias.scope !954
  %448 = icmp eq i32 %439, 0
  br i1 %448, label %458, label %449

; <label>:449:                                    ; preds = %443
  %450 = sub i32 1, %434
  %451 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %451) #14, !noalias !954
  %452 = icmp ugt i32 %450, 15
  br i1 %452, label %455, label %453

; <label>:453:                                    ; preds = %449
  store i32 %450, i32* %444, align 4, !tbaa !83, !alias.scope !954
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %447, i8* %440, i32 %450, i32 1, i1 false) #14
  %454 = getelementptr inbounds i8, i8* %447, i32 %450
  store i8 0, i8* %454, align 1, !tbaa !12, !alias.scope !954
  br label %457

; <label>:455:                                    ; preds = %449
  %456 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %450, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %440) #14
  br label %457

; <label>:457:                                    ; preds = %455, %453
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %451) #14, !noalias !954
  br label %458

; <label>:458:                                    ; preds = %457, %443
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %431) #14, !noalias !954
  br label %614

; <label>:459:                                    ; preds = %3
  %460 = bitcast %class.variant.43* %1 to float*
  %461 = load float, float* %460, align 4, !tbaa !70
  tail call void @"\01??$_Floating_to_string@M@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDM@Z"(%"class.std::basic_string"* sret %0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02NJPGOMH@?$CFf?$AA@", i32 0, i32 0), float %461) #14
  br label %614

; <label>:462:                                    ; preds = %3
  %463 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 0, i32 0, i32 0
  %464 = load double, double* %463, align 8, !tbaa !72
  tail call void @"\01??$_Floating_to_string@N@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDN@Z"(%"class.std::basic_string"* sret %0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02NJPGOMH@?$CFf?$AA@", i32 0, i32 0), double %464) #14
  br label %614

; <label>:465:                                    ; preds = %3
  %466 = bitcast %"class.std::basic_string"* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %466) #14
  %467 = bitcast %class.variant.43* %1 to %"struct.std::pair.23"**
  %468 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %467, align 4, !tbaa !542
  %469 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 1
  %470 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 2
  %471 = bitcast i32* %469 to i64*
  store i64 0, i64* %471, align 4, !alias.scope !959
  store i32 15, i32* %470, align 4, !tbaa !81, !alias.scope !959
  store i8 0, i8* %466, align 4, !tbaa !12, !alias.scope !959
  %472 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %468, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %473 = load i32, i32* %472, align 4, !tbaa !83, !noalias !959
  %474 = add i32 %473, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %20, i32 %474) #14
  %475 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %475) #14, !noalias !959
  %476 = load i32, i32* %469, align 4, !tbaa !83, !alias.scope !959
  %477 = load i32, i32* %470, align 4, !tbaa !81, !alias.scope !959
  %478 = icmp ult i32 %476, %477
  br i1 %478, label %479, label %487

; <label>:479:                                    ; preds = %465
  %480 = add i32 %476, 1
  store i32 %480, i32* %469, align 4, !tbaa !83, !alias.scope !959
  %481 = icmp ugt i32 %477, 15
  %482 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %483 = load i8*, i8** %482, align 4
  %484 = select i1 %481, i8* %483, i8* %466
  %485 = getelementptr inbounds i8, i8* %484, i32 %476
  store i8 34, i8* %485, align 1, !tbaa !12
  %486 = getelementptr inbounds i8, i8* %484, i32 %480
  store i8 0, i8* %486, align 1, !tbaa !12
  br label %489

; <label>:487:                                    ; preds = %465
  %488 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %20, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8 signext 34) #14
  br label %489

; <label>:489:                                    ; preds = %487, %479
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %475) #14, !noalias !959
  %490 = load i32, i32* %472, align 4, !tbaa !83, !noalias !959
  %491 = bitcast %"struct.std::pair.23"* %468 to i8*
  %492 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %468, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %493 = load i32, i32* %492, align 4, !tbaa !81, !noalias !959
  %494 = icmp ugt i32 %493, 15
  %495 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %468, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %496 = load i8*, i8** %495, align 4, !noalias !959
  %497 = select i1 %494, i8* %496, i8* %491
  %498 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %498) #14, !noalias !959
  %499 = load i32, i32* %469, align 4, !tbaa !83, !alias.scope !959
  %500 = load i32, i32* %470, align 4, !tbaa !81, !alias.scope !959
  %501 = sub i32 %500, %499
  %502 = icmp ult i32 %501, %490
  br i1 %502, label %511, label %503

; <label>:503:                                    ; preds = %489
  %504 = add i32 %499, %490
  store i32 %504, i32* %469, align 4, !tbaa !83, !alias.scope !959
  %505 = icmp ugt i32 %500, 15
  %506 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %507 = load i8*, i8** %506, align 4
  %508 = select i1 %505, i8* %507, i8* %466
  %509 = getelementptr inbounds i8, i8* %508, i32 %499
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %509, i8* %497, i32 %490, i32 1, i1 false) #14
  %510 = getelementptr inbounds i8, i8* %508, i32 %504
  store i8 0, i8* %510, align 1, !tbaa !12
  br label %513

; <label>:511:                                    ; preds = %489
  %512 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %20, i32 %490, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %497, i32 %490) #14
  br label %513

; <label>:513:                                    ; preds = %511, %503
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %498) #14, !noalias !959
  %514 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %514) #14, !noalias !962
  %515 = load i32, i32* %469, align 4, !tbaa !83, !noalias !962
  %516 = load i32, i32* %470, align 4, !tbaa !81, !noalias !962
  %517 = icmp ult i32 %515, %516
  br i1 %517, label %518, label %526

; <label>:518:                                    ; preds = %513
  %519 = add i32 %515, 1
  store i32 %519, i32* %469, align 4, !tbaa !83, !noalias !962
  %520 = icmp ugt i32 %516, 15
  %521 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %522 = load i8*, i8** %521, align 4, !noalias !962
  %523 = select i1 %520, i8* %522, i8* %466
  %524 = getelementptr inbounds i8, i8* %523, i32 %515
  store i8 34, i8* %524, align 1, !tbaa !12, !noalias !962
  %525 = getelementptr inbounds i8, i8* %523, i32 %519
  store i8 0, i8* %525, align 1, !tbaa !12, !noalias !962
  br label %528

; <label>:526:                                    ; preds = %513
  %527 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %20, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8 signext 34) #14, !noalias !962
  br label %528

; <label>:528:                                    ; preds = %526, %518
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %514) #14, !noalias !962
  %529 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %529, i8* nonnull %466, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %466) #14
  br label %614

; <label>:530:                                    ; preds = %3
  %531 = bitcast %"class.std::basic_string"* %21 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %531) #14
  %532 = bitcast %class.variant.43* %1 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %533 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %532, align 4, !tbaa !549
  %534 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %533, i32 0, i32 1
  %535 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 1
  %536 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 2
  %537 = bitcast i32* %535 to i64*
  store i64 0, i64* %537, align 4, !alias.scope !965
  store i32 15, i32* %536, align 4, !tbaa !81, !alias.scope !965
  store i8 0, i8* %531, align 4, !tbaa !12, !alias.scope !965
  %538 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %533, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %539 = load i32, i32* %538, align 4, !tbaa !83, !noalias !965
  %540 = add i32 %539, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %21, i32 %540) #14
  %541 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %541) #14, !noalias !965
  %542 = load i32, i32* %535, align 4, !tbaa !83, !alias.scope !965
  %543 = load i32, i32* %536, align 4, !tbaa !81, !alias.scope !965
  %544 = icmp ult i32 %542, %543
  br i1 %544, label %545, label %553

; <label>:545:                                    ; preds = %530
  %546 = add i32 %542, 1
  store i32 %546, i32* %535, align 4, !tbaa !83, !alias.scope !965
  %547 = icmp ugt i32 %543, 15
  %548 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %549 = load i8*, i8** %548, align 4
  %550 = select i1 %547, i8* %549, i8* %531
  %551 = getelementptr inbounds i8, i8* %550, i32 %542
  store i8 34, i8* %551, align 1, !tbaa !12
  %552 = getelementptr inbounds i8, i8* %550, i32 %546
  store i8 0, i8* %552, align 1, !tbaa !12
  br label %555

; <label>:553:                                    ; preds = %530
  %554 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %21, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext 34) #14
  br label %555

; <label>:555:                                    ; preds = %553, %545
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %541) #14, !noalias !965
  %556 = load i32, i32* %538, align 4, !tbaa !83, !noalias !965
  %557 = bitcast %"class.std::basic_string"* %534 to i8*
  %558 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %533, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %559 = load i32, i32* %558, align 4, !tbaa !81, !noalias !965
  %560 = icmp ugt i32 %559, 15
  %561 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %534, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %562 = load i8*, i8** %561, align 4, !noalias !965
  %563 = select i1 %560, i8* %562, i8* %557
  %564 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %564) #14, !noalias !965
  %565 = load i32, i32* %535, align 4, !tbaa !83, !alias.scope !965
  %566 = load i32, i32* %536, align 4, !tbaa !81, !alias.scope !965
  %567 = sub i32 %566, %565
  %568 = icmp ult i32 %567, %556
  br i1 %568, label %577, label %569

; <label>:569:                                    ; preds = %555
  %570 = add i32 %565, %556
  store i32 %570, i32* %535, align 4, !tbaa !83, !alias.scope !965
  %571 = icmp ugt i32 %566, 15
  %572 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %573 = load i8*, i8** %572, align 4
  %574 = select i1 %571, i8* %573, i8* %531
  %575 = getelementptr inbounds i8, i8* %574, i32 %565
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %575, i8* %563, i32 %556, i32 1, i1 false) #14
  %576 = getelementptr inbounds i8, i8* %574, i32 %570
  store i8 0, i8* %576, align 1, !tbaa !12
  br label %579

; <label>:577:                                    ; preds = %555
  %578 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %21, i32 %556, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %563, i32 %556) #14
  br label %579

; <label>:579:                                    ; preds = %577, %569
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %564) #14, !noalias !965
  %580 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %580) #14, !noalias !968
  %581 = load i32, i32* %535, align 4, !tbaa !83, !noalias !968
  %582 = load i32, i32* %536, align 4, !tbaa !81, !noalias !968
  %583 = icmp ult i32 %581, %582
  br i1 %583, label %584, label %592

; <label>:584:                                    ; preds = %579
  %585 = add i32 %581, 1
  store i32 %585, i32* %535, align 4, !tbaa !83, !noalias !968
  %586 = icmp ugt i32 %582, 15
  %587 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %588 = load i8*, i8** %587, align 4, !noalias !968
  %589 = select i1 %586, i8* %588, i8* %531
  %590 = getelementptr inbounds i8, i8* %589, i32 %581
  store i8 34, i8* %590, align 1, !tbaa !12, !noalias !968
  %591 = getelementptr inbounds i8, i8* %589, i32 %585
  store i8 0, i8* %591, align 1, !tbaa !12, !noalias !968
  br label %594

; <label>:592:                                    ; preds = %579
  %593 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %21, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8 signext 34) #14, !noalias !968
  br label %594

; <label>:594:                                    ; preds = %592, %584
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %580) #14, !noalias !968
  %595 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %595, i8* nonnull %531, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %531) #14
  br label %614

; <label>:596:                                    ; preds = %3
  %597 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %598 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %598, align 4, !tbaa !81
  %599 = bitcast %"class.std::basic_string"* %0 to i8*
  store i32 6, i32* %597, align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %599, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06HNBMIJMO@?$FLCODE?$FN?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %600 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %600, align 2, !tbaa !12
  br label %614

; <label>:601:                                    ; preds = %3
  %602 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %603 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %603, align 4, !tbaa !81
  %604 = bitcast %"class.std::basic_string"* %0 to i8*
  store i32 6, i32* %602, align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %604, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01??_C@_06HNBMIJMO@?$FLCODE?$FN?$AA@", i32 0, i32 0), i32 6, i32 1, i1 false) #14
  %605 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2
  store i8 0, i8* %605, align 2, !tbaa !12
  br label %614

; <label>:606:                                    ; preds = %3
  %607 = bitcast %class.variant.43* %1 to %struct.Combined**
  %608 = load %struct.Combined*, %struct.Combined** %607, align 4, !tbaa !23
  tail call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUCombined@@I@Z"(%"class.std::basic_string"* sret %0, %struct.Combined* dereferenceable(28) %608, i32 %2)
  br label %614

; <label>:609:                                    ; preds = %3
  %610 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %611 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %612 = bitcast i32* %610 to i64*
  store i64 0, i64* %612, align 4
  store i32 15, i32* %611, align 4, !tbaa !81
  %613 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %613, align 4, !tbaa !12
  br label %614

; <label>:614:                                    ; preds = %609, %606, %601, %596, %594, %528, %462, %459, %458, %427, %336, %305, %273, %241, %189, %188, %138, %87, %35, %32
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01??$_Integral_to_string@D_J@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_J@Z"(%"class.std::basic_string"* noalias sret, i64) local_unnamed_addr #1 comdat {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca [21 x i8], align 1
  %5 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %5) #14
  %6 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 21
  %7 = icmp slt i64 %1, 0
  br i1 %7, label %8, label %80

; <label>:8:                                      ; preds = %2
  %9 = sub i64 0, %1
  %10 = icmp ugt i64 %9, 4294967295
  %11 = trunc i64 %9 to i32
  br i1 %10, label %12, label %66

; <label>:12:                                     ; preds = %8
  br label %13

; <label>:13:                                     ; preds = %13, %12
  %14 = phi i8* [ %62, %13 ], [ %6, %12 ]
  %15 = phi i64 [ %18, %13 ], [ %9, %12 ]
  %16 = urem i64 %15, 1000000000
  %17 = trunc i64 %16 to i32
  %18 = udiv i64 %15, 1000000000
  %19 = urem i32 %17, 10
  %20 = trunc i32 %19 to i8
  %21 = or i8 %20, 48
  %22 = getelementptr inbounds i8, i8* %14, i32 -1
  store i8 %21, i8* %22, align 1, !tbaa !12
  %23 = udiv i32 %17, 10
  %24 = urem i32 %23, 10
  %25 = trunc i32 %24 to i8
  %26 = or i8 %25, 48
  %27 = getelementptr inbounds i8, i8* %14, i32 -2
  store i8 %26, i8* %27, align 1, !tbaa !12
  %28 = udiv i32 %17, 100
  %29 = urem i32 %28, 10
  %30 = trunc i32 %29 to i8
  %31 = or i8 %30, 48
  %32 = getelementptr inbounds i8, i8* %14, i32 -3
  store i8 %31, i8* %32, align 1, !tbaa !12
  %33 = udiv i32 %17, 1000
  %34 = urem i32 %33, 10
  %35 = trunc i32 %34 to i8
  %36 = or i8 %35, 48
  %37 = getelementptr inbounds i8, i8* %14, i32 -4
  store i8 %36, i8* %37, align 1, !tbaa !12
  %38 = udiv i32 %17, 10000
  %39 = urem i32 %38, 10
  %40 = trunc i32 %39 to i8
  %41 = or i8 %40, 48
  %42 = getelementptr inbounds i8, i8* %14, i32 -5
  store i8 %41, i8* %42, align 1, !tbaa !12
  %43 = udiv i32 %17, 100000
  %44 = urem i32 %43, 10
  %45 = trunc i32 %44 to i8
  %46 = or i8 %45, 48
  %47 = getelementptr inbounds i8, i8* %14, i32 -6
  store i8 %46, i8* %47, align 1, !tbaa !12
  %48 = udiv i32 %17, 1000000
  %49 = urem i32 %48, 10
  %50 = trunc i32 %49 to i8
  %51 = or i8 %50, 48
  %52 = getelementptr inbounds i8, i8* %14, i32 -7
  store i8 %51, i8* %52, align 1, !tbaa !12
  %53 = udiv i32 %17, 10000000
  %54 = urem i32 %53, 10
  %55 = trunc i32 %54 to i8
  %56 = or i8 %55, 48
  %57 = getelementptr inbounds i8, i8* %14, i32 -8
  store i8 %56, i8* %57, align 1, !tbaa !12
  %58 = udiv i32 %17, 100000000
  %59 = urem i32 %58, 10
  %60 = trunc i32 %59 to i8
  %61 = or i8 %60, 48
  %62 = getelementptr i8, i8* %14, i32 -9
  store i8 %61, i8* %62, align 1, !tbaa !12
  %63 = icmp ugt i64 %15, 4294967295999999999
  br i1 %63, label %13, label %64

; <label>:64:                                     ; preds = %13
  %65 = trunc i64 %18 to i32
  br label %66

; <label>:66:                                     ; preds = %64, %8
  %67 = phi i8* [ %62, %64 ], [ %6, %8 ]
  %68 = phi i32 [ %65, %64 ], [ %11, %8 ]
  br label %69

; <label>:69:                                     ; preds = %69, %66
  %70 = phi i8* [ %75, %69 ], [ %67, %66 ]
  %71 = phi i32 [ %76, %69 ], [ %68, %66 ]
  %72 = urem i32 %71, 10
  %73 = trunc i32 %72 to i8
  %74 = or i8 %73, 48
  %75 = getelementptr inbounds i8, i8* %70, i32 -1
  store i8 %74, i8* %75, align 1, !tbaa !12
  %76 = udiv i32 %71, 10
  %77 = icmp ugt i32 %71, 9
  br i1 %77, label %69, label %78

; <label>:78:                                     ; preds = %69
  %79 = getelementptr inbounds i8, i8* %70, i32 -2
  store i8 45, i8* %79, align 1, !tbaa !12
  br label %149

; <label>:80:                                     ; preds = %2
  %81 = icmp ugt i64 %1, 4294967295
  %82 = trunc i64 %1 to i32
  br i1 %81, label %83, label %137

; <label>:83:                                     ; preds = %80
  br label %84

; <label>:84:                                     ; preds = %84, %83
  %85 = phi i8* [ %133, %84 ], [ %6, %83 ]
  %86 = phi i64 [ %89, %84 ], [ %1, %83 ]
  %87 = urem i64 %86, 1000000000
  %88 = trunc i64 %87 to i32
  %89 = udiv i64 %86, 1000000000
  %90 = urem i32 %88, 10
  %91 = trunc i32 %90 to i8
  %92 = or i8 %91, 48
  %93 = getelementptr inbounds i8, i8* %85, i32 -1
  store i8 %92, i8* %93, align 1, !tbaa !12
  %94 = udiv i32 %88, 10
  %95 = urem i32 %94, 10
  %96 = trunc i32 %95 to i8
  %97 = or i8 %96, 48
  %98 = getelementptr inbounds i8, i8* %85, i32 -2
  store i8 %97, i8* %98, align 1, !tbaa !12
  %99 = udiv i32 %88, 100
  %100 = urem i32 %99, 10
  %101 = trunc i32 %100 to i8
  %102 = or i8 %101, 48
  %103 = getelementptr inbounds i8, i8* %85, i32 -3
  store i8 %102, i8* %103, align 1, !tbaa !12
  %104 = udiv i32 %88, 1000
  %105 = urem i32 %104, 10
  %106 = trunc i32 %105 to i8
  %107 = or i8 %106, 48
  %108 = getelementptr inbounds i8, i8* %85, i32 -4
  store i8 %107, i8* %108, align 1, !tbaa !12
  %109 = udiv i32 %88, 10000
  %110 = urem i32 %109, 10
  %111 = trunc i32 %110 to i8
  %112 = or i8 %111, 48
  %113 = getelementptr inbounds i8, i8* %85, i32 -5
  store i8 %112, i8* %113, align 1, !tbaa !12
  %114 = udiv i32 %88, 100000
  %115 = urem i32 %114, 10
  %116 = trunc i32 %115 to i8
  %117 = or i8 %116, 48
  %118 = getelementptr inbounds i8, i8* %85, i32 -6
  store i8 %117, i8* %118, align 1, !tbaa !12
  %119 = udiv i32 %88, 1000000
  %120 = urem i32 %119, 10
  %121 = trunc i32 %120 to i8
  %122 = or i8 %121, 48
  %123 = getelementptr inbounds i8, i8* %85, i32 -7
  store i8 %122, i8* %123, align 1, !tbaa !12
  %124 = udiv i32 %88, 10000000
  %125 = urem i32 %124, 10
  %126 = trunc i32 %125 to i8
  %127 = or i8 %126, 48
  %128 = getelementptr inbounds i8, i8* %85, i32 -8
  store i8 %127, i8* %128, align 1, !tbaa !12
  %129 = udiv i32 %88, 100000000
  %130 = urem i32 %129, 10
  %131 = trunc i32 %130 to i8
  %132 = or i8 %131, 48
  %133 = getelementptr i8, i8* %85, i32 -9
  store i8 %132, i8* %133, align 1, !tbaa !12
  %134 = icmp ugt i64 %86, 4294967295999999999
  br i1 %134, label %84, label %135

; <label>:135:                                    ; preds = %84
  %136 = trunc i64 %89 to i32
  br label %137

; <label>:137:                                    ; preds = %135, %80
  %138 = phi i8* [ %133, %135 ], [ %6, %80 ]
  %139 = phi i32 [ %136, %135 ], [ %82, %80 ]
  br label %140

; <label>:140:                                    ; preds = %140, %137
  %141 = phi i8* [ %146, %140 ], [ %138, %137 ]
  %142 = phi i32 [ %147, %140 ], [ %139, %137 ]
  %143 = urem i32 %142, 10
  %144 = trunc i32 %143 to i8
  %145 = or i8 %144, 48
  %146 = getelementptr inbounds i8, i8* %141, i32 -1
  store i8 %145, i8* %146, align 1, !tbaa !12
  %147 = udiv i32 %142, 10
  %148 = icmp ugt i32 %142, 9
  br i1 %148, label %140, label %149

; <label>:149:                                    ; preds = %140, %78
  %150 = phi i8* [ %79, %78 ], [ %146, %140 ]
  %151 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %152 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %153 = bitcast i32* %151 to i64*
  store i64 0, i64* %153, align 4
  store i32 15, i32* %152, align 4, !tbaa !81
  %154 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %154, align 4, !tbaa !12
  %155 = icmp eq i8* %150, %6
  br i1 %155, label %167, label %156

; <label>:156:                                    ; preds = %149
  %157 = ptrtoint i8* %6 to i32
  %158 = ptrtoint i8* %150 to i32
  %159 = sub i32 %157, %158
  %160 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %160) #14
  %161 = icmp ugt i32 %159, 15
  br i1 %161, label %164, label %162

; <label>:162:                                    ; preds = %156
  store i32 %159, i32* %151, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %154, i8* %150, i32 %159, i32 1, i1 false) #14
  %163 = getelementptr inbounds i8, i8* %154, i32 %159
  store i8 0, i8* %163, align 1, !tbaa !12
  br label %166

; <label>:164:                                    ; preds = %156
  %165 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %159, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %150) #14
  br label %166

; <label>:166:                                    ; preds = %164, %162
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14
  br label %167

; <label>:167:                                    ; preds = %166, %149
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %5) #14
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01??$_Floating_to_string@M@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDM@Z"(%"class.std::basic_string"* noalias sret, i8*, float) local_unnamed_addr #1 comdat {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = fpext float %2 to double
  %7 = tail call i32 (i8*, ...) @_scprintf(i8* %1, double %6)
  %8 = add nsw i32 %7, 1
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %11 = bitcast i32* %9 to i64*
  store i64 0, i64* %11, align 4
  store i32 15, i32* %10, align 4, !tbaa !81
  %12 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %12, align 4, !tbaa !12
  %13 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %13) #14
  %14 = icmp ugt i32 %8, 15
  br i1 %14, label %17, label %15

; <label>:15:                                     ; preds = %3
  store i32 %8, i32* %9, align 4, !tbaa !83
  tail call void @llvm.memset.p0i8.i32(i8* %12, i8 0, i32 %8, i32 4, i1 false) #14
  %16 = getelementptr inbounds i8, i8* %12, i32 %8
  store i8 0, i8* %16, align 1, !tbaa !12
  br label %19

; <label>:17:                                     ; preds = %3
  %18 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@ID@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 %8, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext 0) #14
  br label %19

; <label>:19:                                     ; preds = %17, %15
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %13) #14
  %20 = load i32, i32* %10, align 4, !tbaa !81
  %21 = icmp ugt i32 %20, 15
  br i1 %21, label %22, label %25

; <label>:22:                                     ; preds = %19
  %23 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %24 = load i8*, i8** %23, align 4, !tbaa !12
  br label %25

; <label>:25:                                     ; preds = %22, %19
  %26 = phi i8* [ %24, %22 ], [ %12, %19 ]
  %27 = call i32 (i8*, i32, i8*, ...) @sprintf_s(i8* nonnull %26, i32 %8, i8* %1, double %6)
  %28 = load i32, i32* %9, align 4, !tbaa !83
  %29 = icmp ugt i32 %7, %28
  br i1 %29, label %39, label %30

; <label>:30:                                     ; preds = %25
  %31 = load i32, i32* %10, align 4, !tbaa !81
  %32 = icmp ugt i32 %31, 15
  br i1 %32, label %33, label %36

; <label>:33:                                     ; preds = %30
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %35 = load i8*, i8** %34, align 4, !tbaa !12
  br label %36

; <label>:36:                                     ; preds = %33, %30
  %37 = phi i8* [ %35, %33 ], [ %12, %30 ]
  store i32 %7, i32* %9, align 4, !tbaa !83
  %38 = getelementptr inbounds i8, i8* %37, i32 %7
  store i8 0, i8* %38, align 1, !tbaa !12
  br label %57

; <label>:39:                                     ; preds = %25
  %40 = sub i32 %7, %28
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* %10, align 4, !tbaa !81
  %43 = sub i32 %42, %28
  %44 = icmp ult i32 %43, %40
  br i1 %44, label %54, label %45

; <label>:45:                                     ; preds = %39
  store i32 %7, i32* %9, align 4, !tbaa !83
  %46 = icmp ugt i32 %42, 15
  br i1 %46, label %47, label %50

; <label>:47:                                     ; preds = %45
  %48 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %49 = load i8*, i8** %48, align 4, !tbaa !12
  br label %50

; <label>:50:                                     ; preds = %47, %45
  %51 = phi i8* [ %49, %47 ], [ %12, %45 ]
  %52 = getelementptr inbounds i8, i8* %51, i32 %28
  call void @llvm.memset.p0i8.i32(i8* %52, i8 0, i32 %40, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %51, i32 %7
  store i8 0, i8* %53, align 1, !tbaa !12
  br label %56

; <label>:54:                                     ; preds = %39
  %55 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@ID@Z@ID@Z"(%"class.std::basic_string"* nonnull %0, i32 %40, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i32 %40, i8 signext 0) #14
  br label %56

; <label>:56:                                     ; preds = %54, %50
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  br label %57

; <label>:57:                                     ; preds = %56, %36
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01??$_Floating_to_string@N@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDN@Z"(%"class.std::basic_string"* noalias sret, i8*, double) local_unnamed_addr #1 comdat {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = tail call i32 (i8*, ...) @_scprintf(i8* %1, double %2)
  %7 = add nsw i32 %6, 1
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %10 = bitcast i32* %8 to i64*
  store i64 0, i64* %10, align 4
  store i32 15, i32* %9, align 4, !tbaa !81
  %11 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %11, align 4, !tbaa !12
  %12 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %12) #14
  %13 = icmp ugt i32 %7, 15
  br i1 %13, label %16, label %14

; <label>:14:                                     ; preds = %3
  store i32 %7, i32* %8, align 4, !tbaa !83
  tail call void @llvm.memset.p0i8.i32(i8* %11, i8 0, i32 %7, i32 4, i1 false) #14
  %15 = getelementptr inbounds i8, i8* %11, i32 %7
  store i8 0, i8* %15, align 1, !tbaa !12
  br label %18

; <label>:16:                                     ; preds = %3
  %17 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@ID@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 %7, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext 0) #14
  br label %18

; <label>:18:                                     ; preds = %16, %14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %12) #14
  %19 = load i32, i32* %9, align 4, !tbaa !81
  %20 = icmp ugt i32 %19, 15
  br i1 %20, label %21, label %24

; <label>:21:                                     ; preds = %18
  %22 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %23 = load i8*, i8** %22, align 4, !tbaa !12
  br label %24

; <label>:24:                                     ; preds = %21, %18
  %25 = phi i8* [ %23, %21 ], [ %11, %18 ]
  %26 = call i32 (i8*, i32, i8*, ...) @sprintf_s(i8* nonnull %25, i32 %7, i8* %1, double %2)
  %27 = load i32, i32* %8, align 4, !tbaa !83
  %28 = icmp ugt i32 %6, %27
  br i1 %28, label %38, label %29

; <label>:29:                                     ; preds = %24
  %30 = load i32, i32* %9, align 4, !tbaa !81
  %31 = icmp ugt i32 %30, 15
  br i1 %31, label %32, label %35

; <label>:32:                                     ; preds = %29
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = load i8*, i8** %33, align 4, !tbaa !12
  br label %35

; <label>:35:                                     ; preds = %32, %29
  %36 = phi i8* [ %34, %32 ], [ %11, %29 ]
  store i32 %6, i32* %8, align 4, !tbaa !83
  %37 = getelementptr inbounds i8, i8* %36, i32 %6
  store i8 0, i8* %37, align 1, !tbaa !12
  br label %56

; <label>:38:                                     ; preds = %24
  %39 = sub i32 %6, %27
  %40 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %40) #14
  %41 = load i32, i32* %9, align 4, !tbaa !81
  %42 = sub i32 %41, %27
  %43 = icmp ult i32 %42, %39
  br i1 %43, label %53, label %44

; <label>:44:                                     ; preds = %38
  store i32 %6, i32* %8, align 4, !tbaa !83
  %45 = icmp ugt i32 %41, 15
  br i1 %45, label %46, label %49

; <label>:46:                                     ; preds = %44
  %47 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %48 = load i8*, i8** %47, align 4, !tbaa !12
  br label %49

; <label>:49:                                     ; preds = %46, %44
  %50 = phi i8* [ %48, %46 ], [ %11, %44 ]
  %51 = getelementptr inbounds i8, i8* %50, i32 %27
  call void @llvm.memset.p0i8.i32(i8* %51, i8 0, i32 %39, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %50, i32 %6
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %38
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@ID@Z@ID@Z"(%"class.std::basic_string"* nonnull %0, i32 %39, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i32 %39, i8 signext 0) #14
  br label %55

; <label>:55:                                     ; preds = %53, %49
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %40) #14
  br label %56

; <label>:56:                                     ; preds = %55, %35
  ret void
}

; Function Attrs: nounwind
define void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUCombined@@I@Z"(%"class.std::basic_string"* noalias nocapture sret, %struct.Combined* nocapture readonly dereferenceable(28), i32) local_unnamed_addr #2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %16) #14
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %19 = bitcast i32* %17 to i64*
  store i64 0, i64* %19, align 4
  store i32 15, i32* %18, align 4, !tbaa !81
  store i8 0, i8* %16, align 4, !tbaa !12
  %20 = icmp eq i32 %2, 10
  br i1 %20, label %284, label %21

; <label>:21:                                     ; preds = %3
  %22 = getelementptr inbounds %struct.Combined, %struct.Combined* %1, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %23 = load %struct.Field*, %struct.Field** %22, align 4, !tbaa !23, !noalias !971
  %24 = getelementptr inbounds %struct.Combined, %struct.Combined* %1, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %25 = load %struct.Field*, %struct.Field** %24, align 4, !tbaa !23, !noalias !974
  %26 = icmp eq %struct.Field* %25, %23
  br i1 %26, label %27, label %29

; <label>:27:                                     ; preds = %21
  store i32 1, i32* %17, align 4, !tbaa !83
  store i8 40, i8* %16, align 4, !tbaa !12
  %28 = getelementptr inbounds i8, i8* %16, i32 1
  store i8 0, i8* %28, align 1, !tbaa !12
  br label %50

; <label>:29:                                     ; preds = %21
  %30 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  br label %33

; <label>:31:                                     ; preds = %33
  %32 = icmp eq %struct.Field* %38, %23
  br i1 %32, label %39, label %33

; <label>:33:                                     ; preds = %31, %29
  %34 = phi %struct.Field* [ %25, %29 ], [ %38, %31 ]
  %35 = getelementptr %struct.Field, %struct.Field* %34, i32 0, i32 0
  %36 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %35, align 8, !tbaa !561
  %37 = icmp eq %"struct.std::pair.23"* %30, %36
  %38 = getelementptr inbounds %struct.Field, %struct.Field* %34, i32 1
  br i1 %37, label %31, label %134

; <label>:39:                                     ; preds = %31
  store i32 1, i32* %17, align 4, !tbaa !83
  store i8 40, i8* %16, align 4, !tbaa !12
  %40 = getelementptr inbounds i8, i8* %16, i32 1
  store i8 0, i8* %40, align 1, !tbaa !12
  br i1 %26, label %50, label %41

; <label>:41:                                     ; preds = %39
  %42 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  %43 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %44 = bitcast %"class.std::basic_string"* %14 to i8*
  %45 = add i32 %2, 1
  %46 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %47 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  %48 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %49 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  br label %68

; <label>:50:                                     ; preds = %129, %39, %27
  %51 = phi i32 [ 15, %39 ], [ 15, %27 ], [ %133, %129 ]
  %52 = phi i32 [ 1, %39 ], [ 1, %27 ], [ %132, %129 ]
  %53 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %53) #14
  %54 = sub i32 %51, %52
  %55 = icmp ult i32 %54, 2
  br i1 %55, label %65, label %56

; <label>:56:                                     ; preds = %50
  %57 = add i32 %52, 2
  store i32 %57, i32* %17, align 4, !tbaa !83
  %58 = icmp ugt i32 %51, 15
  %59 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %60 = load i8*, i8** %59, align 4
  %61 = select i1 %58, i8* %60, i8* %16
  %62 = getelementptr inbounds i8, i8* %61, i32 %52
  %63 = bitcast i8* %62 to i16*
  store i16 10528, i16* %63, align 1
  %64 = getelementptr inbounds i8, i8* %61, i32 %57
  store i8 0, i8* %64, align 1, !tbaa !12
  br label %67

; <label>:65:                                     ; preds = %50
  %66 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02HMLFPPOG@?5?$CJ?$AA@", i32 0, i32 0), i32 2) #14
  br label %67

; <label>:67:                                     ; preds = %65, %56
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %53) #14
  br label %282

; <label>:68:                                     ; preds = %129, %41
  %69 = phi i32 [ 15, %41 ], [ %133, %129 ]
  %70 = phi i32 [ 1, %41 ], [ %132, %129 ]
  %71 = phi %struct.Field* [ %25, %41 ], [ %130, %129 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %42) #14
  %72 = icmp ult i32 %70, %69
  br i1 %72, label %73, label %80

; <label>:73:                                     ; preds = %68
  %74 = add i32 %70, 1
  store i32 %74, i32* %17, align 4, !tbaa !83
  %75 = icmp ugt i32 %69, 15
  %76 = load i8*, i8** %43, align 4
  %77 = select i1 %75, i8* %76, i8* %16
  %78 = getelementptr inbounds i8, i8* %77, i32 %70
  store i8 32, i8* %78, align 1, !tbaa !12
  %79 = getelementptr inbounds i8, i8* %77, i32 %74
  store i8 0, i8* %79, align 1, !tbaa !12
  br label %82

; <label>:80:                                     ; preds = %68
  %81 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %13, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8 signext 32) #14
  br label %82

; <label>:82:                                     ; preds = %80, %73
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %42) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %44) #14
  %83 = getelementptr inbounds %struct.Field, %struct.Field* %71, i32 0, i32 1
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %14, %class.variant.43* dereferenceable(16) %83, i32 %45)
  %84 = load i32, i32* %46, align 4, !tbaa !83
  %85 = load i32, i32* %47, align 4, !tbaa !81
  %86 = icmp ugt i32 %85, 15
  %87 = load i8*, i8** %48, align 4
  %88 = select i1 %86, i8* %87, i8* %44
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %49) #14
  %89 = load i32, i32* %17, align 4, !tbaa !83
  %90 = load i32, i32* %18, align 4, !tbaa !81
  %91 = sub i32 %90, %89
  %92 = icmp ult i32 %91, %84
  br i1 %92, label %100, label %93

; <label>:93:                                     ; preds = %82
  %94 = add i32 %89, %84
  store i32 %94, i32* %17, align 4, !tbaa !83
  %95 = icmp ugt i32 %90, 15
  %96 = load i8*, i8** %43, align 4
  %97 = select i1 %95, i8* %96, i8* %16
  %98 = getelementptr inbounds i8, i8* %97, i32 %89
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %98, i8* %88, i32 %84, i32 1, i1 false) #14
  %99 = getelementptr inbounds i8, i8* %97, i32 %94
  store i8 0, i8* %99, align 1, !tbaa !12
  br label %102

; <label>:100:                                    ; preds = %82
  %101 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 %84, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %88, i32 %84) #14
  br label %102

; <label>:102:                                    ; preds = %100, %93
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %49) #14
  %103 = load i32, i32* %47, align 4, !tbaa !81
  %104 = icmp ugt i32 %103, 15
  br i1 %104, label %105, label %129

; <label>:105:                                    ; preds = %102
  %106 = load i8*, i8** %48, align 4, !tbaa !12
  %107 = add i32 %103, 1
  %108 = icmp ugt i32 %107, 4095
  br i1 %108, label %109, label %126

; <label>:109:                                    ; preds = %105
  %110 = add i32 %103, 36
  %111 = icmp ugt i32 %107, -36
  br i1 %111, label %125, label %112

; <label>:112:                                    ; preds = %109
  %113 = ptrtoint i8* %106 to i32
  %114 = and i32 %113, 31
  %115 = icmp eq i32 %114, 0
  br i1 %115, label %116, label %125

; <label>:116:                                    ; preds = %112
  %117 = add i32 %113, -4
  %118 = inttoptr i32 %117 to i32*
  %119 = load i32, i32* %118, align 4, !tbaa !24
  %120 = icmp ult i32 %119, %113
  br i1 %120, label %121, label %125

; <label>:121:                                    ; preds = %116
  %122 = sub i32 %117, %119
  %123 = icmp ugt i32 %122, 31
  %124 = inttoptr i32 %119 to i8*
  br i1 %123, label %125, label %126

; <label>:125:                                    ; preds = %121, %116, %112, %109
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:126:                                    ; preds = %121, %105
  %127 = phi i8* [ %124, %121 ], [ %106, %105 ]
  %128 = phi i32 [ %110, %121 ], [ %107, %105 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %127, i32 %128) #14
  br label %129

; <label>:129:                                    ; preds = %126, %102
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %44) #14
  %130 = getelementptr inbounds %struct.Field, %struct.Field* %71, i32 1
  %131 = icmp eq %struct.Field* %23, %130
  %132 = load i32, i32* %17, align 4, !tbaa !83
  %133 = load i32, i32* %18, align 4, !tbaa !81
  br i1 %131, label %50, label %68

; <label>:134:                                    ; preds = %33
  store i32 1, i32* %17, align 4, !tbaa !83
  store i8 123, i8* %16, align 4, !tbaa !12
  %135 = getelementptr inbounds i8, i8* %16, i32 1
  store i8 0, i8* %135, align 1, !tbaa !12
  %136 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  %137 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %138 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  %139 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  %140 = bitcast %"class.std::basic_string"* %15 to i8*
  %141 = add i32 %2, 1
  %142 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %143 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  %144 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %145 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  %146 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  br label %163

; <label>:147:                                    ; preds = %277
  %148 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %148) #14
  %149 = sub i32 %281, %280
  %150 = icmp ult i32 %149, 2
  br i1 %150, label %160, label %151

; <label>:151:                                    ; preds = %147
  %152 = add i32 %280, 2
  store i32 %152, i32* %17, align 4, !tbaa !83
  %153 = icmp ugt i32 %281, 15
  %154 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %155 = load i8*, i8** %154, align 4
  %156 = select i1 %153, i8* %155, i8* %16
  %157 = getelementptr inbounds i8, i8* %156, i32 %280
  %158 = bitcast i8* %157 to i16*
  store i16 32032, i16* %158, align 1
  %159 = getelementptr inbounds i8, i8* %156, i32 %152
  store i8 0, i8* %159, align 1, !tbaa !12
  br label %162

; <label>:160:                                    ; preds = %147
  %161 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02KCGCGHLG@?5?$HN?$AA@", i32 0, i32 0), i32 2) #14
  br label %162

; <label>:162:                                    ; preds = %160, %151
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %148) #14
  br label %282

; <label>:163:                                    ; preds = %277, %134
  %164 = phi i32 [ 15, %134 ], [ %281, %277 ]
  %165 = phi i32 [ 1, %134 ], [ %280, %277 ]
  %166 = phi %struct.Field* [ %25, %134 ], [ %278, %277 ]
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %136) #14
  %167 = icmp ult i32 %165, %164
  br i1 %167, label %168, label %175

; <label>:168:                                    ; preds = %163
  %169 = add i32 %165, 1
  store i32 %169, i32* %17, align 4, !tbaa !83
  %170 = icmp ugt i32 %164, 15
  %171 = load i8*, i8** %137, align 4
  %172 = select i1 %170, i8* %171, i8* %16
  %173 = getelementptr inbounds i8, i8* %172, i32 %165
  store i8 32, i8* %173, align 1, !tbaa !12
  %174 = getelementptr inbounds i8, i8* %172, i32 %169
  store i8 0, i8* %174, align 1, !tbaa !12
  br label %177

; <label>:175:                                    ; preds = %163
  %176 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %13, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8 signext 32) #14
  br label %177

; <label>:177:                                    ; preds = %175, %168
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %136) #14
  %178 = getelementptr inbounds %struct.Field, %struct.Field* %166, i32 0, i32 0
  %179 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %178, align 8, !tbaa !561
  %180 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %179, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %181 = load i32, i32* %180, align 4, !tbaa !83
  %182 = bitcast %"struct.std::pair.23"* %179 to i8*
  %183 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %179, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %184 = load i32, i32* %183, align 4, !tbaa !81
  %185 = icmp ugt i32 %184, 15
  %186 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %179, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %187 = load i8*, i8** %186, align 4
  %188 = select i1 %185, i8* %187, i8* %182
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %138) #14
  %189 = load i32, i32* %17, align 4, !tbaa !83
  %190 = load i32, i32* %18, align 4, !tbaa !81
  %191 = sub i32 %190, %189
  %192 = icmp ult i32 %191, %181
  br i1 %192, label %200, label %193

; <label>:193:                                    ; preds = %177
  %194 = add i32 %189, %181
  store i32 %194, i32* %17, align 4, !tbaa !83
  %195 = icmp ugt i32 %190, 15
  %196 = load i8*, i8** %137, align 4
  %197 = select i1 %195, i8* %196, i8* %16
  %198 = getelementptr inbounds i8, i8* %197, i32 %189
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %198, i8* %188, i32 %181, i32 1, i1 false) #14
  %199 = getelementptr inbounds i8, i8* %197, i32 %194
  store i8 0, i8* %199, align 1, !tbaa !12
  br label %202

; <label>:200:                                    ; preds = %177
  %201 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 %181, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %188, i32 %181) #14
  br label %202

; <label>:202:                                    ; preds = %200, %193
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %138) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %139) #14
  %203 = load i32, i32* %17, align 4, !tbaa !83
  %204 = load i32, i32* %18, align 4, !tbaa !81
  %205 = sub i32 %204, %203
  %206 = icmp ult i32 %205, 2
  br i1 %206, label %215, label %207

; <label>:207:                                    ; preds = %202
  %208 = add i32 %203, 2
  store i32 %208, i32* %17, align 4, !tbaa !83
  %209 = icmp ugt i32 %204, 15
  %210 = load i8*, i8** %137, align 4
  %211 = select i1 %209, i8* %210, i8* %16
  %212 = getelementptr inbounds i8, i8* %211, i32 %203
  %213 = bitcast i8* %212 to i16*
  store i16 8250, i16* %213, align 1
  %214 = getelementptr inbounds i8, i8* %211, i32 %208
  store i8 0, i8* %214, align 1, !tbaa !12
  br label %217

; <label>:215:                                    ; preds = %202
  %216 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02LMMGGCAJ@?3?5?$AA@", i32 0, i32 0), i32 2) #14
  br label %217

; <label>:217:                                    ; preds = %215, %207
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %139) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %140) #14
  %218 = getelementptr inbounds %struct.Field, %struct.Field* %166, i32 0, i32 1
  call void @"\01?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@I@Z"(%"class.std::basic_string"* nonnull sret %15, %class.variant.43* dereferenceable(16) %218, i32 %141)
  %219 = load i32, i32* %142, align 4, !tbaa !83
  %220 = load i32, i32* %143, align 4, !tbaa !81
  %221 = icmp ugt i32 %220, 15
  %222 = load i8*, i8** %144, align 4
  %223 = select i1 %221, i8* %222, i8* %140
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %145) #14
  %224 = load i32, i32* %17, align 4, !tbaa !83
  %225 = load i32, i32* %18, align 4, !tbaa !81
  %226 = sub i32 %225, %224
  %227 = icmp ult i32 %226, %219
  br i1 %227, label %235, label %228

; <label>:228:                                    ; preds = %217
  %229 = add i32 %224, %219
  store i32 %229, i32* %17, align 4, !tbaa !83
  %230 = icmp ugt i32 %225, 15
  %231 = load i8*, i8** %137, align 4
  %232 = select i1 %230, i8* %231, i8* %16
  %233 = getelementptr inbounds i8, i8* %232, i32 %224
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %233, i8* %223, i32 %219, i32 1, i1 false) #14
  %234 = getelementptr inbounds i8, i8* %232, i32 %229
  store i8 0, i8* %234, align 1, !tbaa !12
  br label %237

; <label>:235:                                    ; preds = %217
  %236 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %13, i32 %219, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %223, i32 %219) #14
  br label %237

; <label>:237:                                    ; preds = %235, %228
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %145) #14
  %238 = load i32, i32* %143, align 4, !tbaa !81
  %239 = icmp ugt i32 %238, 15
  br i1 %239, label %240, label %264

; <label>:240:                                    ; preds = %237
  %241 = load i8*, i8** %144, align 4, !tbaa !12
  %242 = add i32 %238, 1
  %243 = icmp ugt i32 %242, 4095
  br i1 %243, label %244, label %261

; <label>:244:                                    ; preds = %240
  %245 = add i32 %238, 36
  %246 = icmp ugt i32 %242, -36
  br i1 %246, label %260, label %247

; <label>:247:                                    ; preds = %244
  %248 = ptrtoint i8* %241 to i32
  %249 = and i32 %248, 31
  %250 = icmp eq i32 %249, 0
  br i1 %250, label %251, label %260

; <label>:251:                                    ; preds = %247
  %252 = add i32 %248, -4
  %253 = inttoptr i32 %252 to i32*
  %254 = load i32, i32* %253, align 4, !tbaa !24
  %255 = icmp ult i32 %254, %248
  br i1 %255, label %256, label %260

; <label>:256:                                    ; preds = %251
  %257 = sub i32 %252, %254
  %258 = icmp ugt i32 %257, 31
  %259 = inttoptr i32 %254 to i8*
  br i1 %258, label %260, label %261

; <label>:260:                                    ; preds = %256, %251, %247, %244
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:261:                                    ; preds = %256, %240
  %262 = phi i8* [ %259, %256 ], [ %241, %240 ]
  %263 = phi i32 [ %245, %256 ], [ %242, %240 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %262, i32 %263) #14
  br label %264

; <label>:264:                                    ; preds = %261, %237
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %140) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %146) #14
  %265 = load i32, i32* %17, align 4, !tbaa !83
  %266 = load i32, i32* %18, align 4, !tbaa !81
  %267 = icmp ult i32 %265, %266
  br i1 %267, label %268, label %275

; <label>:268:                                    ; preds = %264
  %269 = add i32 %265, 1
  store i32 %269, i32* %17, align 4, !tbaa !83
  %270 = icmp ugt i32 %266, 15
  %271 = load i8*, i8** %137, align 4
  %272 = select i1 %270, i8* %271, i8* %16
  %273 = getelementptr inbounds i8, i8* %272, i32 %265
  store i8 59, i8* %273, align 1, !tbaa !12
  %274 = getelementptr inbounds i8, i8* %272, i32 %269
  store i8 0, i8* %274, align 1, !tbaa !12
  br label %277

; <label>:275:                                    ; preds = %264
  %276 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %13, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8 signext 59) #14
  br label %277

; <label>:277:                                    ; preds = %275, %268
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %146) #14
  %278 = getelementptr inbounds %struct.Field, %struct.Field* %166, i32 1
  %279 = icmp eq %struct.Field* %23, %278
  %280 = load i32, i32* %17, align 4, !tbaa !83
  %281 = load i32, i32* %18, align 4, !tbaa !81
  br i1 %279, label %147, label %163

; <label>:282:                                    ; preds = %162, %67
  %283 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %283, i8* nonnull %16, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %17, align 4, !tbaa !83
  store i32 15, i32* %18, align 4, !tbaa !81
  br label %289

; <label>:284:                                    ; preds = %3
  %285 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %286 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %287 = bitcast i32* %285 to i64*
  store i64 0, i64* %287, align 4
  store i32 15, i32* %286, align 4, !tbaa !81
  %288 = bitcast %"class.std::basic_string"* %0 to i8*
  br label %289

; <label>:289:                                    ; preds = %284, %282
  %290 = phi i8* [ %288, %284 ], [ %16, %282 ]
  store i8 0, i8* %290, align 4, !tbaa !12
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %16) #14
  ret void
}

; Function Attrs: inlinehint nounwind
define linkonce_odr i32 @_scprintf(i8*, ...) local_unnamed_addr #1 comdat {
  %2 = alloca i8*, align 4
  %3 = bitcast i8** %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %3) #14
  call void @llvm.va_start(i8* nonnull %3)
  %4 = load i8*, i8** %2, align 4, !tbaa !23
  %5 = call i64* @__local_stdio_printf_options() #14
  %6 = load i64, i64* %5, align 8, !tbaa !61
  %7 = or i64 %6, 2
  %8 = call i32 @__stdio_common_vsprintf(i64 %7, i8* null, i32 0, i8* %0, %struct.__crt_locale_pointers* null, i8* %4) #14
  %9 = icmp sgt i32 %8, -1
  %10 = select i1 %9, i32 %8, i32 -1
  call void @llvm.va_end(i8* nonnull %3)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %3) #14
  ret i32 %10
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@ID@Z@D@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i8 signext) local_unnamed_addr #2 comdat align 2 {
  %5 = icmp slt i32 %1, 0
  br i1 %5, label %6, label %7

; <label>:6:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:7:                                      ; preds = %4
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = or i32 %1, 15
  %11 = icmp slt i32 %10, 0
  br i1 %11, label %27, label %12

; <label>:12:                                     ; preds = %7
  %13 = lshr i32 %9, 1
  %14 = xor i32 %13, 2147483647
  %15 = icmp ugt i32 %9, %14
  br i1 %15, label %27, label %16

; <label>:16:                                     ; preds = %12
  %17 = add i32 %13, %9
  %18 = icmp ult i32 %10, %17
  %19 = select i1 %18, i32 %17, i32 %10
  %20 = add i32 %19, 1
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %40, label %22

; <label>:22:                                     ; preds = %16
  %23 = icmp ugt i32 %20, 4095
  br i1 %23, label %24, label %38

; <label>:24:                                     ; preds = %22
  %25 = icmp ugt i32 %20, -36
  br i1 %25, label %26, label %27

; <label>:26:                                     ; preds = %24
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:27:                                     ; preds = %24, %12, %7
  %28 = phi i32 [ %20, %24 ], [ -2147483648, %7 ], [ -2147483648, %12 ]
  %29 = phi i32 [ %19, %24 ], [ 2147483647, %7 ], [ 2147483647, %12 ]
  %30 = add i32 %28, 35
  %31 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %30) #14
  %32 = ptrtoint i8* %31 to i32
  %33 = add i32 %32, 35
  %34 = and i32 %33, -32
  %35 = inttoptr i32 %34 to i8*
  %36 = inttoptr i32 %34 to i32*
  %37 = getelementptr inbounds i32, i32* %36, i32 -1
  store i32 %32, i32* %37, align 4, !tbaa !24
  br label %40

; <label>:38:                                     ; preds = %22
  %39 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %20) #14
  br label %40

; <label>:40:                                     ; preds = %38, %27, %16
  %41 = phi i32 [ -1, %16 ], [ %29, %27 ], [ %19, %38 ]
  %42 = phi i8* [ null, %16 ], [ %35, %27 ], [ %39, %38 ]
  %43 = ptrtoint i8* %42 to i32
  %44 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 %1, i32* %44, align 4, !tbaa !83
  store i32 %41, i32* %8, align 4, !tbaa !81
  tail call void @llvm.memset.p0i8.i32(i8* %42, i8 %3, i32 %1, i32 1, i1 false) #14
  %45 = getelementptr inbounds i8, i8* %42, i32 %1
  store i8 0, i8* %45, align 1, !tbaa !12
  %46 = icmp ugt i32 %9, 15
  br i1 %46, label %47, label %72

; <label>:47:                                     ; preds = %40
  %48 = add i32 %9, 1
  %49 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %50 = load i8*, i8** %49, align 4, !tbaa !12
  %51 = icmp ugt i32 %48, 4095
  br i1 %51, label %52, label %69

; <label>:52:                                     ; preds = %47
  %53 = add i32 %9, 36
  %54 = icmp ugt i32 %48, -36
  br i1 %54, label %68, label %55

; <label>:55:                                     ; preds = %52
  %56 = ptrtoint i8* %50 to i32
  %57 = and i32 %56, 31
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %59, label %68

; <label>:59:                                     ; preds = %55
  %60 = add i32 %56, -4
  %61 = inttoptr i32 %60 to i32*
  %62 = load i32, i32* %61, align 4, !tbaa !24
  %63 = icmp ult i32 %62, %56
  br i1 %63, label %64, label %68

; <label>:64:                                     ; preds = %59
  %65 = sub i32 %60, %62
  %66 = icmp ugt i32 %65, 31
  %67 = inttoptr i32 %62 to i8*
  br i1 %66, label %68, label %69

; <label>:68:                                     ; preds = %64, %59, %55, %52
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:69:                                     ; preds = %64, %47
  %70 = phi i8* [ %67, %64 ], [ %50, %47 ]
  %71 = phi i32 [ %53, %64 ], [ %48, %47 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %70, i32 %71) #14
  br label %72

; <label>:72:                                     ; preds = %69, %40
  %73 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %43, i32* %73, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

; Function Attrs: inlinehint nounwind
define linkonce_odr i32 @sprintf_s(i8*, i32, i8*, ...) local_unnamed_addr #1 comdat {
  %4 = alloca i8*, align 4
  %5 = bitcast i8** %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #14
  call void @llvm.va_start(i8* nonnull %5)
  %6 = load i8*, i8** %4, align 4, !tbaa !23
  %7 = call i64* @__local_stdio_printf_options() #14
  %8 = load i64, i64* %7, align 8, !tbaa !61
  %9 = call i32 @__stdio_common_vsprintf_s(i64 %8, i8* %0, i32 %1, i8* %2, %struct.__crt_locale_pointers* null, i8* %6) #14
  %10 = icmp sgt i32 %9, -1
  %11 = select i1 %10, i32 %9, i32 -1
  call void @llvm.va_end(i8* nonnull %5)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #14
  ret i32 %11
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@ID@Z@ID@Z"(%"class.std::basic_string"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i32, i8 signext) local_unnamed_addr #2 comdat align 2 {
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = load i32, i32* %6, align 4, !tbaa !83
  %8 = sub i32 2147483647, %7
  %9 = icmp ult i32 %8, %1
  br i1 %9, label %10, label %11

; <label>:10:                                     ; preds = %5
  tail call void @"\01?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAXXZ"() #22
  unreachable

; <label>:11:                                     ; preds = %5
  %12 = add i32 %7, %1
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = load i32, i32* %13, align 4, !tbaa !81
  %15 = or i32 %12, 15
  %16 = icmp slt i32 %15, 0
  br i1 %16, label %32, label %17

; <label>:17:                                     ; preds = %11
  %18 = lshr i32 %14, 1
  %19 = xor i32 %18, 2147483647
  %20 = icmp ugt i32 %14, %19
  br i1 %20, label %32, label %21

; <label>:21:                                     ; preds = %17
  %22 = add i32 %18, %14
  %23 = icmp ult i32 %15, %22
  %24 = select i1 %23, i32 %22, i32 %15
  %25 = add i32 %24, 1
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %45, label %27

; <label>:27:                                     ; preds = %21
  %28 = icmp ugt i32 %25, 4095
  br i1 %28, label %29, label %43

; <label>:29:                                     ; preds = %27
  %30 = icmp ugt i32 %25, -36
  br i1 %30, label %31, label %32

; <label>:31:                                     ; preds = %29
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:32:                                     ; preds = %29, %17, %11
  %33 = phi i32 [ %25, %29 ], [ -2147483648, %11 ], [ -2147483648, %17 ]
  %34 = phi i32 [ %24, %29 ], [ 2147483647, %11 ], [ 2147483647, %17 ]
  %35 = add i32 %33, 35
  %36 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %35) #14
  %37 = ptrtoint i8* %36 to i32
  %38 = add i32 %37, 35
  %39 = and i32 %38, -32
  %40 = inttoptr i32 %39 to i8*
  %41 = inttoptr i32 %39 to i32*
  %42 = getelementptr inbounds i32, i32* %41, i32 -1
  store i32 %37, i32* %42, align 4, !tbaa !24
  br label %45

; <label>:43:                                     ; preds = %27
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %25) #14
  br label %45

; <label>:45:                                     ; preds = %43, %32, %21
  %46 = phi i32 [ -1, %21 ], [ %34, %32 ], [ %24, %43 ]
  %47 = phi i8* [ null, %21 ], [ %40, %32 ], [ %44, %43 ]
  %48 = ptrtoint i8* %47 to i32
  store i32 %12, i32* %6, align 4, !tbaa !83
  store i32 %46, i32* %13, align 4, !tbaa !81
  %49 = icmp ugt i32 %14, 15
  br i1 %49, label %50, label %78

; <label>:50:                                     ; preds = %45
  %51 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %52 = load i8*, i8** %51, align 4, !tbaa !12
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %52, i32 %7, i32 1, i1 false) #14
  %53 = getelementptr inbounds i8, i8* %47, i32 %7
  tail call void @llvm.memset.p0i8.i32(i8* %53, i8 %4, i32 %3, i32 1, i1 false) #14
  %54 = add i32 %7, %3
  %55 = getelementptr inbounds i8, i8* %47, i32 %54
  store i8 0, i8* %55, align 1, !tbaa !12
  %56 = add i32 %14, 1
  %57 = icmp ugt i32 %56, 4095
  br i1 %57, label %58, label %75

; <label>:58:                                     ; preds = %50
  %59 = add i32 %14, 36
  %60 = icmp ugt i32 %56, -36
  br i1 %60, label %74, label %61

; <label>:61:                                     ; preds = %58
  %62 = ptrtoint i8* %52 to i32
  %63 = and i32 %62, 31
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %65, label %74

; <label>:65:                                     ; preds = %61
  %66 = add i32 %62, -4
  %67 = inttoptr i32 %66 to i32*
  %68 = load i32, i32* %67, align 4, !tbaa !24
  %69 = icmp ult i32 %68, %62
  br i1 %69, label %70, label %74

; <label>:70:                                     ; preds = %65
  %71 = sub i32 %66, %68
  %72 = icmp ugt i32 %71, 31
  %73 = inttoptr i32 %68 to i8*
  br i1 %72, label %74, label %75

; <label>:74:                                     ; preds = %70, %65, %61, %58
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:75:                                     ; preds = %70, %50
  %76 = phi i8* [ %73, %70 ], [ %52, %50 ]
  %77 = phi i32 [ %59, %70 ], [ %56, %50 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %76, i32 %77) #14
  br label %83

; <label>:78:                                     ; preds = %45
  %79 = bitcast %"class.std::basic_string"* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %79, i32 %7, i32 1, i1 false) #14
  %80 = getelementptr inbounds i8, i8* %47, i32 %7
  tail call void @llvm.memset.p0i8.i32(i8* %80, i8 %4, i32 %3, i32 1, i1 false) #14
  %81 = add i32 %7, %3
  %82 = getelementptr inbounds i8, i8* %47, i32 %81
  store i8 0, i8* %82, align 1, !tbaa !12
  br label %83

; <label>:83:                                     ; preds = %78, %75
  %84 = bitcast %"class.std::basic_string"* %0 to i32*
  store i32 %48, i32* %84, align 4, !tbaa !12
  ret %"class.std::basic_string"* %0
}

declare i32 @__stdio_common_vsprintf_s(i64, i8*, i32, i8*, %struct.__crt_locale_pointers*, i8*) local_unnamed_addr #6

declare i32 @__stdio_common_vsprintf(i64, i8*, i32, i8*, %struct.__crt_locale_pointers*, i8*) local_unnamed_addr #6

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Change_array@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXQAUNode@@II@Z"(%"class.std::vector.117"*, %struct.Node*, i32, i32) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %6 = load %struct.Node*, %struct.Node** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.Node* %6, null
  %8 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  br i1 %7, label %9, label %11

; <label>:9:                                      ; preds = %4
  %10 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  br label %87

; <label>:11:                                     ; preds = %4
  %12 = ptrtoint %struct.Node* %6 to i32
  %13 = load %struct.Node*, %struct.Node** %8, align 4, !tbaa !23
  %14 = icmp eq %struct.Node* %6, %13
  br i1 %14, label %58, label %15

; <label>:15:                                     ; preds = %11
  br label %16

; <label>:16:                                     ; preds = %52, %15
  %17 = phi %struct.Node* [ %53, %52 ], [ %6, %15 ]
  %18 = getelementptr inbounds %struct.Node, %struct.Node* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %19 = load %struct.Field*, %struct.Field** %18, align 4, !tbaa !23
  %20 = icmp eq %struct.Field* %19, null
  %21 = ptrtoint %struct.Field* %19 to i32
  br i1 %20, label %52, label %22

; <label>:22:                                     ; preds = %16
  %23 = getelementptr inbounds %struct.Node, %struct.Node* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %24 = getelementptr inbounds %struct.Node, %struct.Node* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %25 = bitcast %struct.Field** %24 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !23
  %27 = sub i32 %26, %21
  %28 = sdiv exact i32 %27, 24
  %29 = icmp ugt i32 %28, 178956970
  br i1 %29, label %48, label %30

; <label>:30:                                     ; preds = %22
  %31 = bitcast %struct.Field* %19 to i8*
  %32 = icmp ugt i32 %27, 4095
  br i1 %32, label %33, label %49

; <label>:33:                                     ; preds = %30
  %34 = add i32 %27, 35
  %35 = icmp ult i32 %27, -35
  %36 = and i32 %21, 31
  %37 = icmp eq i32 %36, 0
  %38 = and i1 %37, %35
  br i1 %38, label %39, label %48

; <label>:39:                                     ; preds = %33
  %40 = add i32 %21, -4
  %41 = inttoptr i32 %40 to i32*
  %42 = load i32, i32* %41, align 4, !tbaa !24
  %43 = icmp ult i32 %42, %21
  br i1 %43, label %44, label %48

; <label>:44:                                     ; preds = %39
  %45 = sub i32 %40, %42
  %46 = icmp ugt i32 %45, 31
  %47 = inttoptr i32 %42 to i8*
  br i1 %46, label %48, label %49

; <label>:48:                                     ; preds = %44, %39, %33, %22
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:49:                                     ; preds = %44, %30
  %50 = phi i8* [ %47, %44 ], [ %31, %30 ]
  %51 = phi i32 [ %34, %44 ], [ %27, %30 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %50, i32 %51) #14
  store %struct.Field* null, %struct.Field** %18, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %23, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %24, align 4, !tbaa !23
  br label %52

; <label>:52:                                     ; preds = %49, %16
  %53 = getelementptr inbounds %struct.Node, %struct.Node* %17, i32 1
  %54 = icmp eq %struct.Node* %53, %13
  br i1 %54, label %55, label %16

; <label>:55:                                     ; preds = %52
  %56 = bitcast %"class.std::vector.117"* %0 to i32*
  %57 = load i32, i32* %56, align 4, !tbaa !23
  br label %58

; <label>:58:                                     ; preds = %55, %11
  %59 = phi i32 [ %57, %55 ], [ %12, %11 ]
  %60 = getelementptr inbounds %"class.std::vector.117", %"class.std::vector.117"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %61 = bitcast %struct.Node** %60 to i32*
  %62 = load i32, i32* %61, align 4, !tbaa !23
  %63 = sub i32 %62, %59
  %64 = sdiv exact i32 %63, 12
  %65 = icmp ugt i32 %64, 357913941
  br i1 %65, label %82, label %66

; <label>:66:                                     ; preds = %58
  %67 = icmp ugt i32 %63, 4095
  br i1 %67, label %68, label %83

; <label>:68:                                     ; preds = %66
  %69 = icmp ult i32 %63, -35
  %70 = and i32 %59, 31
  %71 = icmp eq i32 %70, 0
  %72 = and i1 %69, %71
  br i1 %72, label %73, label %82

; <label>:73:                                     ; preds = %68
  %74 = add i32 %63, 35
  %75 = add i32 %59, -4
  %76 = inttoptr i32 %75 to i32*
  %77 = load i32, i32* %76, align 4, !tbaa !24
  %78 = icmp uge i32 %77, %59
  %79 = sub i32 %75, %77
  %80 = icmp ugt i32 %79, 31
  %81 = or i1 %78, %80
  br i1 %81, label %82, label %83

; <label>:82:                                     ; preds = %73, %68, %58
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:83:                                     ; preds = %73, %66
  %84 = phi i32 [ %59, %66 ], [ %77, %73 ]
  %85 = phi i32 [ %63, %66 ], [ %74, %73 ]
  %86 = inttoptr i32 %84 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %86, i32 %85) #14
  br label %87

; <label>:87:                                     ; preds = %83, %9
  %88 = phi %struct.Node** [ %10, %9 ], [ %60, %83 ]
  store %struct.Node* %1, %struct.Node** %5, align 4, !tbaa !23
  %89 = getelementptr inbounds %struct.Node, %struct.Node* %1, i32 %2
  store %struct.Node* %89, %struct.Node** %8, align 4, !tbaa !23
  %90 = getelementptr inbounds %struct.Node, %struct.Node* %1, i32 %3
  store %struct.Node* %90, %struct.Node** %88, align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define void @"\01?addNode@@YAXXZ"() local_unnamed_addr #2 {
  %1 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %2 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %3 = sub i32 %1, %2
  %4 = sdiv exact i32 %3, 12
  %5 = add nsw i32 %4, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 %5, %"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A") #14
  %6 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = sdiv exact i32 %8, 12
  %10 = load i32, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %11 = icmp ult i32 %10, %9
  %12 = select i1 %11, i32 %9, i32 %10
  store i32 %12, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  ret void
}

; Function Attrs: nounwind
define void @"\01?dumpStats@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"(%"class.std::basic_string"* noalias sret) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca [21 x i8], align 1
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = alloca %"class.std::basic_string", align 4
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %19 = bitcast i32* %17 to i64*
  store i64 0, i64* %19, align 4
  store i32 15, i32* %18, align 4, !tbaa !81
  %20 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %20, align 4, !tbaa !12
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14
  %22 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@PHIHBIME@max?5node?5depth?3?5?$AA@", i32 0, i32 0), i32 16) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14
  %23 = bitcast %"class.std::basic_string"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %23) #14
  %24 = load i32, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %25 = getelementptr inbounds [21 x i8], [21 x i8]* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %25) #14, !noalias !977
  %26 = getelementptr inbounds [21 x i8], [21 x i8]* %11, i32 0, i32 21
  br label %27

; <label>:27:                                     ; preds = %27, %1
  %28 = phi i32 [ 0, %1 ], [ %33, %27 ]
  %29 = phi i32 [ %24, %1 ], [ %35, %27 ]
  %30 = urem i32 %29, 10
  %31 = trunc i32 %30 to i8
  %32 = or i8 %31, 48
  %33 = add nsw i32 %28, -1
  %34 = getelementptr inbounds i8, i8* %26, i32 %33
  store i8 %32, i8* %34, align 1, !tbaa !12, !noalias !977
  %35 = udiv i32 %29, 10
  %36 = icmp ugt i32 %29, 9
  br i1 %36, label %27, label %37

; <label>:37:                                     ; preds = %27
  %38 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %39 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  %40 = bitcast i32* %38 to i64*
  store i64 0, i64* %40, align 4, !alias.scope !977
  store i32 15, i32* %39, align 4, !tbaa !81, !alias.scope !977
  store i8 0, i8* %23, align 4, !tbaa !12, !alias.scope !977
  %41 = icmp eq i32 %33, 0
  br i1 %41, label %42, label %44

; <label>:42:                                     ; preds = %37
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !977
  %43 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %59

; <label>:44:                                     ; preds = %37
  %45 = sub i32 1, %28
  %46 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %46) #14, !noalias !977
  %47 = icmp ugt i32 %45, 15
  br i1 %47, label %50, label %48

; <label>:48:                                     ; preds = %44
  store i32 %45, i32* %38, align 4, !tbaa !83, !alias.scope !977
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %23, i8* %34, i32 %45, i32 1, i1 false) #14
  %49 = getelementptr inbounds i8, i8* %23, i32 %45
  store i8 0, i8* %49, align 1, !tbaa !12, !alias.scope !977
  br label %52

; <label>:50:                                     ; preds = %44
  %51 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %14, i32 %45, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %34) #14
  br label %52

; <label>:52:                                     ; preds = %50, %48
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %46) #14, !noalias !977
  %53 = load i32, i32* %38, align 4, !tbaa !83
  %54 = load i32, i32* %39, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !977
  %55 = icmp ugt i32 %54, 15
  %56 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %57 = load i8*, i8** %56, align 4
  %58 = select i1 %55, i8* %57, i8* %23
  br label %59

; <label>:59:                                     ; preds = %52, %42
  %60 = phi i8** [ %43, %42 ], [ %56, %52 ]
  %61 = phi i32 [ 0, %42 ], [ %53, %52 ]
  %62 = phi i8* [ %23, %42 ], [ %58, %52 ]
  %63 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %63) #14
  %64 = load i32, i32* %17, align 4, !tbaa !83
  %65 = load i32, i32* %18, align 4, !tbaa !81
  %66 = sub i32 %65, %64
  %67 = icmp ult i32 %66, %61
  br i1 %67, label %78, label %68

; <label>:68:                                     ; preds = %59
  %69 = add i32 %64, %61
  store i32 %69, i32* %17, align 4, !tbaa !83
  %70 = icmp ugt i32 %65, 15
  br i1 %70, label %71, label %74

; <label>:71:                                     ; preds = %68
  %72 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %73 = load i8*, i8** %72, align 4, !tbaa !12
  br label %74

; <label>:74:                                     ; preds = %71, %68
  %75 = phi i8* [ %73, %71 ], [ %20, %68 ]
  %76 = getelementptr inbounds i8, i8* %75, i32 %64
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %76, i8* %62, i32 %61, i32 1, i1 false) #14
  %77 = getelementptr inbounds i8, i8* %75, i32 %69
  store i8 0, i8* %77, align 1, !tbaa !12
  br label %80

; <label>:78:                                     ; preds = %59
  %79 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %61, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %62, i32 %61) #14
  br label %80

; <label>:80:                                     ; preds = %78, %74
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %63) #14
  %81 = load i32, i32* %39, align 4, !tbaa !81
  %82 = icmp ugt i32 %81, 15
  br i1 %82, label %83, label %107

; <label>:83:                                     ; preds = %80
  %84 = load i8*, i8** %60, align 4, !tbaa !12
  %85 = add i32 %81, 1
  %86 = icmp ugt i32 %85, 4095
  br i1 %86, label %87, label %104

; <label>:87:                                     ; preds = %83
  %88 = add i32 %81, 36
  %89 = icmp ugt i32 %85, -36
  br i1 %89, label %103, label %90

; <label>:90:                                     ; preds = %87
  %91 = ptrtoint i8* %84 to i32
  %92 = and i32 %91, 31
  %93 = icmp eq i32 %92, 0
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %90
  %95 = add i32 %91, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %91
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %90, %87
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %83
  %105 = phi i8* [ %102, %99 ], [ %84, %83 ]
  %106 = phi i32 [ %88, %99 ], [ %85, %83 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %80
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %23) #14
  %108 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %108) #14
  %109 = load i32, i32* %17, align 4, !tbaa !83
  %110 = load i32, i32* %18, align 4, !tbaa !81
  %111 = icmp ult i32 %109, %110
  br i1 %111, label %112, label %122

; <label>:112:                                    ; preds = %107
  %113 = add i32 %109, 1
  store i32 %113, i32* %17, align 4, !tbaa !83
  %114 = icmp ugt i32 %110, 15
  br i1 %114, label %115, label %118

; <label>:115:                                    ; preds = %112
  %116 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %117 = load i8*, i8** %116, align 4, !tbaa !12
  br label %118

; <label>:118:                                    ; preds = %115, %112
  %119 = phi i8* [ %117, %115 ], [ %20, %112 ]
  %120 = getelementptr inbounds i8, i8* %119, i32 %109
  store i8 10, i8* %120, align 1, !tbaa !12
  %121 = getelementptr inbounds i8, i8* %119, i32 %113
  store i8 0, i8* %121, align 1, !tbaa !12
  br label %124

; <label>:122:                                    ; preds = %107
  %123 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8 signext 10) #14
  br label %124

; <label>:124:                                    ; preds = %122, %118
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %108) #14
  %125 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %125) #14
  %126 = load i32, i32* %17, align 4, !tbaa !83
  %127 = load i32, i32* %18, align 4, !tbaa !81
  %128 = sub i32 %127, %126
  %129 = icmp ult i32 %128, 28
  br i1 %129, label %140, label %130

; <label>:130:                                    ; preds = %124
  %131 = add i32 %126, 28
  store i32 %131, i32* %17, align 4, !tbaa !83
  %132 = icmp ugt i32 %127, 15
  br i1 %132, label %133, label %136

; <label>:133:                                    ; preds = %130
  %134 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %135 = load i8*, i8** %134, align 4, !tbaa !12
  br label %136

; <label>:136:                                    ; preds = %133, %130
  %137 = phi i8* [ %135, %133 ], [ %20, %130 ]
  %138 = getelementptr inbounds i8, i8* %137, i32 %126
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %138, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@POPFBIED@created?1released?5combineds?3?5?$AA@", i32 0, i32 0), i32 28, i32 1, i1 false) #14
  %139 = getelementptr inbounds i8, i8* %137, i32 %131
  store i8 0, i8* %139, align 1, !tbaa !12
  br label %142

; <label>:140:                                    ; preds = %124
  %141 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 28, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @"\01??_C@_0BN@POPFBIED@created?1released?5combineds?3?5?$AA@", i32 0, i32 0), i32 28) #14
  br label %142

; <label>:142:                                    ; preds = %140, %136
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %125) #14
  %143 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %143) #14
  %144 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %25) #14, !noalias !982
  br label %145

; <label>:145:                                    ; preds = %145, %142
  %146 = phi i32 [ 0, %142 ], [ %151, %145 ]
  %147 = phi i32 [ %144, %142 ], [ %153, %145 ]
  %148 = urem i32 %147, 10
  %149 = trunc i32 %148 to i8
  %150 = or i8 %149, 48
  %151 = add nsw i32 %146, -1
  %152 = getelementptr inbounds i8, i8* %26, i32 %151
  store i8 %150, i8* %152, align 1, !tbaa !12, !noalias !982
  %153 = udiv i32 %147, 10
  %154 = icmp ugt i32 %147, 9
  br i1 %154, label %145, label %155

; <label>:155:                                    ; preds = %145
  %156 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %157 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  %158 = bitcast i32* %156 to i64*
  store i64 0, i64* %158, align 4, !alias.scope !982
  store i32 15, i32* %157, align 4, !tbaa !81, !alias.scope !982
  store i8 0, i8* %143, align 4, !tbaa !12, !alias.scope !982
  %159 = icmp eq i32 %151, 0
  br i1 %159, label %160, label %162

; <label>:160:                                    ; preds = %155
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !982
  %161 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %177

; <label>:162:                                    ; preds = %155
  %163 = sub i32 1, %146
  %164 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %164) #14, !noalias !982
  %165 = icmp ugt i32 %163, 15
  br i1 %165, label %168, label %166

; <label>:166:                                    ; preds = %162
  store i32 %163, i32* %156, align 4, !tbaa !83, !alias.scope !982
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %143, i8* %152, i32 %163, i32 1, i1 false) #14
  %167 = getelementptr inbounds i8, i8* %143, i32 %163
  store i8 0, i8* %167, align 1, !tbaa !12, !alias.scope !982
  br label %170

; <label>:168:                                    ; preds = %162
  %169 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %15, i32 %163, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %152) #14
  br label %170

; <label>:170:                                    ; preds = %168, %166
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %164) #14, !noalias !982
  %171 = load i32, i32* %156, align 4, !tbaa !83
  %172 = load i32, i32* %157, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !982
  %173 = icmp ugt i32 %172, 15
  %174 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %175 = load i8*, i8** %174, align 4
  %176 = select i1 %173, i8* %175, i8* %143
  br label %177

; <label>:177:                                    ; preds = %170, %160
  %178 = phi i8** [ %161, %160 ], [ %174, %170 ]
  %179 = phi i32 [ 0, %160 ], [ %171, %170 ]
  %180 = phi i8* [ %143, %160 ], [ %176, %170 ]
  %181 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %181) #14
  %182 = load i32, i32* %17, align 4, !tbaa !83
  %183 = load i32, i32* %18, align 4, !tbaa !81
  %184 = sub i32 %183, %182
  %185 = icmp ult i32 %184, %179
  br i1 %185, label %196, label %186

; <label>:186:                                    ; preds = %177
  %187 = add i32 %182, %179
  store i32 %187, i32* %17, align 4, !tbaa !83
  %188 = icmp ugt i32 %183, 15
  br i1 %188, label %189, label %192

; <label>:189:                                    ; preds = %186
  %190 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %191 = load i8*, i8** %190, align 4, !tbaa !12
  br label %192

; <label>:192:                                    ; preds = %189, %186
  %193 = phi i8* [ %191, %189 ], [ %20, %186 ]
  %194 = getelementptr inbounds i8, i8* %193, i32 %182
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %194, i8* %180, i32 %179, i32 1, i1 false) #14
  %195 = getelementptr inbounds i8, i8* %193, i32 %187
  store i8 0, i8* %195, align 1, !tbaa !12
  br label %198

; <label>:196:                                    ; preds = %177
  %197 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %179, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %180, i32 %179) #14
  br label %198

; <label>:198:                                    ; preds = %196, %192
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %181) #14
  %199 = load i32, i32* %157, align 4, !tbaa !81
  %200 = icmp ugt i32 %199, 15
  br i1 %200, label %201, label %225

; <label>:201:                                    ; preds = %198
  %202 = load i8*, i8** %178, align 4, !tbaa !12
  %203 = add i32 %199, 1
  %204 = icmp ugt i32 %203, 4095
  br i1 %204, label %205, label %222

; <label>:205:                                    ; preds = %201
  %206 = add i32 %199, 36
  %207 = icmp ugt i32 %203, -36
  br i1 %207, label %221, label %208

; <label>:208:                                    ; preds = %205
  %209 = ptrtoint i8* %202 to i32
  %210 = and i32 %209, 31
  %211 = icmp eq i32 %210, 0
  br i1 %211, label %212, label %221

; <label>:212:                                    ; preds = %208
  %213 = add i32 %209, -4
  %214 = inttoptr i32 %213 to i32*
  %215 = load i32, i32* %214, align 4, !tbaa !24
  %216 = icmp ult i32 %215, %209
  br i1 %216, label %217, label %221

; <label>:217:                                    ; preds = %212
  %218 = sub i32 %213, %215
  %219 = icmp ugt i32 %218, 31
  %220 = inttoptr i32 %215 to i8*
  br i1 %219, label %221, label %222

; <label>:221:                                    ; preds = %217, %212, %208, %205
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:222:                                    ; preds = %217, %201
  %223 = phi i8* [ %220, %217 ], [ %202, %201 ]
  %224 = phi i32 [ %206, %217 ], [ %203, %201 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %223, i32 %224) #14
  br label %225

; <label>:225:                                    ; preds = %222, %198
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %143) #14
  %226 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %226) #14
  %227 = load i32, i32* %17, align 4, !tbaa !83
  %228 = load i32, i32* %18, align 4, !tbaa !81
  %229 = icmp ult i32 %227, %228
  br i1 %229, label %230, label %240

; <label>:230:                                    ; preds = %225
  %231 = add i32 %227, 1
  store i32 %231, i32* %17, align 4, !tbaa !83
  %232 = icmp ugt i32 %228, 15
  br i1 %232, label %233, label %236

; <label>:233:                                    ; preds = %230
  %234 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %235 = load i8*, i8** %234, align 4, !tbaa !12
  br label %236

; <label>:236:                                    ; preds = %233, %230
  %237 = phi i8* [ %235, %233 ], [ %20, %230 ]
  %238 = getelementptr inbounds i8, i8* %237, i32 %227
  store i8 47, i8* %238, align 1, !tbaa !12
  %239 = getelementptr inbounds i8, i8* %237, i32 %231
  store i8 0, i8* %239, align 1, !tbaa !12
  br label %242

; <label>:240:                                    ; preds = %225
  %241 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8 signext 47) #14
  br label %242

; <label>:242:                                    ; preds = %240, %236
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %226) #14
  %243 = bitcast %"class.std::basic_string"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %243) #14
  %244 = load i32, i32* @"\01?releasedCombineds@@3IA", align 4, !tbaa !24
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %25) #14, !noalias !987
  br label %245

; <label>:245:                                    ; preds = %245, %242
  %246 = phi i32 [ 0, %242 ], [ %251, %245 ]
  %247 = phi i32 [ %244, %242 ], [ %253, %245 ]
  %248 = urem i32 %247, 10
  %249 = trunc i32 %248 to i8
  %250 = or i8 %249, 48
  %251 = add nsw i32 %246, -1
  %252 = getelementptr inbounds i8, i8* %26, i32 %251
  store i8 %250, i8* %252, align 1, !tbaa !12, !noalias !987
  %253 = udiv i32 %247, 10
  %254 = icmp ugt i32 %247, 9
  br i1 %254, label %245, label %255

; <label>:255:                                    ; preds = %245
  %256 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %257 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %258 = bitcast i32* %256 to i64*
  store i64 0, i64* %258, align 4, !alias.scope !987
  store i32 15, i32* %257, align 4, !tbaa !81, !alias.scope !987
  store i8 0, i8* %243, align 4, !tbaa !12, !alias.scope !987
  %259 = icmp eq i32 %251, 0
  br i1 %259, label %260, label %262

; <label>:260:                                    ; preds = %255
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !987
  %261 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %277

; <label>:262:                                    ; preds = %255
  %263 = sub i32 1, %246
  %264 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %264) #14, !noalias !987
  %265 = icmp ugt i32 %263, 15
  br i1 %265, label %268, label %266

; <label>:266:                                    ; preds = %262
  store i32 %263, i32* %256, align 4, !tbaa !83, !alias.scope !987
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %243, i8* %252, i32 %263, i32 1, i1 false) #14
  %267 = getelementptr inbounds i8, i8* %243, i32 %263
  store i8 0, i8* %267, align 1, !tbaa !12, !alias.scope !987
  br label %270

; <label>:268:                                    ; preds = %262
  %269 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %16, i32 %263, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %252) #14
  br label %270

; <label>:270:                                    ; preds = %268, %266
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %264) #14, !noalias !987
  %271 = load i32, i32* %256, align 4, !tbaa !83
  %272 = load i32, i32* %257, align 4, !tbaa !81
  %273 = icmp ugt i32 %272, 15
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %25) #14, !noalias !987
  %274 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %275 = load i8*, i8** %274, align 4
  %276 = select i1 %273, i8* %275, i8* %243
  br label %277

; <label>:277:                                    ; preds = %270, %260
  %278 = phi i8** [ %261, %260 ], [ %274, %270 ]
  %279 = phi i32 [ 0, %260 ], [ %271, %270 ]
  %280 = phi i8* [ %243, %260 ], [ %276, %270 ]
  %281 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %281) #14
  %282 = load i32, i32* %17, align 4, !tbaa !83
  %283 = load i32, i32* %18, align 4, !tbaa !81
  %284 = sub i32 %283, %282
  %285 = icmp ult i32 %284, %279
  br i1 %285, label %296, label %286

; <label>:286:                                    ; preds = %277
  %287 = add i32 %282, %279
  store i32 %287, i32* %17, align 4, !tbaa !83
  %288 = icmp ugt i32 %283, 15
  br i1 %288, label %289, label %292

; <label>:289:                                    ; preds = %286
  %290 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %291 = load i8*, i8** %290, align 4, !tbaa !12
  br label %292

; <label>:292:                                    ; preds = %289, %286
  %293 = phi i8* [ %291, %289 ], [ %20, %286 ]
  %294 = getelementptr inbounds i8, i8* %293, i32 %282
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %294, i8* %280, i32 %279, i32 1, i1 false) #14
  %295 = getelementptr inbounds i8, i8* %293, i32 %287
  store i8 0, i8* %295, align 1, !tbaa !12
  br label %298

; <label>:296:                                    ; preds = %277
  %297 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %279, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %280, i32 %279) #14
  br label %298

; <label>:298:                                    ; preds = %296, %292
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %281) #14
  %299 = load i32, i32* %257, align 4, !tbaa !81
  %300 = icmp ugt i32 %299, 15
  br i1 %300, label %301, label %325

; <label>:301:                                    ; preds = %298
  %302 = load i8*, i8** %278, align 4, !tbaa !12
  %303 = add i32 %299, 1
  %304 = icmp ugt i32 %303, 4095
  br i1 %304, label %305, label %322

; <label>:305:                                    ; preds = %301
  %306 = add i32 %299, 36
  %307 = icmp ugt i32 %303, -36
  br i1 %307, label %321, label %308

; <label>:308:                                    ; preds = %305
  %309 = ptrtoint i8* %302 to i32
  %310 = and i32 %309, 31
  %311 = icmp eq i32 %310, 0
  br i1 %311, label %312, label %321

; <label>:312:                                    ; preds = %308
  %313 = add i32 %309, -4
  %314 = inttoptr i32 %313 to i32*
  %315 = load i32, i32* %314, align 4, !tbaa !24
  %316 = icmp ult i32 %315, %309
  br i1 %316, label %317, label %321

; <label>:317:                                    ; preds = %312
  %318 = sub i32 %313, %315
  %319 = icmp ugt i32 %318, 31
  %320 = inttoptr i32 %315 to i8*
  br i1 %319, label %321, label %322

; <label>:321:                                    ; preds = %317, %312, %308, %305
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:322:                                    ; preds = %317, %301
  %323 = phi i8* [ %320, %317 ], [ %302, %301 ]
  %324 = phi i32 [ %306, %317 ], [ %303, %301 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %323, i32 %324) #14
  br label %325

; <label>:325:                                    ; preds = %322, %298
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %243) #14
  %326 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %326) #14
  %327 = load i32, i32* %17, align 4, !tbaa !83
  %328 = load i32, i32* %18, align 4, !tbaa !81
  %329 = icmp ult i32 %327, %328
  br i1 %329, label %330, label %340

; <label>:330:                                    ; preds = %325
  %331 = add i32 %327, 1
  store i32 %331, i32* %17, align 4, !tbaa !83
  %332 = icmp ugt i32 %328, 15
  br i1 %332, label %333, label %336

; <label>:333:                                    ; preds = %330
  %334 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %335 = load i8*, i8** %334, align 4, !tbaa !12
  br label %336

; <label>:336:                                    ; preds = %333, %330
  %337 = phi i8* [ %335, %333 ], [ %20, %330 ]
  %338 = getelementptr inbounds i8, i8* %337, i32 %327
  store i8 10, i8* %338, align 1, !tbaa !12
  %339 = getelementptr inbounds i8, i8* %337, i32 %331
  store i8 0, i8* %339, align 1, !tbaa !12
  br label %342

; <label>:340:                                    ; preds = %325
  %341 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8 signext 10) #14
  br label %342

; <label>:342:                                    ; preds = %340, %336
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %326) #14
  ret void
}

; Function Attrs: nounwind
define void @"\01?clearStack@@YAXXZ"() local_unnamed_addr #2 {
  %1 = alloca %class.variant.43, align 8
  %2 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %3 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %4 = icmp eq %class.variant.43* %2, %3
  br i1 %4, label %14, label %5

; <label>:5:                                      ; preds = %0
  %6 = bitcast %class.variant.43* %1 to i8*
  br label %7

; <label>:7:                                      ; preds = %7, %5
  %8 = phi %class.variant.43* [ %3, %5 ], [ %12, %7 ]
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %6) #14
  %9 = getelementptr inbounds %class.variant.43, %class.variant.43* %8, i32 -1
  %10 = bitcast %class.variant.43* %9 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %6, i8* %10, i32 16, i32 8, i1 false), !tbaa.struct !567
  store %class.variant.43* %9, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %1)
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %6) #14
  %11 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %12 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %13 = icmp eq %class.variant.43* %11, %12
  br i1 %13, label %14, label %7

; <label>:14:                                     ; preds = %7, %0
  ret void
}

; Function Attrs: nounwind
define void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #2 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  switch i32 %3, label %48 [
    i32 14, label %4
    i32 17, label %45
  ]

; <label>:4:                                      ; preds = %1
  %5 = bitcast %class.variant.43* %0 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %6 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %5, align 4, !tbaa !549
  %7 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %6, i32 0, i32 0
  %8 = load i32, i32* %7, align 4, !tbaa !547
  %9 = icmp eq i32 %8, 1
  br i1 %9, label %12, label %10

; <label>:10:                                     ; preds = %4
  %11 = add i32 %8, -1
  store i32 %11, i32* %7, align 4, !tbaa !547
  br label %48

; <label>:12:                                     ; preds = %4
  %13 = icmp eq %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %6, null
  br i1 %13, label %48, label %14

; <label>:14:                                     ; preds = %12
  %15 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %16 = load i32, i32* %15, align 4, !tbaa !81
  %17 = icmp ugt i32 %16, 15
  br i1 %17, label %18, label %43

; <label>:18:                                     ; preds = %14
  %19 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %20 = load i8*, i8** %19, align 4, !tbaa !12
  %21 = add i32 %16, 1
  %22 = icmp ugt i32 %21, 4095
  br i1 %22, label %23, label %40

; <label>:23:                                     ; preds = %18
  %24 = add i32 %16, 36
  %25 = icmp ugt i32 %21, -36
  br i1 %25, label %39, label %26

; <label>:26:                                     ; preds = %23
  %27 = ptrtoint i8* %20 to i32
  %28 = and i32 %27, 31
  %29 = icmp eq i32 %28, 0
  br i1 %29, label %30, label %39

; <label>:30:                                     ; preds = %26
  %31 = add i32 %27, -4
  %32 = inttoptr i32 %31 to i32*
  %33 = load i32, i32* %32, align 4, !tbaa !24
  %34 = icmp ult i32 %33, %27
  br i1 %34, label %35, label %39

; <label>:35:                                     ; preds = %30
  %36 = sub i32 %31, %33
  %37 = icmp ugt i32 %36, 31
  %38 = inttoptr i32 %33 to i8*
  br i1 %37, label %39, label %40

; <label>:39:                                     ; preds = %35, %30, %26, %23
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:40:                                     ; preds = %35, %18
  %41 = phi i8* [ %38, %35 ], [ %20, %18 ]
  %42 = phi i32 [ %24, %35 ], [ %21, %18 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %41, i32 %42) #14
  br label %43

; <label>:43:                                     ; preds = %40, %14
  %44 = bitcast %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %6 to i8*
  tail call void @"\01??3@YAXPAX@Z"(i8* %44) #21
  br label %48

; <label>:45:                                     ; preds = %1
  %46 = bitcast %class.variant.43* %0 to %struct.Combined**
  %47 = load %struct.Combined*, %struct.Combined** %46, align 4, !tbaa !23
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %47)
  br label %48

; <label>:48:                                     ; preds = %45, %43, %12, %10, %1
  ret void
}

; Function Attrs: nounwind
define void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28)) local_unnamed_addr #2 {
  %2 = alloca %"class.std::vector.37"*, align 4
  %3 = alloca %class.variant.43*, align 4
  %4 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 0
  %5 = load i32, i32* %4, align 4, !tbaa !558
  %6 = icmp eq i32 %5, 1
  br i1 %6, label %7, label %214

; <label>:7:                                      ; preds = %1
  %8 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 3
  %9 = load i32, i32* %8, align 4, !tbaa !565
  %10 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4
  %11 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %12 = bitcast %struct.Field** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = bitcast %"class.std::vector.17"* %10 to i32*
  %15 = load i32, i32* %14, align 4, !tbaa !23
  %16 = sub i32 %13, %15
  %17 = sdiv exact i32 %16, 24
  %18 = icmp eq i32 %9, %17
  %19 = inttoptr i32 %15 to %struct.Field*
  %20 = inttoptr i32 %13 to %struct.Field*
  %21 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %10, i32 0, i32 0, i32 0, i32 0, i32 0
  br i1 %18, label %166, label %22

; <label>:22:                                     ; preds = %7
  %23 = getelementptr inbounds %struct.Field, %struct.Field* %19, i32 %9, i32 1, i32 1
  %24 = load i32, i32* %23, align 8, !tbaa !535
  %25 = add i32 %24, -15
  %26 = icmp ult i32 %25, 2
  br i1 %26, label %27, label %166

; <label>:27:                                     ; preds = %22
  %28 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %29 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %30 = sub i32 %28, %29
  %31 = ashr exact i32 %30, 4
  %32 = tail call dereferenceable(12) %"class.std::vector.37"* @"\01?acquireStack@@YAAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@I@Z"(i32 %31)
  %33 = icmp eq %"class.std::vector.37"* %32, @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A"
  br i1 %33, label %34, label %36

; <label>:34:                                     ; preds = %27
  %35 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  br label %48

; <label>:36:                                     ; preds = %27
  %37 = bitcast %"class.std::vector.37"* %32 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23
  %39 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  store i32 %39, i32* %37, align 4, !tbaa !23
  store i32 %38, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %40 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %32, i32 0, i32 0, i32 0, i32 0, i32 1
  %41 = bitcast %class.variant.43** %40 to i32*
  %42 = load i32, i32* %41, align 4, !tbaa !23
  %43 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  store i32 %43, i32* %41, align 4, !tbaa !23
  store i32 %42, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %44 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %32, i32 0, i32 0, i32 0, i32 0, i32 2
  %45 = bitcast %class.variant.43** %44 to i32*
  %46 = load i32, i32* %45, align 4, !tbaa !23
  %47 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  store i32 %47, i32* %45, align 4, !tbaa !23
  store i32 %46, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  br label %48

; <label>:48:                                     ; preds = %36, %34
  %49 = phi i32 [ %35, %34 ], [ %38, %36 ]
  store i32 %49, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %50 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %51 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23, !noalias !992
  %52 = load %struct.Field*, %struct.Field** %11, align 4, !tbaa !23, !noalias !995
  %53 = icmp eq %struct.Field* %52, %51
  br i1 %53, label %67, label %54

; <label>:54:                                     ; preds = %48
  %55 = bitcast %class.variant.43** %3 to i8*
  br label %56

; <label>:56:                                     ; preds = %56, %54
  %57 = phi %struct.Field* [ %51, %54 ], [ %63, %56 ]
  %58 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 0, i32 1
  %59 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 0, i32 0
  %60 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %59, align 8, !tbaa !561
  %61 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %60, i32 0, i32 1, i32 2
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %55) #14
  store %class.variant.43* %58, %class.variant.43** %3, align 4, !tbaa !23
  %62 = call x86_thiscallcc dereferenceable(4) %class.variant.43** @"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"class.std::vector.11"* %61, %class.variant.43** nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %55) #14
  %63 = getelementptr inbounds %struct.Field, %struct.Field* %57, i32 1
  %64 = icmp eq %struct.Field* %52, %63
  br i1 %64, label %65, label %56

; <label>:65:                                     ; preds = %56
  %66 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23
  br label %67

; <label>:67:                                     ; preds = %65, %48
  %68 = phi %struct.Field* [ %66, %65 ], [ %51, %48 ]
  %69 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %70 = add i32 %69, 1
  store i32 %70, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %71 = load i32, i32* %8, align 4, !tbaa !565
  %72 = getelementptr inbounds %struct.Field, %struct.Field* %68, i32 %71, i32 1, i32 1
  %73 = load i32, i32* %72, align 8, !tbaa !535
  %74 = icmp eq i32 %73, 16
  br i1 %74, label %75, label %94

; <label>:75:                                     ; preds = %67
  %76 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %77 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %78 = sub i32 %76, %77
  %79 = sdiv exact i32 %78, 12
  %80 = add nsw i32 %79, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 %80, %"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A") #14
  %81 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %82 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %83 = sub i32 %81, %82
  %84 = sdiv exact i32 %83, 12
  %85 = load i32, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %86 = icmp ult i32 %85, %84
  %87 = select i1 %86, i32 %84, i32 %85
  store i32 %87, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %88 = load i32, i32* %8, align 4, !tbaa !565
  %89 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23
  %90 = getelementptr inbounds %struct.Field, %struct.Field* %89, i32 %88, i32 1
  %91 = bitcast %class.variant.43* %90 to i1 ()**
  %92 = load i1 ()*, i1 ()** %91, align 4, !tbaa !23
  %93 = call zeroext i1 %92() #14
  call void @"\01?removeNode@@YAXXZ"()
  br label %102

; <label>:94:                                     ; preds = %67
  %95 = getelementptr inbounds %struct.Field, %struct.Field* %68, i32 %71, i32 1
  %96 = bitcast %class.variant.43* %95 to %struct.SourceCode*
  %97 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %96, i32 0, i32 1
  %98 = load i32, i32* %97, align 4, !tbaa !570
  %99 = bitcast %class.variant.43* %95 to %"class.std::vector.4"**
  %100 = load %"class.std::vector.4"*, %"class.std::vector.4"** %99, align 4, !tbaa !572
  %101 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %100, i32 %98)
  br label %102

; <label>:102:                                    ; preds = %94, %75
  %103 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %104 = add i32 %103, -1
  store i32 %104, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %105 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %106 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %107 = sub i32 %105, %106
  %108 = ashr exact i32 %107, 4
  %109 = icmp eq i32 %108, 0
  br i1 %109, label %116, label %110

; <label>:110:                                    ; preds = %102
  %111 = inttoptr i32 %106 to %class.variant.43*
  %112 = add nsw i32 %108, -1
  %113 = getelementptr inbounds %class.variant.43, %class.variant.43* %111, i32 %112
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %113)
  %114 = icmp eq i32 %112, 0
  br i1 %114, label %116, label %115

; <label>:115:                                    ; preds = %110
  br label %160

; <label>:116:                                    ; preds = %160, %110, %102
  %117 = load i32, i32* %12, align 4, !tbaa !23
  %118 = load i32, i32* %14, align 4, !tbaa !23
  %119 = sub i32 %117, %118
  %120 = icmp eq i32 %119, 0
  br i1 %120, label %142, label %121

; <label>:121:                                    ; preds = %116
  %122 = inttoptr i32 %118 to %struct.Field*
  %123 = sdiv exact i32 %119, 24
  %124 = add nsw i32 %123, -1
  %125 = getelementptr inbounds %struct.Field, %struct.Field* %122, i32 %124, i32 0
  %126 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %125, align 8, !tbaa !561
  %127 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %126, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %128 = load %class.variant.43**, %class.variant.43*** %127, align 4, !tbaa !23
  %129 = getelementptr inbounds %class.variant.43*, %class.variant.43** %128, i32 -1
  store %class.variant.43** %129, %class.variant.43*** %127, align 4, !tbaa !23
  %130 = icmp eq i32 %124, 0
  br i1 %130, label %142, label %131

; <label>:131:                                    ; preds = %121
  br label %132

; <label>:132:                                    ; preds = %132, %131
  %133 = phi i32 [ %135, %132 ], [ %124, %131 ]
  %134 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23
  %135 = add i32 %133, -1
  %136 = getelementptr inbounds %struct.Field, %struct.Field* %134, i32 %135, i32 0
  %137 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %136, align 8, !tbaa !561
  %138 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %137, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %139 = load %class.variant.43**, %class.variant.43*** %138, align 4, !tbaa !23
  %140 = getelementptr inbounds %class.variant.43*, %class.variant.43** %139, i32 -1
  store %class.variant.43** %140, %class.variant.43*** %138, align 4, !tbaa !23
  %141 = icmp eq i32 %135, 0
  br i1 %141, label %142, label %132

; <label>:142:                                    ; preds = %132, %121, %116
  br i1 %33, label %155, label %143

; <label>:143:                                    ; preds = %142
  %144 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %145 = bitcast %"class.std::vector.37"* %32 to i32*
  %146 = load i32, i32* %145, align 4, !tbaa !23
  store i32 %146, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  store i32 %144, i32* %145, align 4, !tbaa !23
  %147 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %32, i32 0, i32 0, i32 0, i32 0, i32 1
  %148 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %149 = bitcast %class.variant.43** %147 to i32*
  %150 = load i32, i32* %149, align 4, !tbaa !23
  store i32 %150, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  store i32 %148, i32* %149, align 4, !tbaa !23
  %151 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %32, i32 0, i32 0, i32 0, i32 0, i32 2
  %152 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %153 = bitcast %class.variant.43** %151 to i32*
  %154 = load i32, i32* %153, align 4, !tbaa !23
  store i32 %154, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  store i32 %152, i32* %153, align 4, !tbaa !23
  br label %155

; <label>:155:                                    ; preds = %143, %142
  %156 = bitcast %"class.std::vector.37"** %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %156) #14
  store %"class.std::vector.37"* %32, %"class.std::vector.37"** %2, align 4, !tbaa !23
  %157 = call x86_thiscallcc dereferenceable(4) %"class.std::vector.37"** @"\01??$emplace_back@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@$$QAPAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@1@@Z"(%"class.std::vector.92"* nonnull @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", %"class.std::vector.37"** nonnull dereferenceable(4) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %156) #14
  store i32 %50, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %158 = load %struct.Field*, %struct.Field** %11, align 4, !tbaa !23, !noalias !998
  %159 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23, !noalias !1001
  br label %166

; <label>:160:                                    ; preds = %160, %115
  %161 = phi i32 [ %163, %160 ], [ %112, %115 ]
  %162 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %163 = add i32 %161, -1
  %164 = getelementptr inbounds %class.variant.43, %class.variant.43* %162, i32 %163
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %164)
  %165 = icmp eq i32 %163, 0
  br i1 %165, label %116, label %160

; <label>:166:                                    ; preds = %155, %22, %7
  %167 = phi %struct.Field* [ %19, %22 ], [ %159, %155 ], [ %19, %7 ]
  %168 = phi %struct.Field* [ %20, %22 ], [ %158, %155 ], [ %20, %7 ]
  %169 = icmp eq %struct.Field* %167, %168
  br i1 %169, label %171, label %170

; <label>:170:                                    ; preds = %166
  br label %208

; <label>:171:                                    ; preds = %166
  %172 = icmp eq %struct.Field* %167, null
  br i1 %172, label %205, label %173

; <label>:173:                                    ; preds = %208, %171
  %174 = phi %struct.Field* [ %167, %171 ], [ %210, %208 ]
  %175 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %176 = ptrtoint %struct.Field* %174 to i32
  %177 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 2
  %178 = bitcast %struct.Field** %177 to i32*
  %179 = load i32, i32* %178, align 4, !tbaa !23
  %180 = sub i32 %179, %176
  %181 = sdiv exact i32 %180, 24
  %182 = icmp ugt i32 %181, 178956970
  br i1 %182, label %201, label %183

; <label>:183:                                    ; preds = %173
  %184 = bitcast %struct.Field* %174 to i8*
  %185 = icmp ugt i32 %180, 4095
  br i1 %185, label %186, label %202

; <label>:186:                                    ; preds = %183
  %187 = add i32 %180, 35
  %188 = icmp ult i32 %180, -35
  %189 = and i32 %176, 31
  %190 = icmp eq i32 %189, 0
  %191 = and i1 %190, %188
  br i1 %191, label %192, label %201

; <label>:192:                                    ; preds = %186
  %193 = add i32 %176, -4
  %194 = inttoptr i32 %193 to i32*
  %195 = load i32, i32* %194, align 4, !tbaa !24
  %196 = icmp ult i32 %195, %176
  br i1 %196, label %197, label %201

; <label>:197:                                    ; preds = %192
  %198 = sub i32 %193, %195
  %199 = icmp ugt i32 %198, 31
  %200 = inttoptr i32 %195 to i8*
  br i1 %199, label %201, label %202

; <label>:201:                                    ; preds = %197, %192, %186, %173
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:202:                                    ; preds = %197, %183
  %203 = phi i8* [ %200, %197 ], [ %184, %183 ]
  %204 = phi i32 [ %187, %197 ], [ %180, %183 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %203, i32 %204) #14
  store %struct.Field* null, %struct.Field** %175, align 4, !tbaa !23
  br label %205

; <label>:205:                                    ; preds = %202, %171
  %206 = bitcast %struct.Combined* %0 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* nonnull %206) #21
  %207 = load i32, i32* @"\01?releasedCombineds@@3IA", align 4, !tbaa !24
  br label %214

; <label>:208:                                    ; preds = %208, %170
  %209 = phi %struct.Field* [ %210, %208 ], [ %168, %170 ]
  %210 = getelementptr inbounds %struct.Field, %struct.Field* %209, i32 -1
  %211 = getelementptr inbounds %struct.Field, %struct.Field* %209, i32 -1, i32 1
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %211)
  %212 = load %struct.Field*, %struct.Field** %21, align 4, !tbaa !23, !noalias !1001
  %213 = icmp eq %struct.Field* %212, %210
  br i1 %213, label %173, label %208

; <label>:214:                                    ; preds = %205, %1
  %215 = phi i32 [ %207, %205 ], [ %5, %1 ]
  %216 = phi i32* [ @"\01?releasedCombineds@@3IA", %205 ], [ %4, %1 ]
  %217 = phi i32 [ 1, %205 ], [ -1, %1 ]
  %218 = add i32 %215, %217
  store i32 %218, i32* %216, align 4, !tbaa !24
  ret void
}

; Function Attrs: nounwind
define dereferenceable(12) %"class.std::vector.37"* @"\01?acquireStack@@YAAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@I@Z"(i32) local_unnamed_addr #2 {
  %2 = load %"class.std::vector.37"**, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %3 = load %"class.std::vector.37"**, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %4 = icmp eq %"class.std::vector.37"** %2, %3
  br i1 %4, label %5, label %38

; <label>:5:                                      ; preds = %1
  %6 = tail call i8* @"\01??2@YAPAXI@Z"(i32 12) #21
  %7 = bitcast i8* %6 to %"class.std::vector.37"*
  %8 = getelementptr inbounds i8, i8* %6, i32 4
  %9 = bitcast i8* %8 to %class.variant.43**
  %10 = getelementptr inbounds i8, i8* %6, i32 8
  %11 = bitcast i8* %10 to %class.variant.43**
  %12 = icmp eq i32 %0, 0
  tail call void @llvm.memset.p0i8.i64(i8* nonnull %6, i8 0, i64 12, i32 4, i1 false) #14
  br i1 %12, label %41, label %13

; <label>:13:                                     ; preds = %5
  %14 = icmp ugt i32 %0, 268435455
  br i1 %14, label %15, label %16

; <label>:15:                                     ; preds = %13
  tail call void @"\01?_Xlength@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@CAXXZ"() #12
  unreachable

; <label>:16:                                     ; preds = %13
  %17 = shl i32 %0, 4
  %18 = icmp ugt i32 %17, 4095
  br i1 %18, label %19, label %31

; <label>:19:                                     ; preds = %16
  %20 = icmp ugt i32 %17, -36
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = add i32 %17, 35
  %24 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %23) #14
  %25 = ptrtoint i8* %24 to i32
  %26 = add i32 %25, 35
  %27 = and i32 %26, -32
  %28 = inttoptr i32 %27 to i8*
  %29 = inttoptr i32 %27 to i32*
  %30 = getelementptr inbounds i32, i32* %29, i32 -1
  store i32 %25, i32* %30, align 4, !tbaa !24
  br label %33

; <label>:31:                                     ; preds = %16
  %32 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %17) #14
  br label %33

; <label>:33:                                     ; preds = %31, %22
  %34 = phi i8* [ %28, %22 ], [ %32, %31 ]
  %35 = bitcast i8* %34 to %class.variant.43*
  %36 = bitcast i8* %6 to i8**
  store i8* %34, i8** %36, align 4, !tbaa !23
  %37 = getelementptr %class.variant.43, %class.variant.43* %35, i32 %0
  store %class.variant.43* %37, %class.variant.43** %11, align 4, !tbaa !23
  tail call void @llvm.memset.p0i8.i32(i8* %34, i8 0, i32 %17, i32 8, i1 false) #14
  store %class.variant.43* %37, %class.variant.43** %9, align 4, !tbaa !23
  br label %41

; <label>:38:                                     ; preds = %1
  %39 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %3, i32 -1
  %40 = load %"class.std::vector.37"*, %"class.std::vector.37"** %39, align 4, !tbaa !23
  store %"class.std::vector.37"** %39, %"class.std::vector.37"*** getelementptr inbounds (%"class.std::vector.92", %"class.std::vector.92"* @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  br label %41

; <label>:41:                                     ; preds = %38, %33, %5
  %42 = phi %"class.std::vector.37"* [ %40, %38 ], [ %7, %5 ], [ %7, %33 ]
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* %42, i32 %0, %"class.std::vector.37"* %42) #14
  ret %"class.std::vector.37"* %42
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(4) %class.variant.43** @"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"class.std::vector.11"*, %class.variant.43** dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %class.variant.43**, %class.variant.43*** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %class.variant.43**, %class.variant.43*** %5, align 4, !tbaa !23
  %7 = icmp eq %class.variant.43** %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = bitcast %class.variant.43** %6 to i32*
  %10 = bitcast %class.variant.43** %1 to i32*
  %11 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %11, i32* %9, align 4, !tbaa !23
  %12 = load %class.variant.43**, %class.variant.43*** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %class.variant.43*, %class.variant.43** %12, i32 1
  br label %103

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %class.variant.43** %4 to i32
  %16 = ptrtoint %class.variant.43** %6 to i32
  %17 = bitcast %class.variant.43*** %5 to i32*
  %18 = bitcast %"class.std::vector.11"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %16, %19
  %21 = ashr exact i32 %20, 2
  %22 = add nsw i32 %21, 1
  %23 = bitcast %class.variant.43*** %3 to i32*
  %24 = sub i32 %15, %19
  %25 = ashr exact i32 %24, 2
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 1073741823, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %14
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %14
  %34 = phi i32 [ %32, %29 ], [ %22, %14 ]
  %35 = icmp eq i32 %34, 0
  br i1 %35, label %56, label %36

; <label>:36:                                     ; preds = %33
  %37 = icmp ugt i32 %34, 1073741823
  br i1 %37, label %38, label %39

; <label>:38:                                     ; preds = %36
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:39:                                     ; preds = %36
  %40 = shl i32 %34, 2
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %39
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %39
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %33
  %57 = phi i8* [ null, %33 ], [ %51, %45 ], [ %55, %54 ]
  %58 = bitcast i8* %57 to %class.variant.43**
  %59 = getelementptr inbounds %class.variant.43*, %class.variant.43** %58, i32 %21
  %60 = bitcast %class.variant.43** %1 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !23
  %62 = bitcast %class.variant.43** %59 to i32*
  store i32 %61, i32* %62, align 4, !tbaa !23
  %63 = load i32, i32* %17, align 4, !tbaa !23
  %64 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %65 = load %class.variant.43**, %class.variant.43*** %64, align 4, !tbaa !23
  %66 = bitcast %class.variant.43** %65 to i8*
  %67 = ptrtoint %class.variant.43** %65 to i32
  %68 = sub i32 %63, %67
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %57, i8* %66, i32 %68, i32 1, i1 false) #14
  %69 = load %class.variant.43**, %class.variant.43*** %64, align 4, !tbaa !23
  %70 = icmp eq %class.variant.43** %69, null
  %71 = ptrtoint %class.variant.43** %69 to i32
  br i1 %70, label %99, label %72

; <label>:72:                                     ; preds = %56
  %73 = load i32, i32* %23, align 4, !tbaa !23
  %74 = sub i32 %73, %71
  %75 = ashr exact i32 %74, 2
  %76 = icmp ugt i32 %75, 1073741823
  br i1 %76, label %95, label %77

; <label>:77:                                     ; preds = %72
  %78 = bitcast %class.variant.43** %69 to i8*
  %79 = icmp ugt i32 %74, 4095
  br i1 %79, label %80, label %96

; <label>:80:                                     ; preds = %77
  %81 = add i32 %74, 35
  %82 = icmp ult i32 %74, -35
  %83 = and i32 %71, 31
  %84 = icmp eq i32 %83, 0
  %85 = and i1 %84, %82
  br i1 %85, label %86, label %95

; <label>:86:                                     ; preds = %80
  %87 = add i32 %71, -4
  %88 = inttoptr i32 %87 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !24
  %90 = icmp ult i32 %89, %71
  br i1 %90, label %91, label %95

; <label>:91:                                     ; preds = %86
  %92 = sub i32 %87, %89
  %93 = icmp ugt i32 %92, 31
  %94 = inttoptr i32 %89 to i8*
  br i1 %93, label %95, label %96

; <label>:95:                                     ; preds = %91, %86, %80, %72
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:96:                                     ; preds = %91, %77
  %97 = phi i8* [ %94, %91 ], [ %78, %77 ]
  %98 = phi i32 [ %81, %91 ], [ %74, %77 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %97, i32 %98) #14
  br label %99

; <label>:99:                                     ; preds = %96, %56
  %100 = bitcast %"class.std::vector.11"* %0 to i8**
  store i8* %57, i8** %100, align 4, !tbaa !23
  %101 = getelementptr inbounds %class.variant.43*, %class.variant.43** %58, i32 %22
  store %class.variant.43** %101, %class.variant.43*** %5, align 4, !tbaa !23
  %102 = getelementptr inbounds %class.variant.43*, %class.variant.43** %58, i32 %34
  br label %103

; <label>:103:                                    ; preds = %99, %8
  %104 = phi %class.variant.43*** [ %3, %99 ], [ %5, %8 ]
  %105 = phi %class.variant.43** [ %102, %99 ], [ %13, %8 ]
  store %class.variant.43** %105, %class.variant.43*** %104, align 4, !tbaa !23
  %106 = load %class.variant.43**, %class.variant.43*** %5, align 4, !tbaa !23
  %107 = getelementptr inbounds %class.variant.43*, %class.variant.43** %106, i32 -1
  ret %class.variant.43** %107
}

; Function Attrs: nounwind
define void @"\01?removeNode@@YAXXZ"() local_unnamed_addr #2 {
  %1 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %2 = getelementptr inbounds %struct.Node, %struct.Node* %1, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 0
  %3 = load %struct.Field*, %struct.Field** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %struct.Node, %struct.Node* %1, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load %struct.Field*, %struct.Field** %4, align 4, !tbaa !23
  %6 = icmp eq %struct.Field* %3, %5
  br i1 %6, label %28, label %7

; <label>:7:                                      ; preds = %0
  br label %8

; <label>:8:                                      ; preds = %8, %7
  %9 = phi %struct.Field* [ %26, %8 ], [ %5, %7 ]
  %10 = phi %struct.Field** [ %25, %8 ], [ %4, %7 ]
  %11 = getelementptr inbounds %struct.Field, %struct.Field* %9, i32 -1, i32 0
  %12 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %11, align 8, !tbaa !561
  %13 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %12, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %14 = load %class.variant.43**, %class.variant.43*** %13, align 4, !tbaa !23
  %15 = getelementptr inbounds %class.variant.43*, %class.variant.43** %14, i32 -1
  store %class.variant.43** %15, %class.variant.43*** %13, align 4, !tbaa !23
  %16 = load %struct.Field*, %struct.Field** %10, align 4, !tbaa !23
  %17 = getelementptr inbounds %struct.Field, %struct.Field* %16, i32 -1, i32 1
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %17)
  %18 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %19 = getelementptr inbounds %struct.Node, %struct.Node* %18, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %20 = load %struct.Field*, %struct.Field** %19, align 4, !tbaa !23
  %21 = getelementptr inbounds %struct.Field, %struct.Field* %20, i32 -1
  store %struct.Field* %21, %struct.Field** %19, align 4, !tbaa !23
  %22 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %23 = getelementptr inbounds %struct.Node, %struct.Node* %22, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 0
  %24 = load %struct.Field*, %struct.Field** %23, align 4, !tbaa !23
  %25 = getelementptr inbounds %struct.Node, %struct.Node* %22, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %26 = load %struct.Field*, %struct.Field** %25, align 4, !tbaa !23
  %27 = icmp eq %struct.Field* %24, %26
  br i1 %27, label %28, label %8

; <label>:28:                                     ; preds = %8, %0
  %29 = phi %struct.Field* [ %3, %0 ], [ %24, %8 ]
  %30 = phi %struct.Node* [ %1, %0 ], [ %22, %8 ]
  %31 = getelementptr inbounds %struct.Node, %struct.Node* %30, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 0
  %32 = icmp eq %struct.Field* %29, null
  %33 = ptrtoint %struct.Field* %29 to i32
  br i1 %32, label %65, label %34

; <label>:34:                                     ; preds = %28
  %35 = getelementptr inbounds %struct.Node, %struct.Node* %30, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %36 = getelementptr inbounds %struct.Node, %struct.Node* %30, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 2
  %37 = bitcast %struct.Field** %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23
  %39 = sub i32 %38, %33
  %40 = sdiv exact i32 %39, 24
  %41 = icmp ugt i32 %40, 178956970
  br i1 %41, label %60, label %42

; <label>:42:                                     ; preds = %34
  %43 = bitcast %struct.Field* %29 to i8*
  %44 = icmp ugt i32 %39, 4095
  br i1 %44, label %45, label %61

; <label>:45:                                     ; preds = %42
  %46 = add i32 %39, 35
  %47 = icmp ult i32 %39, -35
  %48 = and i32 %33, 31
  %49 = icmp eq i32 %48, 0
  %50 = and i1 %49, %47
  br i1 %50, label %51, label %60

; <label>:51:                                     ; preds = %45
  %52 = add i32 %33, -4
  %53 = inttoptr i32 %52 to i32*
  %54 = load i32, i32* %53, align 4, !tbaa !24
  %55 = icmp ult i32 %54, %33
  br i1 %55, label %56, label %60

; <label>:56:                                     ; preds = %51
  %57 = sub i32 %52, %54
  %58 = icmp ugt i32 %57, 31
  %59 = inttoptr i32 %54 to i8*
  br i1 %58, label %60, label %61

; <label>:60:                                     ; preds = %56, %51, %45, %34
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:61:                                     ; preds = %56, %42
  %62 = phi i8* [ %59, %56 ], [ %43, %42 ]
  %63 = phi i32 [ %46, %56 ], [ %39, %42 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %62, i32 %63) #14
  store %struct.Field* null, %struct.Field** %31, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %35, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %36, align 4, !tbaa !23
  %64 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  br label %65

; <label>:65:                                     ; preds = %61, %28
  %66 = phi %struct.Node* [ %30, %28 ], [ %64, %61 ]
  %67 = getelementptr inbounds %struct.Node, %struct.Node* %66, i32 -1
  store %struct.Node* %67, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* readonly dereferenceable(12), i32) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca [21 x i8], align 1
  %6 = alloca [12 x i8], align 4
  %7 = alloca %"class.std::basic_string", align 4
  %8 = alloca %"class.std::basic_string", align 4
  %9 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %10 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %11 = sub i32 %9, %10
  %12 = icmp eq i32 %11, 196608
  br i1 %12, label %13, label %141

; <label>:13:                                     ; preds = %2
  %14 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %15 = icmp eq i32 %14, 0
  br i1 %15, label %16, label %152

; <label>:16:                                     ; preds = %13
  %17 = getelementptr inbounds [12 x i8], [12 x i8]* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %17)
  %18 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %18) #14
  %19 = bitcast %"class.std::basic_string"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %19) #14
  %20 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %20) #14, !noalias !1004
  %21 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 20
  store i8 52, i8* %21, align 1, !tbaa !12, !noalias !1004
  %22 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 19
  store i8 56, i8* %22, align 1, !tbaa !12, !noalias !1004
  %23 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 18
  store i8 51, i8* %23, align 1, !tbaa !12, !noalias !1004
  %24 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 17
  store i8 54, i8* %24, align 1, !tbaa !12, !noalias !1004
  %25 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 16
  store i8 49, i8* %25, align 1, !tbaa !12, !noalias !1004
  %26 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 16
  %27 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 1
  %28 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %28, align 4, !tbaa !81, !alias.scope !1004
  store i32 5, i32* %27, align 4, !tbaa !83, !alias.scope !1004
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %19, i8* %26, i32 5, i32 1, i1 false) #14
  %29 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %29, align 1, !tbaa !12, !alias.scope !1004
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %20) #14, !noalias !1004
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14, !noalias !1009
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %8, i32 33, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i32 0, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @"\01??_C@_0CC@PAFBEPGE@maximum?5recursion?5level?5reached?5@", i32 0, i32 0), i32 33) #14, !noalias !1009
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14, !noalias !1009
  %32 = bitcast %"class.std::basic_string"* %31 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %18, i8* nonnull %32, i32 24, i32 1, i1 false) #14
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %33, align 4, !tbaa !83, !noalias !1009
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %34, align 4, !tbaa !81, !noalias !1009
  store i8 0, i8* %32, align 1, !tbaa !12, !noalias !1009
  %35 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %35) #14, !noalias !1012
  %36 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 1
  %37 = load i32, i32* %36, align 4, !tbaa !83, !noalias !1012
  %38 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 2
  %39 = load i32, i32* %38, align 4, !tbaa !81, !noalias !1012
  %40 = icmp ult i32 %37, %39
  br i1 %40, label %41, label %49

; <label>:41:                                     ; preds = %16
  %42 = add i32 %37, 1
  store i32 %42, i32* %36, align 4, !tbaa !83, !noalias !1012
  %43 = icmp ugt i32 %39, 15
  %44 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %45 = load i8*, i8** %44, align 4, !noalias !1012
  %46 = select i1 %43, i8* %45, i8* %18
  %47 = getelementptr inbounds i8, i8* %46, i32 %37
  store i8 41, i8* %47, align 1, !tbaa !12, !noalias !1012
  %48 = getelementptr inbounds i8, i8* %46, i32 %42
  store i8 0, i8* %48, align 1, !tbaa !12, !noalias !1012
  br label %51

; <label>:49:                                     ; preds = %16
  %50 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %7, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 41) #14, !noalias !1012
  br label %51

; <label>:51:                                     ; preds = %49, %41
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %35) #14, !noalias !1012
  %52 = bitcast %"class.std::basic_string"* %7 to i32*
  %53 = load i32, i32* %52, align 4
  %54 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %17, i8* %54, i32 12, i32 4, i1 false)
  %55 = load i32, i32* %36, align 4
  %56 = load i32, i32* %38, align 4
  store i32 0, i32* %36, align 4, !tbaa !83, !noalias !1012
  store i32 15, i32* %38, align 4, !tbaa !81, !noalias !1012
  store i8 0, i8* %18, align 4, !tbaa !12, !noalias !1012
  %57 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %58 = icmp ugt i32 %57, 15
  br i1 %58, label %59, label %84

; <label>:59:                                     ; preds = %51
  %60 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %61 = add i32 %57, 1
  %62 = icmp ugt i32 %61, 4095
  br i1 %62, label %63, label %80

; <label>:63:                                     ; preds = %59
  %64 = add i32 %57, 36
  %65 = icmp ugt i32 %61, -36
  br i1 %65, label %79, label %66

; <label>:66:                                     ; preds = %63
  %67 = ptrtoint i8* %60 to i32
  %68 = and i32 %67, 31
  %69 = icmp eq i32 %68, 0
  br i1 %69, label %70, label %79

; <label>:70:                                     ; preds = %66
  %71 = add i32 %67, -4
  %72 = inttoptr i32 %71 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = icmp ult i32 %73, %67
  br i1 %74, label %75, label %79

; <label>:75:                                     ; preds = %70
  %76 = sub i32 %71, %73
  %77 = icmp ugt i32 %76, 31
  %78 = inttoptr i32 %73 to i8*
  br i1 %77, label %79, label %80

; <label>:79:                                     ; preds = %75, %70, %66, %63
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:80:                                     ; preds = %75, %59
  %81 = phi i8* [ %78, %75 ], [ %60, %59 ]
  %82 = phi i32 [ %64, %75 ], [ %61, %59 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %81, i32 %82) #14
  %83 = load i32, i32* %38, align 4, !tbaa !81
  br label %84

; <label>:84:                                     ; preds = %80, %51
  %85 = phi i32 [ %83, %80 ], [ 15, %51 ]
  store i32 %53, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %17, i32 12, i32 4, i1 false)
  store i32 %55, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %56, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %86 = icmp ugt i32 %85, 15
  br i1 %86, label %87, label %112

; <label>:87:                                     ; preds = %84
  %88 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %89 = load i8*, i8** %88, align 4, !tbaa !12
  %90 = add i32 %85, 1
  %91 = icmp ugt i32 %90, 4095
  br i1 %91, label %92, label %109

; <label>:92:                                     ; preds = %87
  %93 = add i32 %85, 36
  %94 = icmp ugt i32 %90, -36
  br i1 %94, label %108, label %95

; <label>:95:                                     ; preds = %92
  %96 = ptrtoint i8* %89 to i32
  %97 = and i32 %96, 31
  %98 = icmp eq i32 %97, 0
  br i1 %98, label %99, label %108

; <label>:99:                                     ; preds = %95
  %100 = add i32 %96, -4
  %101 = inttoptr i32 %100 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !24
  %103 = icmp ult i32 %102, %96
  br i1 %103, label %104, label %108

; <label>:104:                                    ; preds = %99
  %105 = sub i32 %100, %102
  %106 = icmp ugt i32 %105, 31
  %107 = inttoptr i32 %102 to i8*
  br i1 %106, label %108, label %109

; <label>:108:                                    ; preds = %104, %99, %95, %92
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:109:                                    ; preds = %104, %87
  %110 = phi i8* [ %107, %104 ], [ %89, %87 ]
  %111 = phi i32 [ %93, %104 ], [ %90, %87 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %110, i32 %111) #14
  br label %112

; <label>:112:                                    ; preds = %109, %84
  store i32 0, i32* %36, align 4, !tbaa !83
  store i32 15, i32* %38, align 4, !tbaa !81
  store i8 0, i8* %18, align 4, !tbaa !12
  %113 = load i32, i32* %28, align 4, !tbaa !81
  %114 = icmp ugt i32 %113, 15
  br i1 %114, label %115, label %140

; <label>:115:                                    ; preds = %112
  %116 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %117 = load i8*, i8** %116, align 4, !tbaa !12
  %118 = add i32 %113, 1
  %119 = icmp ugt i32 %118, 4095
  br i1 %119, label %120, label %137

; <label>:120:                                    ; preds = %115
  %121 = add i32 %113, 36
  %122 = icmp ugt i32 %118, -36
  br i1 %122, label %136, label %123

; <label>:123:                                    ; preds = %120
  %124 = ptrtoint i8* %117 to i32
  %125 = and i32 %124, 31
  %126 = icmp eq i32 %125, 0
  br i1 %126, label %127, label %136

; <label>:127:                                    ; preds = %123
  %128 = add i32 %124, -4
  %129 = inttoptr i32 %128 to i32*
  %130 = load i32, i32* %129, align 4, !tbaa !24
  %131 = icmp ult i32 %130, %124
  br i1 %131, label %132, label %136

; <label>:132:                                    ; preds = %127
  %133 = sub i32 %128, %130
  %134 = icmp ugt i32 %133, 31
  %135 = inttoptr i32 %130 to i8*
  br i1 %134, label %136, label %137

; <label>:136:                                    ; preds = %132, %127, %123, %120
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:137:                                    ; preds = %132, %115
  %138 = phi i8* [ %135, %132 ], [ %117, %115 ]
  %139 = phi i32 [ %121, %132 ], [ %118, %115 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %138, i32 %139) #14
  br label %140

; <label>:140:                                    ; preds = %137, %112
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %19) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %18) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %17)
  br label %152

; <label>:141:                                    ; preds = %2
  %142 = sdiv exact i32 %11, 12
  %143 = add nsw i32 %142, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@QAEXI@Z@@?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 %143, %"class.std::vector.117"* nonnull @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A") #14
  %144 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %145 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %146 = sub i32 %144, %145
  %147 = sdiv exact i32 %146, 12
  %148 = load i32, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %149 = icmp ult i32 %148, %147
  %150 = select i1 %149, i32 %147, i32 %148
  store i32 %150, i32* @"\01?maxNodeDepth@@3IA", align 4, !tbaa !24
  %151 = tail call zeroext i1 @"\01?interpretFlat@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %0, i32 %1)
  tail call void @"\01?removeNode@@YAXXZ"()
  br label %152

; <label>:152:                                    ; preds = %141, %140, %13
  %153 = phi i1 [ %151, %141 ], [ false, %140 ], [ false, %13 ]
  ret i1 %153
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(4) %"class.std::vector.37"** @"\01??$emplace_back@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@$$QAPAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@1@@Z"(%"class.std::vector.92"*, %"class.std::vector.37"** dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.92", %"class.std::vector.92"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.92", %"class.std::vector.92"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %5, align 4, !tbaa !23
  %7 = icmp eq %"class.std::vector.37"** %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = bitcast %"class.std::vector.37"** %6 to i32*
  %10 = bitcast %"class.std::vector.37"** %1 to i32*
  %11 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %11, i32* %9, align 4, !tbaa !23
  %12 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %12, i32 1
  br label %103

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %"class.std::vector.37"** %4 to i32
  %16 = ptrtoint %"class.std::vector.37"** %6 to i32
  %17 = bitcast %"class.std::vector.37"*** %5 to i32*
  %18 = bitcast %"class.std::vector.92"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %16, %19
  %21 = ashr exact i32 %20, 2
  %22 = add nsw i32 %21, 1
  %23 = bitcast %"class.std::vector.37"*** %3 to i32*
  %24 = sub i32 %15, %19
  %25 = ashr exact i32 %24, 2
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 1073741823, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %14
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %14
  %34 = phi i32 [ %32, %29 ], [ %22, %14 ]
  %35 = icmp eq i32 %34, 0
  br i1 %35, label %56, label %36

; <label>:36:                                     ; preds = %33
  %37 = icmp ugt i32 %34, 1073741823
  br i1 %37, label %38, label %39

; <label>:38:                                     ; preds = %36
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:39:                                     ; preds = %36
  %40 = shl i32 %34, 2
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %39
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %39
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %33
  %57 = phi i8* [ null, %33 ], [ %51, %45 ], [ %55, %54 ]
  %58 = bitcast i8* %57 to %"class.std::vector.37"**
  %59 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %58, i32 %21
  %60 = bitcast %"class.std::vector.37"** %1 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !23
  %62 = bitcast %"class.std::vector.37"** %59 to i32*
  store i32 %61, i32* %62, align 4, !tbaa !23
  %63 = load i32, i32* %17, align 4, !tbaa !23
  %64 = getelementptr inbounds %"class.std::vector.92", %"class.std::vector.92"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %65 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %64, align 4, !tbaa !23
  %66 = bitcast %"class.std::vector.37"** %65 to i8*
  %67 = ptrtoint %"class.std::vector.37"** %65 to i32
  %68 = sub i32 %63, %67
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %57, i8* %66, i32 %68, i32 1, i1 false) #14
  %69 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %64, align 4, !tbaa !23
  %70 = icmp eq %"class.std::vector.37"** %69, null
  %71 = ptrtoint %"class.std::vector.37"** %69 to i32
  br i1 %70, label %99, label %72

; <label>:72:                                     ; preds = %56
  %73 = load i32, i32* %23, align 4, !tbaa !23
  %74 = sub i32 %73, %71
  %75 = ashr exact i32 %74, 2
  %76 = icmp ugt i32 %75, 1073741823
  br i1 %76, label %95, label %77

; <label>:77:                                     ; preds = %72
  %78 = bitcast %"class.std::vector.37"** %69 to i8*
  %79 = icmp ugt i32 %74, 4095
  br i1 %79, label %80, label %96

; <label>:80:                                     ; preds = %77
  %81 = add i32 %74, 35
  %82 = icmp ult i32 %74, -35
  %83 = and i32 %71, 31
  %84 = icmp eq i32 %83, 0
  %85 = and i1 %84, %82
  br i1 %85, label %86, label %95

; <label>:86:                                     ; preds = %80
  %87 = add i32 %71, -4
  %88 = inttoptr i32 %87 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !24
  %90 = icmp ult i32 %89, %71
  br i1 %90, label %91, label %95

; <label>:91:                                     ; preds = %86
  %92 = sub i32 %87, %89
  %93 = icmp ugt i32 %92, 31
  %94 = inttoptr i32 %89 to i8*
  br i1 %93, label %95, label %96

; <label>:95:                                     ; preds = %91, %86, %80, %72
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:96:                                     ; preds = %91, %77
  %97 = phi i8* [ %94, %91 ], [ %78, %77 ]
  %98 = phi i32 [ %81, %91 ], [ %74, %77 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %97, i32 %98) #14
  br label %99

; <label>:99:                                     ; preds = %96, %56
  %100 = bitcast %"class.std::vector.92"* %0 to i8**
  store i8* %57, i8** %100, align 4, !tbaa !23
  %101 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %58, i32 %22
  store %"class.std::vector.37"** %101, %"class.std::vector.37"*** %5, align 4, !tbaa !23
  %102 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %58, i32 %34
  br label %103

; <label>:103:                                    ; preds = %99, %8
  %104 = phi %"class.std::vector.37"*** [ %3, %99 ], [ %5, %8 ]
  %105 = phi %"class.std::vector.37"** [ %102, %99 ], [ %13, %8 ]
  store %"class.std::vector.37"** %105, %"class.std::vector.37"*** %104, align 4, !tbaa !23
  %106 = load %"class.std::vector.37"**, %"class.std::vector.37"*** %5, align 4, !tbaa !23
  %107 = getelementptr inbounds %"class.std::vector.37"*, %"class.std::vector.37"** %106, i32 -1
  ret %"class.std::vector.37"** %107
}

; Function Attrs: nounwind
define zeroext i1 @"\01?interpretFlat@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* readonly dereferenceable(12), i32) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = alloca %"struct.std::_Not_a_node_tag", align 4
  %18 = alloca %"struct.std::_Not_a_node_tag", align 4
  %19 = alloca %"struct.std::_Not_a_node_tag", align 4
  %20 = alloca %"struct.std::_Not_a_node_tag", align 4
  %21 = alloca [21 x i8], align 1
  %22 = alloca %"struct.std::_Not_a_node_tag", align 4
  %23 = alloca %"struct.std::_Not_a_node_tag", align 4
  %24 = alloca %"struct.std::_Not_a_node_tag", align 4
  %25 = alloca %"struct.std::_Not_a_node_tag", align 4
  %26 = alloca %"struct.std::_Not_a_node_tag", align 4
  %27 = alloca %"struct.std::_Not_a_node_tag", align 4
  %28 = alloca %"struct.std::_Not_a_node_tag", align 4
  %29 = alloca %"struct.std::_Not_a_node_tag", align 4
  %30 = alloca %"struct.std::_Not_a_node_tag", align 4
  %31 = alloca %struct.SourceText, align 4
  %32 = alloca %struct.SourceCode, align 4
  %33 = alloca %"class.std::basic_string", align 4
  %34 = alloca %"class.std::basic_string", align 4
  %35 = alloca %"class.std::basic_string", align 4
  %36 = alloca %"class.std::basic_string", align 4
  %37 = alloca %"class.std::basic_string", align 4
  %38 = alloca %"class.std::basic_string", align 4
  %39 = alloca %"class.std::basic_string", align 4
  %40 = alloca %"class.std::basic_string", align 4
  %41 = alloca %"class.std::basic_string", align 4
  %42 = alloca %"class.std::basic_string", align 4
  %43 = alloca %"class.std::basic_string", align 4
  %44 = alloca %"class.std::basic_string", align 4
  %45 = alloca %"class.std::basic_string", align 4
  %46 = alloca %"class.std::basic_string", align 4
  %47 = alloca %"class.std::basic_string", align 4
  %48 = alloca %"class.std::basic_string", align 4
  %49 = alloca %"class.std::basic_string", align 4
  %50 = alloca %"class.std::basic_string", align 4
  %51 = alloca %"class.std::basic_string", align 4
  %52 = alloca [12 x i8], align 4
  %53 = alloca %"class.std::basic_string", align 4
  %54 = alloca %"class.std::basic_string", align 4
  %55 = alloca %"class.std::basic_string", align 4
  %56 = alloca %"class.std::basic_string", align 4
  %57 = alloca %"class.std::basic_string", align 4
  %58 = alloca [12 x i8], align 4
  %59 = alloca %"class.std::basic_string", align 4
  %60 = alloca %"class.std::basic_string", align 4
  %61 = alloca %"class.std::basic_string", align 4
  %62 = alloca %"class.std::basic_string", align 4
  %63 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %64 = bitcast %struct.AstNode** %63 to i32*
  %65 = load i32, i32* %64, align 4, !tbaa !23
  %66 = bitcast %"class.std::vector.4"* %0 to i32*
  %67 = load i32, i32* %66, align 4, !tbaa !23
  %68 = icmp eq i32 %65, %67
  br i1 %68, label %1902, label %69

; <label>:69:                                     ; preds = %2
  %70 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %71 = bitcast %struct.SourceText* %31 to i8*
  %72 = bitcast %struct.SourceText* %31 to i32*
  %73 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %31, i32 0, i32 1
  %74 = bitcast %"class.std::basic_string"* %33 to i8*
  %75 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 1
  %76 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 2
  %77 = bitcast i32* %75 to i64*
  %78 = getelementptr inbounds [12 x i8], [12 x i8]* %58, i32 0, i32 0
  %79 = bitcast %"class.std::basic_string"* %59 to i8*
  %80 = bitcast %"class.std::basic_string"* %60 to i8*
  %81 = bitcast %"class.std::basic_string"* %61 to i8*
  %82 = bitcast %"class.std::basic_string"* %62 to i8*
  %83 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %27, i32 0, i32 0
  %84 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 1
  %85 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 2
  %86 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %28, i32 0, i32 0
  %87 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 1
  %88 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 2
  %89 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %90 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %29, i32 0, i32 0
  %91 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 1
  %92 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 2
  %93 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %30, i32 0, i32 0
  %94 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 1
  %95 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 2
  %96 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %97 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %98 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %99 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %62, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %100 = getelementptr inbounds [12 x i8], [12 x i8]* %52, i32 0, i32 0
  %101 = bitcast %"class.std::basic_string"* %53 to i8*
  %102 = bitcast %"class.std::basic_string"* %54 to i8*
  %103 = bitcast %"class.std::basic_string"* %55 to i8*
  %104 = bitcast %"class.std::basic_string"* %56 to i8*
  %105 = bitcast %"class.std::basic_string"* %57 to i8*
  %106 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %22, i32 0, i32 0
  %107 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 1
  %108 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 2
  %109 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %23, i32 0, i32 0
  %110 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 1
  %111 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 2
  %112 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %24, i32 0, i32 0
  %113 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 1
  %114 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 2
  %115 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %25, i32 0, i32 0
  %116 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 1
  %117 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 2
  %118 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %26, i32 0, i32 0
  %119 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 1
  %120 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 2
  %121 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %122 = bitcast %"class.std::basic_string"* %53 to i32*
  %123 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  %124 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %125 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %126 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %127 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %57, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %128 = bitcast %"class.std::basic_string"* %34 to i8*
  %129 = getelementptr inbounds [21 x i8], [21 x i8]* %21, i32 0, i32 0
  %130 = getelementptr inbounds [21 x i8], [21 x i8]* %21, i32 0, i32 21
  %131 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 1
  %132 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 2
  %133 = bitcast i32* %131 to i64*
  %134 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %20, i32 0, i32 0
  %135 = bitcast %"class.std::basic_string"* %35 to i8*
  %136 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 1
  %137 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 2
  %138 = bitcast i32* %136 to i64*
  %139 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %19, i32 0, i32 0
  %140 = bitcast %"class.std::basic_string"* %36 to i8*
  %141 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 1
  %142 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 2
  %143 = bitcast i32* %141 to i64*
  %144 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %18, i32 0, i32 0
  %145 = bitcast %"class.std::basic_string"* %37 to i8*
  %146 = bitcast %"class.std::basic_string"* %38 to i8*
  %147 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 1
  %148 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 2
  %149 = bitcast i32* %147 to i64*
  %150 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %17, i32 0, i32 0
  %151 = bitcast %"class.std::basic_string"* %39 to i8*
  %152 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 1
  %153 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 2
  %154 = bitcast i32* %152 to i64*
  %155 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  %156 = bitcast %"class.std::basic_string"* %40 to i8*
  %157 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 1
  %158 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 2
  %159 = bitcast i32* %157 to i64*
  %160 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  %161 = bitcast %"class.std::basic_string"* %41 to i8*
  %162 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 1
  %163 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 2
  %164 = bitcast i32* %162 to i64*
  %165 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  %166 = bitcast %"class.std::basic_string"* %42 to i8*
  %167 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 1
  %168 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 2
  %169 = bitcast i32* %167 to i64*
  %170 = ptrtoint i8* %130 to i32
  %171 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  %172 = bitcast %"class.std::basic_string"* %43 to i8*
  %173 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 1
  %174 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 2
  %175 = bitcast i32* %173 to i64*
  %176 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  %177 = bitcast %"class.std::basic_string"* %44 to i8*
  %178 = bitcast %"class.std::basic_string"* %45 to i8*
  %179 = bitcast %"class.std::basic_string"* %33 to i32*
  %180 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %33, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  %181 = getelementptr inbounds i8, i8* %74, i32 1
  %182 = bitcast %"class.std::basic_string"* %46 to i8*
  %183 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 1
  %184 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 2
  %185 = bitcast i32* %183 to i64*
  %186 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  %187 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  %188 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %189 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  %190 = bitcast %"class.std::basic_string"* %47 to i8*
  %191 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 1
  %192 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 2
  %193 = bitcast i32* %191 to i64*
  %194 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  %195 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %196 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  %197 = bitcast %"class.std::basic_string"* %48 to i8*
  %198 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 1
  %199 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 2
  %200 = bitcast i32* %198 to i64*
  %201 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  %202 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %203 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  %204 = bitcast %"class.std::basic_string"* %49 to i8*
  %205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 1
  %206 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 2
  %207 = bitcast i32* %205 to i64*
  %208 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  %209 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %210 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  %211 = bitcast %"class.std::basic_string"* %50 to i8*
  %212 = bitcast %"class.std::basic_string"* %51 to i8*
  %213 = bitcast %struct.SourceCode* %32 to i8*
  %214 = bitcast %struct.SourceCode* %32 to %class.variant.24**
  %215 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %32, i32 0, i32 1
  %216 = load %struct.AstNode*, %struct.AstNode** %70, align 4, !tbaa !23
  br label %217

; <label>:217:                                    ; preds = %1894, %69
  %218 = phi %struct.AstNode* [ %216, %69 ], [ %1901, %1894 ]
  %219 = phi i32 [ 0, %69 ], [ %1895, %1894 ]
  %220 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %218, i32 %219, i32 0
  %221 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %218, i32 %219, i32 0, i32 1
  %222 = load i32, i32* %221, align 8, !tbaa !1015
  switch i32 %222, label %1894 [
    i32 0, label %223
    i32 1, label %226
    i32 2, label %229
    i32 3, label %232
    i32 4, label %235
    i32 5, label %238
    i32 6, label %241
    i32 7, label %244
    i32 8, label %247
    i32 9, label %250
    i32 10, label %253
    i32 11, label %256
    i32 12, label %259
    i32 13, label %294
    i32 14, label %262
    i32 15, label %265
    i32 16, label %266
    i32 17, label %270
    i32 18, label %274
    i32 19, label %278
    i32 20, label %282
    i32 21, label %286
    i32 22, label %290
  ]

; <label>:223:                                    ; preds = %217
  %224 = bitcast %class.variant.24* %220 to i8*
  %225 = load i8, i8* %224, align 1, !tbaa !12
  call void @processConstantInt8(i8 signext %225) #14
  br label %1894

; <label>:226:                                    ; preds = %217
  %227 = bitcast %class.variant.24* %220 to i16*
  %228 = load i16, i16* %227, align 2, !tbaa !59
  call void @processConstantInt16(i16 signext %228) #14
  br label %1894

; <label>:229:                                    ; preds = %217
  %230 = bitcast %class.variant.24* %220 to i32*
  %231 = load i32, i32* %230, align 4, !tbaa !24
  call void @processConstantInt32(i32 %231) #14
  br label %1894

; <label>:232:                                    ; preds = %217
  %233 = bitcast %class.variant.24* %220 to i64*
  %234 = load i64, i64* %233, align 8, !tbaa !61
  call void @processConstantInt64(i64 %234) #14
  br label %1894

; <label>:235:                                    ; preds = %217
  %236 = bitcast %class.variant.24* %220 to i32*
  %237 = load i32, i32* %236, align 4
  call void @processConstantIntX(i32 %237) #14
  br label %1894

; <label>:238:                                    ; preds = %217
  %239 = bitcast %class.variant.24* %220 to i8*
  %240 = load i8, i8* %239, align 1, !tbaa !12
  call void @processConstantNat8(i8 zeroext %240) #14
  br label %1894

; <label>:241:                                    ; preds = %217
  %242 = bitcast %class.variant.24* %220 to i16*
  %243 = load i16, i16* %242, align 2, !tbaa !59
  call void @processConstantNat16(i16 zeroext %243) #14
  br label %1894

; <label>:244:                                    ; preds = %217
  %245 = bitcast %class.variant.24* %220 to i32*
  %246 = load i32, i32* %245, align 4, !tbaa !24
  call void @processConstantNat32(i32 %246) #14
  br label %1894

; <label>:247:                                    ; preds = %217
  %248 = bitcast %class.variant.24* %220 to i64*
  %249 = load i64, i64* %248, align 8, !tbaa !61
  call void @processConstantNat64(i64 %249) #14
  br label %1894

; <label>:250:                                    ; preds = %217
  %251 = bitcast %class.variant.24* %220 to i32*
  %252 = load i32, i32* %251, align 4
  call void @processConstantNatX(i32 %252) #14
  br label %1894

; <label>:253:                                    ; preds = %217
  %254 = bitcast %class.variant.24* %220 to float*
  %255 = load float, float* %254, align 4, !tbaa !70
  call void @processConstantReal32(float %255) #14
  br label %1894

; <label>:256:                                    ; preds = %217
  %257 = getelementptr inbounds %class.variant.24, %class.variant.24* %220, i32 0, i32 0, i32 0, i32 0
  %258 = load double, double* %257, align 8, !tbaa !72
  call void @processConstantReal64(double %258) #14
  br label %1894

; <label>:259:                                    ; preds = %217
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %71) #14
  %260 = bitcast %class.variant.24* %220 to i32*
  %261 = load i32, i32* %260, align 4, !tbaa !23
  store i32 %261, i32* %72, align 4, !tbaa !542
  store i32 %1, i32* %73, align 4, !tbaa !569
  call void @processText(%struct.SourceText* nonnull dereferenceable(8) %31) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %71) #14
  br label %1894

; <label>:262:                                    ; preds = %217
  %263 = bitcast %class.variant.24* %220 to %"class.std::vector.4"*
  %264 = call zeroext i1 @processObjectBegin(%"class.std::vector.4"* dereferenceable(12) %263, i32 %1) #14
  br i1 %264, label %1894, label %297

; <label>:265:                                    ; preds = %217
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %213) #14
  store %class.variant.24* %220, %class.variant.24** %214, align 4, !tbaa !572
  store i32 %1, i32* %215, align 4, !tbaa !570
  call void @processCode(%struct.SourceCode* nonnull dereferenceable(8) %32) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %213) #14
  br label %1894

; <label>:266:                                    ; preds = %217
  %267 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %268 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %267, align 4, !tbaa !1017
  %269 = call zeroext i1 @processLabel(%"struct.std::pair.23"* dereferenceable(48) %268) #14
  br i1 %269, label %1894, label %297

; <label>:270:                                    ; preds = %217
  %271 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %272 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %271, align 4, !tbaa !1019
  %273 = call zeroext i1 @processName(%"struct.std::pair.23"* dereferenceable(48) %272) #14
  br i1 %273, label %1894, label %297

; <label>:274:                                    ; preds = %217
  %275 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %276 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %275, align 4, !tbaa !1021
  %277 = call zeroext i1 @processNameRead(%"struct.std::pair.23"* dereferenceable(48) %276) #14
  br i1 %277, label %1894, label %297

; <label>:278:                                    ; preds = %217
  %279 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %280 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %279, align 4, !tbaa !1023
  %281 = call zeroext i1 @processNameWrite(%"struct.std::pair.23"* dereferenceable(48) %280) #14
  br i1 %281, label %1894, label %297

; <label>:282:                                    ; preds = %217
  %283 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %284 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %283, align 4, !tbaa !1025
  %285 = call zeroext i1 @processNameMember(%"struct.std::pair.23"* dereferenceable(48) %284) #14
  br i1 %285, label %1894, label %297

; <label>:286:                                    ; preds = %217
  %287 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %288 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %287, align 4, !tbaa !1027
  %289 = call zeroext i1 @processNameReadMember(%"struct.std::pair.23"* dereferenceable(48) %288) #14
  br i1 %289, label %1894, label %297

; <label>:290:                                    ; preds = %217
  %291 = bitcast %class.variant.24* %220 to %"struct.std::pair.23"**
  %292 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %291, align 4, !tbaa !1029
  %293 = call zeroext i1 @processNameWriteMember(%"struct.std::pair.23"* dereferenceable(48) %292) #14
  br i1 %293, label %1894, label %297

; <label>:294:                                    ; preds = %217
  %295 = bitcast %class.variant.24* %220 to %"class.std::vector.4"*
  %296 = call zeroext i1 @processListBegin(%"class.std::vector.4"* dereferenceable(12) %295, i32 %1) #14
  br i1 %296, label %1894, label %297

; <label>:297:                                    ; preds = %294, %290, %286, %282, %278, %274, %270, %266, %262
  %298 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %299 = icmp ne i32 %298, 0
  %300 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  %301 = icmp ugt i32 %300, 2048
  %302 = or i1 %299, %301
  br i1 %302, label %1902, label %303

; <label>:303:                                    ; preds = %297
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %74) #14
  store i64 0, i64* %77, align 4
  store i32 15, i32* %76, align 4, !tbaa !81
  store i8 0, i8* %74, align 4, !tbaa !12
  %304 = load %struct.AstNode*, %struct.AstNode** %70, align 4, !tbaa !23
  %305 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %304, i32 %219, i32 0
  %306 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %304, i32 %219, i32 0, i32 1
  %307 = load i32, i32* %306, align 8, !tbaa !1015
  switch i32 %307, label %1347 [
    i32 0, label %308
    i32 1, label %378
    i32 2, label %448
    i32 3, label %517
    i32 4, label %547
    i32 5, label %616
    i32 6, label %667
    i32 7, label %718
    i32 8, label %768
    i32 9, label %878
    i32 10, label %928
    i32 11, label %958
    i32 12, label %988
    i32 13, label %989
    i32 14, label %990
    i32 15, label %991
    i32 16, label %992
    i32 17, label %1060
    i32 18, label %1081
    i32 19, label %1149
    i32 20, label %1217
    i32 21, label %1285
    i32 22, label %1316
  ]

; <label>:308:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %128) #14
  %309 = bitcast %class.variant.24* %305 to i8*
  %310 = load i8, i8* %309, align 1, !tbaa !12
  %311 = sext i8 %310 to i32
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1031
  %312 = icmp slt i8 %310, 0
  br i1 %312, label %314, label %313

; <label>:313:                                    ; preds = %308
  br label %329

; <label>:314:                                    ; preds = %308
  %315 = sub nsw i32 0, %311
  br label %316

; <label>:316:                                    ; preds = %316, %314
  %317 = phi i32 [ 0, %314 ], [ %322, %316 ]
  %318 = phi i32 [ %315, %314 ], [ %324, %316 ]
  %319 = urem i32 %318, 10
  %320 = trunc i32 %319 to i8
  %321 = or i8 %320, 48
  %322 = add nsw i32 %317, -1
  %323 = getelementptr inbounds i8, i8* %130, i32 %322
  store i8 %321, i8* %323, align 1, !tbaa !12, !noalias !1031
  %324 = udiv i32 %318, 10
  %325 = icmp ugt i32 %318, 9
  br i1 %325, label %316, label %326

; <label>:326:                                    ; preds = %316
  %327 = add nsw i32 %317, -2
  %328 = getelementptr inbounds i8, i8* %130, i32 %327
  store i8 45, i8* %328, align 1, !tbaa !12, !noalias !1031
  br label %339

; <label>:329:                                    ; preds = %329, %313
  %330 = phi i32 [ %335, %329 ], [ 0, %313 ]
  %331 = phi i32 [ %337, %329 ], [ %311, %313 ]
  %332 = urem i32 %331, 10
  %333 = trunc i32 %332 to i8
  %334 = or i8 %333, 48
  %335 = add nsw i32 %330, -1
  %336 = getelementptr inbounds i8, i8* %130, i32 %335
  store i8 %334, i8* %336, align 1, !tbaa !12, !noalias !1031
  %337 = udiv i32 %331, 10
  %338 = icmp ugt i32 %331, 9
  br i1 %338, label %329, label %339

; <label>:339:                                    ; preds = %329, %326
  %340 = phi i32 [ %327, %326 ], [ %335, %329 ]
  %341 = getelementptr inbounds i8, i8* %130, i32 %340
  store i64 0, i64* %133, align 4, !alias.scope !1031
  store i32 15, i32* %132, align 4, !tbaa !81, !alias.scope !1031
  store i8 0, i8* %128, align 4, !tbaa !12, !alias.scope !1031
  %342 = icmp eq i32 %340, 0
  br i1 %342, label %343, label %344

; <label>:343:                                    ; preds = %339
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1031
  br label %377

; <label>:344:                                    ; preds = %339
  %345 = sub i32 0, %340
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %134) #14, !noalias !1031
  %346 = icmp ugt i32 %345, 15
  br i1 %346, label %349, label %347

; <label>:347:                                    ; preds = %344
  store i32 %345, i32* %131, align 4, !tbaa !83, !alias.scope !1031
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %128, i8* %341, i32 %345, i32 1, i1 false) #14
  %348 = getelementptr inbounds i8, i8* %128, i32 %345
  store i8 0, i8* %348, align 1, !tbaa !12, !alias.scope !1031
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %134) #14, !noalias !1031
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1031
  br label %377

; <label>:349:                                    ; preds = %344
  %350 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %34, i32 %345, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %20, i8* %341) #14
  %351 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %134) #14, !noalias !1031
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1031
  %352 = icmp ugt i32 %351, 15
  br i1 %352, label %353, label %377

; <label>:353:                                    ; preds = %349
  %354 = load i8*, i8** %89, align 4, !tbaa !12
  %355 = add i32 %351, 1
  %356 = icmp ugt i32 %355, 4095
  br i1 %356, label %357, label %374

; <label>:357:                                    ; preds = %353
  %358 = add i32 %351, 36
  %359 = icmp ugt i32 %355, -36
  br i1 %359, label %373, label %360

; <label>:360:                                    ; preds = %357
  %361 = ptrtoint i8* %354 to i32
  %362 = and i32 %361, 31
  %363 = icmp eq i32 %362, 0
  br i1 %363, label %364, label %373

; <label>:364:                                    ; preds = %360
  %365 = add i32 %361, -4
  %366 = inttoptr i32 %365 to i32*
  %367 = load i32, i32* %366, align 4, !tbaa !24
  %368 = icmp ult i32 %367, %361
  br i1 %368, label %369, label %373

; <label>:369:                                    ; preds = %364
  %370 = sub i32 %365, %367
  %371 = icmp ugt i32 %370, 31
  %372 = inttoptr i32 %367 to i8*
  br i1 %371, label %373, label %374

; <label>:373:                                    ; preds = %369, %364, %360, %357
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:374:                                    ; preds = %369, %353
  %375 = phi i8* [ %372, %369 ], [ %354, %353 ]
  %376 = phi i32 [ %358, %369 ], [ %355, %353 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %375, i32 %376) #14
  br label %377

; <label>:377:                                    ; preds = %374, %349, %347, %343
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %128, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %128) #14
  br label %1347

; <label>:378:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %135) #14
  %379 = bitcast %class.variant.24* %305 to i16*
  %380 = load i16, i16* %379, align 2, !tbaa !59
  %381 = sext i16 %380 to i32
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1036
  %382 = icmp slt i16 %380, 0
  br i1 %382, label %384, label %383

; <label>:383:                                    ; preds = %378
  br label %399

; <label>:384:                                    ; preds = %378
  %385 = sub nsw i32 0, %381
  br label %386

; <label>:386:                                    ; preds = %386, %384
  %387 = phi i32 [ 0, %384 ], [ %392, %386 ]
  %388 = phi i32 [ %385, %384 ], [ %394, %386 ]
  %389 = urem i32 %388, 10
  %390 = trunc i32 %389 to i8
  %391 = or i8 %390, 48
  %392 = add nsw i32 %387, -1
  %393 = getelementptr inbounds i8, i8* %130, i32 %392
  store i8 %391, i8* %393, align 1, !tbaa !12, !noalias !1036
  %394 = udiv i32 %388, 10
  %395 = icmp ugt i32 %388, 9
  br i1 %395, label %386, label %396

; <label>:396:                                    ; preds = %386
  %397 = add nsw i32 %387, -2
  %398 = getelementptr inbounds i8, i8* %130, i32 %397
  store i8 45, i8* %398, align 1, !tbaa !12, !noalias !1036
  br label %409

; <label>:399:                                    ; preds = %399, %383
  %400 = phi i32 [ %405, %399 ], [ 0, %383 ]
  %401 = phi i32 [ %407, %399 ], [ %381, %383 ]
  %402 = urem i32 %401, 10
  %403 = trunc i32 %402 to i8
  %404 = or i8 %403, 48
  %405 = add nsw i32 %400, -1
  %406 = getelementptr inbounds i8, i8* %130, i32 %405
  store i8 %404, i8* %406, align 1, !tbaa !12, !noalias !1036
  %407 = udiv i32 %401, 10
  %408 = icmp ugt i32 %401, 9
  br i1 %408, label %399, label %409

; <label>:409:                                    ; preds = %399, %396
  %410 = phi i32 [ %397, %396 ], [ %405, %399 ]
  %411 = getelementptr inbounds i8, i8* %130, i32 %410
  store i64 0, i64* %138, align 4, !alias.scope !1036
  store i32 15, i32* %137, align 4, !tbaa !81, !alias.scope !1036
  store i8 0, i8* %135, align 4, !tbaa !12, !alias.scope !1036
  %412 = icmp eq i32 %410, 0
  br i1 %412, label %413, label %414

; <label>:413:                                    ; preds = %409
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1036
  br label %447

; <label>:414:                                    ; preds = %409
  %415 = sub i32 0, %410
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %139) #14, !noalias !1036
  %416 = icmp ugt i32 %415, 15
  br i1 %416, label %419, label %417

; <label>:417:                                    ; preds = %414
  store i32 %415, i32* %136, align 4, !tbaa !83, !alias.scope !1036
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %135, i8* %411, i32 %415, i32 1, i1 false) #14
  %418 = getelementptr inbounds i8, i8* %135, i32 %415
  store i8 0, i8* %418, align 1, !tbaa !12, !alias.scope !1036
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %139) #14, !noalias !1036
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1036
  br label %447

; <label>:419:                                    ; preds = %414
  %420 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %35, i32 %415, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %19, i8* %411) #14
  %421 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %139) #14, !noalias !1036
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1036
  %422 = icmp ugt i32 %421, 15
  br i1 %422, label %423, label %447

; <label>:423:                                    ; preds = %419
  %424 = load i8*, i8** %89, align 4, !tbaa !12
  %425 = add i32 %421, 1
  %426 = icmp ugt i32 %425, 4095
  br i1 %426, label %427, label %444

; <label>:427:                                    ; preds = %423
  %428 = add i32 %421, 36
  %429 = icmp ugt i32 %425, -36
  br i1 %429, label %443, label %430

; <label>:430:                                    ; preds = %427
  %431 = ptrtoint i8* %424 to i32
  %432 = and i32 %431, 31
  %433 = icmp eq i32 %432, 0
  br i1 %433, label %434, label %443

; <label>:434:                                    ; preds = %430
  %435 = add i32 %431, -4
  %436 = inttoptr i32 %435 to i32*
  %437 = load i32, i32* %436, align 4, !tbaa !24
  %438 = icmp ult i32 %437, %431
  br i1 %438, label %439, label %443

; <label>:439:                                    ; preds = %434
  %440 = sub i32 %435, %437
  %441 = icmp ugt i32 %440, 31
  %442 = inttoptr i32 %437 to i8*
  br i1 %441, label %443, label %444

; <label>:443:                                    ; preds = %439, %434, %430, %427
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:444:                                    ; preds = %439, %423
  %445 = phi i8* [ %442, %439 ], [ %424, %423 ]
  %446 = phi i32 [ %428, %439 ], [ %425, %423 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %445, i32 %446) #14
  br label %447

; <label>:447:                                    ; preds = %444, %419, %417, %413
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %135, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %135) #14
  br label %1347

; <label>:448:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %140) #14
  %449 = bitcast %class.variant.24* %305 to i32*
  %450 = load i32, i32* %449, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1041
  %451 = icmp slt i32 %450, 0
  br i1 %451, label %453, label %452

; <label>:452:                                    ; preds = %448
  br label %468

; <label>:453:                                    ; preds = %448
  %454 = sub i32 0, %450
  br label %455

; <label>:455:                                    ; preds = %455, %453
  %456 = phi i32 [ 0, %453 ], [ %461, %455 ]
  %457 = phi i32 [ %454, %453 ], [ %463, %455 ]
  %458 = urem i32 %457, 10
  %459 = trunc i32 %458 to i8
  %460 = or i8 %459, 48
  %461 = add nsw i32 %456, -1
  %462 = getelementptr inbounds i8, i8* %130, i32 %461
  store i8 %460, i8* %462, align 1, !tbaa !12, !noalias !1041
  %463 = udiv i32 %457, 10
  %464 = icmp ugt i32 %457, 9
  br i1 %464, label %455, label %465

; <label>:465:                                    ; preds = %455
  %466 = add nsw i32 %456, -2
  %467 = getelementptr inbounds i8, i8* %130, i32 %466
  store i8 45, i8* %467, align 1, !tbaa !12, !noalias !1041
  br label %478

; <label>:468:                                    ; preds = %468, %452
  %469 = phi i32 [ %474, %468 ], [ 0, %452 ]
  %470 = phi i32 [ %476, %468 ], [ %450, %452 ]
  %471 = urem i32 %470, 10
  %472 = trunc i32 %471 to i8
  %473 = or i8 %472, 48
  %474 = add nsw i32 %469, -1
  %475 = getelementptr inbounds i8, i8* %130, i32 %474
  store i8 %473, i8* %475, align 1, !tbaa !12, !noalias !1041
  %476 = udiv i32 %470, 10
  %477 = icmp ugt i32 %470, 9
  br i1 %477, label %468, label %478

; <label>:478:                                    ; preds = %468, %465
  %479 = phi i32 [ %466, %465 ], [ %474, %468 ]
  %480 = getelementptr inbounds i8, i8* %130, i32 %479
  store i64 0, i64* %143, align 4, !alias.scope !1041
  store i32 15, i32* %142, align 4, !tbaa !81, !alias.scope !1041
  store i8 0, i8* %140, align 4, !tbaa !12, !alias.scope !1041
  %481 = icmp eq i32 %479, 0
  br i1 %481, label %482, label %483

; <label>:482:                                    ; preds = %478
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1041
  br label %516

; <label>:483:                                    ; preds = %478
  %484 = sub i32 0, %479
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %144) #14, !noalias !1041
  %485 = icmp ugt i32 %484, 15
  br i1 %485, label %488, label %486

; <label>:486:                                    ; preds = %483
  store i32 %484, i32* %141, align 4, !tbaa !83, !alias.scope !1041
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %140, i8* %480, i32 %484, i32 1, i1 false) #14
  %487 = getelementptr inbounds i8, i8* %140, i32 %484
  store i8 0, i8* %487, align 1, !tbaa !12, !alias.scope !1041
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %144) #14, !noalias !1041
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1041
  br label %516

; <label>:488:                                    ; preds = %483
  %489 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %36, i32 %484, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %18, i8* %480) #14
  %490 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %144) #14, !noalias !1041
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1041
  %491 = icmp ugt i32 %490, 15
  br i1 %491, label %492, label %516

; <label>:492:                                    ; preds = %488
  %493 = load i8*, i8** %89, align 4, !tbaa !12
  %494 = add i32 %490, 1
  %495 = icmp ugt i32 %494, 4095
  br i1 %495, label %496, label %513

; <label>:496:                                    ; preds = %492
  %497 = add i32 %490, 36
  %498 = icmp ugt i32 %494, -36
  br i1 %498, label %512, label %499

; <label>:499:                                    ; preds = %496
  %500 = ptrtoint i8* %493 to i32
  %501 = and i32 %500, 31
  %502 = icmp eq i32 %501, 0
  br i1 %502, label %503, label %512

; <label>:503:                                    ; preds = %499
  %504 = add i32 %500, -4
  %505 = inttoptr i32 %504 to i32*
  %506 = load i32, i32* %505, align 4, !tbaa !24
  %507 = icmp ult i32 %506, %500
  br i1 %507, label %508, label %512

; <label>:508:                                    ; preds = %503
  %509 = sub i32 %504, %506
  %510 = icmp ugt i32 %509, 31
  %511 = inttoptr i32 %506 to i8*
  br i1 %510, label %512, label %513

; <label>:512:                                    ; preds = %508, %503, %499, %496
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:513:                                    ; preds = %508, %492
  %514 = phi i8* [ %511, %508 ], [ %493, %492 ]
  %515 = phi i32 [ %497, %508 ], [ %494, %492 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %514, i32 %515) #14
  br label %516

; <label>:516:                                    ; preds = %513, %488, %486, %482
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %140, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %140) #14
  br label %1347

; <label>:517:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %145) #14
  %518 = bitcast %class.variant.24* %305 to i64*
  %519 = load i64, i64* %518, align 8, !tbaa !61
  call void @"\01??$_Integral_to_string@D_J@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_J@Z"(%"class.std::basic_string"* nonnull sret %37, i64 %519) #14
  %520 = load i32, i32* %76, align 4, !tbaa !81
  %521 = icmp ugt i32 %520, 15
  br i1 %521, label %522, label %546

; <label>:522:                                    ; preds = %517
  %523 = load i8*, i8** %89, align 4, !tbaa !12
  %524 = add i32 %520, 1
  %525 = icmp ugt i32 %524, 4095
  br i1 %525, label %526, label %543

; <label>:526:                                    ; preds = %522
  %527 = add i32 %520, 36
  %528 = icmp ugt i32 %524, -36
  br i1 %528, label %542, label %529

; <label>:529:                                    ; preds = %526
  %530 = ptrtoint i8* %523 to i32
  %531 = and i32 %530, 31
  %532 = icmp eq i32 %531, 0
  br i1 %532, label %533, label %542

; <label>:533:                                    ; preds = %529
  %534 = add i32 %530, -4
  %535 = inttoptr i32 %534 to i32*
  %536 = load i32, i32* %535, align 4, !tbaa !24
  %537 = icmp ult i32 %536, %530
  br i1 %537, label %538, label %542

; <label>:538:                                    ; preds = %533
  %539 = sub i32 %534, %536
  %540 = icmp ugt i32 %539, 31
  %541 = inttoptr i32 %536 to i8*
  br i1 %540, label %542, label %543

; <label>:542:                                    ; preds = %538, %533, %529, %526
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:543:                                    ; preds = %538, %522
  %544 = phi i8* [ %541, %538 ], [ %523, %522 ]
  %545 = phi i32 [ %527, %538 ], [ %524, %522 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %544, i32 %545) #14
  br label %546

; <label>:546:                                    ; preds = %543, %517
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %145, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %145) #14
  br label %1347

; <label>:547:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %146) #14
  %548 = bitcast %class.variant.24* %305 to i32*
  %549 = load i32, i32* %548, align 4, !tbaa !538
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1046
  %550 = icmp slt i32 %549, 0
  br i1 %550, label %552, label %551

; <label>:551:                                    ; preds = %547
  br label %567

; <label>:552:                                    ; preds = %547
  %553 = sub i32 0, %549
  br label %554

; <label>:554:                                    ; preds = %554, %552
  %555 = phi i32 [ 0, %552 ], [ %560, %554 ]
  %556 = phi i32 [ %553, %552 ], [ %562, %554 ]
  %557 = urem i32 %556, 10
  %558 = trunc i32 %557 to i8
  %559 = or i8 %558, 48
  %560 = add nsw i32 %555, -1
  %561 = getelementptr inbounds i8, i8* %130, i32 %560
  store i8 %559, i8* %561, align 1, !tbaa !12, !noalias !1046
  %562 = udiv i32 %556, 10
  %563 = icmp ugt i32 %556, 9
  br i1 %563, label %554, label %564

; <label>:564:                                    ; preds = %554
  %565 = add nsw i32 %555, -2
  %566 = getelementptr inbounds i8, i8* %130, i32 %565
  store i8 45, i8* %566, align 1, !tbaa !12, !noalias !1046
  br label %577

; <label>:567:                                    ; preds = %567, %551
  %568 = phi i32 [ %573, %567 ], [ 0, %551 ]
  %569 = phi i32 [ %575, %567 ], [ %549, %551 ]
  %570 = urem i32 %569, 10
  %571 = trunc i32 %570 to i8
  %572 = or i8 %571, 48
  %573 = add nsw i32 %568, -1
  %574 = getelementptr inbounds i8, i8* %130, i32 %573
  store i8 %572, i8* %574, align 1, !tbaa !12, !noalias !1046
  %575 = udiv i32 %569, 10
  %576 = icmp ugt i32 %569, 9
  br i1 %576, label %567, label %577

; <label>:577:                                    ; preds = %567, %564
  %578 = phi i32 [ %565, %564 ], [ %573, %567 ]
  %579 = getelementptr inbounds i8, i8* %130, i32 %578
  store i64 0, i64* %149, align 4, !alias.scope !1046
  store i32 15, i32* %148, align 4, !tbaa !81, !alias.scope !1046
  store i8 0, i8* %146, align 4, !tbaa !12, !alias.scope !1046
  %580 = icmp eq i32 %578, 0
  br i1 %580, label %581, label %582

; <label>:581:                                    ; preds = %577
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1046
  br label %615

; <label>:582:                                    ; preds = %577
  %583 = sub i32 0, %578
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %150) #14, !noalias !1046
  %584 = icmp ugt i32 %583, 15
  br i1 %584, label %587, label %585

; <label>:585:                                    ; preds = %582
  store i32 %583, i32* %147, align 4, !tbaa !83, !alias.scope !1046
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %146, i8* %579, i32 %583, i32 1, i1 false) #14
  %586 = getelementptr inbounds i8, i8* %146, i32 %583
  store i8 0, i8* %586, align 1, !tbaa !12, !alias.scope !1046
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %150) #14, !noalias !1046
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1046
  br label %615

; <label>:587:                                    ; preds = %582
  %588 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %38, i32 %583, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %17, i8* %579) #14
  %589 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %150) #14, !noalias !1046
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1046
  %590 = icmp ugt i32 %589, 15
  br i1 %590, label %591, label %615

; <label>:591:                                    ; preds = %587
  %592 = load i8*, i8** %89, align 4, !tbaa !12
  %593 = add i32 %589, 1
  %594 = icmp ugt i32 %593, 4095
  br i1 %594, label %595, label %612

; <label>:595:                                    ; preds = %591
  %596 = add i32 %589, 36
  %597 = icmp ugt i32 %593, -36
  br i1 %597, label %611, label %598

; <label>:598:                                    ; preds = %595
  %599 = ptrtoint i8* %592 to i32
  %600 = and i32 %599, 31
  %601 = icmp eq i32 %600, 0
  br i1 %601, label %602, label %611

; <label>:602:                                    ; preds = %598
  %603 = add i32 %599, -4
  %604 = inttoptr i32 %603 to i32*
  %605 = load i32, i32* %604, align 4, !tbaa !24
  %606 = icmp ult i32 %605, %599
  br i1 %606, label %607, label %611

; <label>:607:                                    ; preds = %602
  %608 = sub i32 %603, %605
  %609 = icmp ugt i32 %608, 31
  %610 = inttoptr i32 %605 to i8*
  br i1 %609, label %611, label %612

; <label>:611:                                    ; preds = %607, %602, %598, %595
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:612:                                    ; preds = %607, %591
  %613 = phi i8* [ %610, %607 ], [ %592, %591 ]
  %614 = phi i32 [ %596, %607 ], [ %593, %591 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %613, i32 %614) #14
  br label %615

; <label>:615:                                    ; preds = %612, %587, %585, %581
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %146, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %146) #14
  br label %1347

; <label>:616:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %151) #14
  %617 = bitcast %class.variant.24* %305 to i8*
  %618 = load i8, i8* %617, align 1, !tbaa !12
  %619 = zext i8 %618 to i32
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1051
  br label %620

; <label>:620:                                    ; preds = %620, %616
  %621 = phi i32 [ 0, %616 ], [ %626, %620 ]
  %622 = phi i32 [ %619, %616 ], [ %628, %620 ]
  %623 = urem i32 %622, 10
  %624 = trunc i32 %623 to i8
  %625 = or i8 %624, 48
  %626 = add nsw i32 %621, -1
  %627 = getelementptr inbounds i8, i8* %130, i32 %626
  store i8 %625, i8* %627, align 1, !tbaa !12, !noalias !1051
  %628 = udiv i32 %622, 10
  %629 = icmp ugt i32 %622, 9
  br i1 %629, label %620, label %630

; <label>:630:                                    ; preds = %620
  store i64 0, i64* %154, align 4, !alias.scope !1051
  store i32 15, i32* %153, align 4, !tbaa !81, !alias.scope !1051
  store i8 0, i8* %151, align 4, !tbaa !12, !alias.scope !1051
  %631 = icmp eq i32 %626, 0
  br i1 %631, label %632, label %633

; <label>:632:                                    ; preds = %630
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1051
  br label %666

; <label>:633:                                    ; preds = %630
  %634 = sub i32 1, %621
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %155) #14, !noalias !1051
  %635 = icmp ugt i32 %634, 15
  br i1 %635, label %638, label %636

; <label>:636:                                    ; preds = %633
  store i32 %634, i32* %152, align 4, !tbaa !83, !alias.scope !1051
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %151, i8* %627, i32 %634, i32 1, i1 false) #14
  %637 = getelementptr inbounds i8, i8* %151, i32 %634
  store i8 0, i8* %637, align 1, !tbaa !12, !alias.scope !1051
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %155) #14, !noalias !1051
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1051
  br label %666

; <label>:638:                                    ; preds = %633
  %639 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %39, i32 %634, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* %627) #14
  %640 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %155) #14, !noalias !1051
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1051
  %641 = icmp ugt i32 %640, 15
  br i1 %641, label %642, label %666

; <label>:642:                                    ; preds = %638
  %643 = load i8*, i8** %89, align 4, !tbaa !12
  %644 = add i32 %640, 1
  %645 = icmp ugt i32 %644, 4095
  br i1 %645, label %646, label %663

; <label>:646:                                    ; preds = %642
  %647 = add i32 %640, 36
  %648 = icmp ugt i32 %644, -36
  br i1 %648, label %662, label %649

; <label>:649:                                    ; preds = %646
  %650 = ptrtoint i8* %643 to i32
  %651 = and i32 %650, 31
  %652 = icmp eq i32 %651, 0
  br i1 %652, label %653, label %662

; <label>:653:                                    ; preds = %649
  %654 = add i32 %650, -4
  %655 = inttoptr i32 %654 to i32*
  %656 = load i32, i32* %655, align 4, !tbaa !24
  %657 = icmp ult i32 %656, %650
  br i1 %657, label %658, label %662

; <label>:658:                                    ; preds = %653
  %659 = sub i32 %654, %656
  %660 = icmp ugt i32 %659, 31
  %661 = inttoptr i32 %656 to i8*
  br i1 %660, label %662, label %663

; <label>:662:                                    ; preds = %658, %653, %649, %646
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:663:                                    ; preds = %658, %642
  %664 = phi i8* [ %661, %658 ], [ %643, %642 ]
  %665 = phi i32 [ %647, %658 ], [ %644, %642 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %664, i32 %665) #14
  br label %666

; <label>:666:                                    ; preds = %663, %638, %636, %632
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %151, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %151) #14
  br label %1347

; <label>:667:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %156) #14
  %668 = bitcast %class.variant.24* %305 to i16*
  %669 = load i16, i16* %668, align 2, !tbaa !59
  %670 = zext i16 %669 to i32
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1056
  br label %671

; <label>:671:                                    ; preds = %671, %667
  %672 = phi i32 [ 0, %667 ], [ %677, %671 ]
  %673 = phi i32 [ %670, %667 ], [ %679, %671 ]
  %674 = urem i32 %673, 10
  %675 = trunc i32 %674 to i8
  %676 = or i8 %675, 48
  %677 = add nsw i32 %672, -1
  %678 = getelementptr inbounds i8, i8* %130, i32 %677
  store i8 %676, i8* %678, align 1, !tbaa !12, !noalias !1056
  %679 = udiv i32 %673, 10
  %680 = icmp ugt i32 %673, 9
  br i1 %680, label %671, label %681

; <label>:681:                                    ; preds = %671
  store i64 0, i64* %159, align 4, !alias.scope !1056
  store i32 15, i32* %158, align 4, !tbaa !81, !alias.scope !1056
  store i8 0, i8* %156, align 4, !tbaa !12, !alias.scope !1056
  %682 = icmp eq i32 %677, 0
  br i1 %682, label %683, label %684

; <label>:683:                                    ; preds = %681
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1056
  br label %717

; <label>:684:                                    ; preds = %681
  %685 = sub i32 1, %672
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %160) #14, !noalias !1056
  %686 = icmp ugt i32 %685, 15
  br i1 %686, label %689, label %687

; <label>:687:                                    ; preds = %684
  store i32 %685, i32* %157, align 4, !tbaa !83, !alias.scope !1056
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %156, i8* %678, i32 %685, i32 1, i1 false) #14
  %688 = getelementptr inbounds i8, i8* %156, i32 %685
  store i8 0, i8* %688, align 1, !tbaa !12, !alias.scope !1056
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14, !noalias !1056
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1056
  br label %717

; <label>:689:                                    ; preds = %684
  %690 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %40, i32 %685, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* %678) #14
  %691 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %160) #14, !noalias !1056
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1056
  %692 = icmp ugt i32 %691, 15
  br i1 %692, label %693, label %717

; <label>:693:                                    ; preds = %689
  %694 = load i8*, i8** %89, align 4, !tbaa !12
  %695 = add i32 %691, 1
  %696 = icmp ugt i32 %695, 4095
  br i1 %696, label %697, label %714

; <label>:697:                                    ; preds = %693
  %698 = add i32 %691, 36
  %699 = icmp ugt i32 %695, -36
  br i1 %699, label %713, label %700

; <label>:700:                                    ; preds = %697
  %701 = ptrtoint i8* %694 to i32
  %702 = and i32 %701, 31
  %703 = icmp eq i32 %702, 0
  br i1 %703, label %704, label %713

; <label>:704:                                    ; preds = %700
  %705 = add i32 %701, -4
  %706 = inttoptr i32 %705 to i32*
  %707 = load i32, i32* %706, align 4, !tbaa !24
  %708 = icmp ult i32 %707, %701
  br i1 %708, label %709, label %713

; <label>:709:                                    ; preds = %704
  %710 = sub i32 %705, %707
  %711 = icmp ugt i32 %710, 31
  %712 = inttoptr i32 %707 to i8*
  br i1 %711, label %713, label %714

; <label>:713:                                    ; preds = %709, %704, %700, %697
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:714:                                    ; preds = %709, %693
  %715 = phi i8* [ %712, %709 ], [ %694, %693 ]
  %716 = phi i32 [ %698, %709 ], [ %695, %693 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %715, i32 %716) #14
  br label %717

; <label>:717:                                    ; preds = %714, %689, %687, %683
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %156, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %156) #14
  br label %1347

; <label>:718:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %161) #14
  %719 = bitcast %class.variant.24* %305 to i32*
  %720 = load i32, i32* %719, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1061
  br label %721

; <label>:721:                                    ; preds = %721, %718
  %722 = phi i32 [ 0, %718 ], [ %727, %721 ]
  %723 = phi i32 [ %720, %718 ], [ %729, %721 ]
  %724 = urem i32 %723, 10
  %725 = trunc i32 %724 to i8
  %726 = or i8 %725, 48
  %727 = add nsw i32 %722, -1
  %728 = getelementptr inbounds i8, i8* %130, i32 %727
  store i8 %726, i8* %728, align 1, !tbaa !12, !noalias !1061
  %729 = udiv i32 %723, 10
  %730 = icmp ugt i32 %723, 9
  br i1 %730, label %721, label %731

; <label>:731:                                    ; preds = %721
  store i64 0, i64* %164, align 4, !alias.scope !1061
  store i32 15, i32* %163, align 4, !tbaa !81, !alias.scope !1061
  store i8 0, i8* %161, align 4, !tbaa !12, !alias.scope !1061
  %732 = icmp eq i32 %727, 0
  br i1 %732, label %733, label %734

; <label>:733:                                    ; preds = %731
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1061
  br label %767

; <label>:734:                                    ; preds = %731
  %735 = sub i32 1, %722
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %165) #14, !noalias !1061
  %736 = icmp ugt i32 %735, 15
  br i1 %736, label %739, label %737

; <label>:737:                                    ; preds = %734
  store i32 %735, i32* %162, align 4, !tbaa !83, !alias.scope !1061
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %161, i8* %728, i32 %735, i32 1, i1 false) #14
  %738 = getelementptr inbounds i8, i8* %161, i32 %735
  store i8 0, i8* %738, align 1, !tbaa !12, !alias.scope !1061
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %165) #14, !noalias !1061
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1061
  br label %767

; <label>:739:                                    ; preds = %734
  %740 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %41, i32 %735, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8* %728) #14
  %741 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %165) #14, !noalias !1061
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1061
  %742 = icmp ugt i32 %741, 15
  br i1 %742, label %743, label %767

; <label>:743:                                    ; preds = %739
  %744 = load i8*, i8** %89, align 4, !tbaa !12
  %745 = add i32 %741, 1
  %746 = icmp ugt i32 %745, 4095
  br i1 %746, label %747, label %764

; <label>:747:                                    ; preds = %743
  %748 = add i32 %741, 36
  %749 = icmp ugt i32 %745, -36
  br i1 %749, label %763, label %750

; <label>:750:                                    ; preds = %747
  %751 = ptrtoint i8* %744 to i32
  %752 = and i32 %751, 31
  %753 = icmp eq i32 %752, 0
  br i1 %753, label %754, label %763

; <label>:754:                                    ; preds = %750
  %755 = add i32 %751, -4
  %756 = inttoptr i32 %755 to i32*
  %757 = load i32, i32* %756, align 4, !tbaa !24
  %758 = icmp ult i32 %757, %751
  br i1 %758, label %759, label %763

; <label>:759:                                    ; preds = %754
  %760 = sub i32 %755, %757
  %761 = icmp ugt i32 %760, 31
  %762 = inttoptr i32 %757 to i8*
  br i1 %761, label %763, label %764

; <label>:763:                                    ; preds = %759, %754, %750, %747
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:764:                                    ; preds = %759, %743
  %765 = phi i8* [ %762, %759 ], [ %744, %743 ]
  %766 = phi i32 [ %748, %759 ], [ %745, %743 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %765, i32 %766) #14
  br label %767

; <label>:767:                                    ; preds = %764, %739, %737, %733
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %161, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %161) #14
  br label %1347

; <label>:768:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %166) #14
  %769 = bitcast %class.variant.24* %305 to i64*
  %770 = load i64, i64* %769, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1066
  %771 = icmp ugt i64 %770, 4294967295
  %772 = trunc i64 %770 to i32
  br i1 %771, label %773, label %827

; <label>:773:                                    ; preds = %768
  br label %774

; <label>:774:                                    ; preds = %774, %773
  %775 = phi i8* [ %823, %774 ], [ %130, %773 ]
  %776 = phi i64 [ %779, %774 ], [ %770, %773 ]
  %777 = urem i64 %776, 1000000000
  %778 = trunc i64 %777 to i32
  %779 = udiv i64 %776, 1000000000
  %780 = urem i32 %778, 10
  %781 = trunc i32 %780 to i8
  %782 = or i8 %781, 48
  %783 = getelementptr inbounds i8, i8* %775, i32 -1
  store i8 %782, i8* %783, align 1, !tbaa !12, !noalias !1066
  %784 = udiv i32 %778, 10
  %785 = urem i32 %784, 10
  %786 = trunc i32 %785 to i8
  %787 = or i8 %786, 48
  %788 = getelementptr inbounds i8, i8* %775, i32 -2
  store i8 %787, i8* %788, align 1, !tbaa !12, !noalias !1066
  %789 = udiv i32 %778, 100
  %790 = urem i32 %789, 10
  %791 = trunc i32 %790 to i8
  %792 = or i8 %791, 48
  %793 = getelementptr inbounds i8, i8* %775, i32 -3
  store i8 %792, i8* %793, align 1, !tbaa !12, !noalias !1066
  %794 = udiv i32 %778, 1000
  %795 = urem i32 %794, 10
  %796 = trunc i32 %795 to i8
  %797 = or i8 %796, 48
  %798 = getelementptr inbounds i8, i8* %775, i32 -4
  store i8 %797, i8* %798, align 1, !tbaa !12, !noalias !1066
  %799 = udiv i32 %778, 10000
  %800 = urem i32 %799, 10
  %801 = trunc i32 %800 to i8
  %802 = or i8 %801, 48
  %803 = getelementptr inbounds i8, i8* %775, i32 -5
  store i8 %802, i8* %803, align 1, !tbaa !12, !noalias !1066
  %804 = udiv i32 %778, 100000
  %805 = urem i32 %804, 10
  %806 = trunc i32 %805 to i8
  %807 = or i8 %806, 48
  %808 = getelementptr inbounds i8, i8* %775, i32 -6
  store i8 %807, i8* %808, align 1, !tbaa !12, !noalias !1066
  %809 = udiv i32 %778, 1000000
  %810 = urem i32 %809, 10
  %811 = trunc i32 %810 to i8
  %812 = or i8 %811, 48
  %813 = getelementptr inbounds i8, i8* %775, i32 -7
  store i8 %812, i8* %813, align 1, !tbaa !12, !noalias !1066
  %814 = udiv i32 %778, 10000000
  %815 = urem i32 %814, 10
  %816 = trunc i32 %815 to i8
  %817 = or i8 %816, 48
  %818 = getelementptr inbounds i8, i8* %775, i32 -8
  store i8 %817, i8* %818, align 1, !tbaa !12, !noalias !1066
  %819 = udiv i32 %778, 100000000
  %820 = urem i32 %819, 10
  %821 = trunc i32 %820 to i8
  %822 = or i8 %821, 48
  %823 = getelementptr i8, i8* %775, i32 -9
  store i8 %822, i8* %823, align 1, !tbaa !12, !noalias !1066
  %824 = icmp ugt i64 %776, 4294967295999999999
  br i1 %824, label %774, label %825

; <label>:825:                                    ; preds = %774
  %826 = trunc i64 %779 to i32
  br label %827

; <label>:827:                                    ; preds = %825, %768
  %828 = phi i8* [ %823, %825 ], [ %130, %768 ]
  %829 = phi i32 [ %826, %825 ], [ %772, %768 ]
  br label %830

; <label>:830:                                    ; preds = %830, %827
  %831 = phi i8* [ %836, %830 ], [ %828, %827 ]
  %832 = phi i32 [ %837, %830 ], [ %829, %827 ]
  %833 = urem i32 %832, 10
  %834 = trunc i32 %833 to i8
  %835 = or i8 %834, 48
  %836 = getelementptr inbounds i8, i8* %831, i32 -1
  store i8 %835, i8* %836, align 1, !tbaa !12, !noalias !1066
  %837 = udiv i32 %832, 10
  %838 = icmp ugt i32 %832, 9
  br i1 %838, label %830, label %839

; <label>:839:                                    ; preds = %830
  store i64 0, i64* %169, align 4, !alias.scope !1066
  store i32 15, i32* %168, align 4, !tbaa !81, !alias.scope !1066
  store i8 0, i8* %166, align 4, !tbaa !12, !alias.scope !1066
  %840 = icmp eq i8* %836, %130
  br i1 %840, label %850, label %841

; <label>:841:                                    ; preds = %839
  %842 = ptrtoint i8* %836 to i32
  %843 = sub i32 %170, %842
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %171) #14, !noalias !1066
  %844 = icmp ugt i32 %843, 15
  br i1 %844, label %847, label %845

; <label>:845:                                    ; preds = %841
  store i32 %843, i32* %167, align 4, !tbaa !83, !alias.scope !1066
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %166, i8* %836, i32 %843, i32 1, i1 false) #14
  %846 = getelementptr inbounds i8, i8* %166, i32 %843
  store i8 0, i8* %846, align 1, !tbaa !12, !alias.scope !1066
  br label %849

; <label>:847:                                    ; preds = %841
  %848 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %42, i32 %843, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* %836) #14
  br label %849

; <label>:849:                                    ; preds = %847, %845
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %171) #14, !noalias !1066
  br label %850

; <label>:850:                                    ; preds = %849, %839
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1066
  %851 = load i32, i32* %76, align 4, !tbaa !81
  %852 = icmp ugt i32 %851, 15
  br i1 %852, label %853, label %877

; <label>:853:                                    ; preds = %850
  %854 = load i8*, i8** %89, align 4, !tbaa !12
  %855 = add i32 %851, 1
  %856 = icmp ugt i32 %855, 4095
  br i1 %856, label %857, label %874

; <label>:857:                                    ; preds = %853
  %858 = add i32 %851, 36
  %859 = icmp ugt i32 %855, -36
  br i1 %859, label %873, label %860

; <label>:860:                                    ; preds = %857
  %861 = ptrtoint i8* %854 to i32
  %862 = and i32 %861, 31
  %863 = icmp eq i32 %862, 0
  br i1 %863, label %864, label %873

; <label>:864:                                    ; preds = %860
  %865 = add i32 %861, -4
  %866 = inttoptr i32 %865 to i32*
  %867 = load i32, i32* %866, align 4, !tbaa !24
  %868 = icmp ult i32 %867, %861
  br i1 %868, label %869, label %873

; <label>:869:                                    ; preds = %864
  %870 = sub i32 %865, %867
  %871 = icmp ugt i32 %870, 31
  %872 = inttoptr i32 %867 to i8*
  br i1 %871, label %873, label %874

; <label>:873:                                    ; preds = %869, %864, %860, %857
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:874:                                    ; preds = %869, %853
  %875 = phi i8* [ %872, %869 ], [ %854, %853 ]
  %876 = phi i32 [ %858, %869 ], [ %855, %853 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %875, i32 %876) #14
  br label %877

; <label>:877:                                    ; preds = %874, %850
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %166, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %166) #14
  br label %1347

; <label>:878:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %172) #14
  %879 = bitcast %class.variant.24* %305 to i32*
  %880 = load i32, i32* %879, align 4, !tbaa !540
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1071
  br label %881

; <label>:881:                                    ; preds = %881, %878
  %882 = phi i32 [ 0, %878 ], [ %887, %881 ]
  %883 = phi i32 [ %880, %878 ], [ %889, %881 ]
  %884 = urem i32 %883, 10
  %885 = trunc i32 %884 to i8
  %886 = or i8 %885, 48
  %887 = add nsw i32 %882, -1
  %888 = getelementptr inbounds i8, i8* %130, i32 %887
  store i8 %886, i8* %888, align 1, !tbaa !12, !noalias !1071
  %889 = udiv i32 %883, 10
  %890 = icmp ugt i32 %883, 9
  br i1 %890, label %881, label %891

; <label>:891:                                    ; preds = %881
  store i64 0, i64* %175, align 4, !alias.scope !1071
  store i32 15, i32* %174, align 4, !tbaa !81, !alias.scope !1071
  store i8 0, i8* %172, align 4, !tbaa !12, !alias.scope !1071
  %892 = icmp eq i32 %887, 0
  br i1 %892, label %893, label %894

; <label>:893:                                    ; preds = %891
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1071
  br label %927

; <label>:894:                                    ; preds = %891
  %895 = sub i32 1, %882
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %176) #14, !noalias !1071
  %896 = icmp ugt i32 %895, 15
  br i1 %896, label %899, label %897

; <label>:897:                                    ; preds = %894
  store i32 %895, i32* %173, align 4, !tbaa !83, !alias.scope !1071
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %172, i8* %888, i32 %895, i32 1, i1 false) #14
  %898 = getelementptr inbounds i8, i8* %172, i32 %895
  store i8 0, i8* %898, align 1, !tbaa !12, !alias.scope !1071
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %176) #14, !noalias !1071
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1071
  br label %927

; <label>:899:                                    ; preds = %894
  %900 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %43, i32 %895, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* %888) #14
  %901 = load i32, i32* %76, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %176) #14, !noalias !1071
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %129) #14, !noalias !1071
  %902 = icmp ugt i32 %901, 15
  br i1 %902, label %903, label %927

; <label>:903:                                    ; preds = %899
  %904 = load i8*, i8** %89, align 4, !tbaa !12
  %905 = add i32 %901, 1
  %906 = icmp ugt i32 %905, 4095
  br i1 %906, label %907, label %924

; <label>:907:                                    ; preds = %903
  %908 = add i32 %901, 36
  %909 = icmp ugt i32 %905, -36
  br i1 %909, label %923, label %910

; <label>:910:                                    ; preds = %907
  %911 = ptrtoint i8* %904 to i32
  %912 = and i32 %911, 31
  %913 = icmp eq i32 %912, 0
  br i1 %913, label %914, label %923

; <label>:914:                                    ; preds = %910
  %915 = add i32 %911, -4
  %916 = inttoptr i32 %915 to i32*
  %917 = load i32, i32* %916, align 4, !tbaa !24
  %918 = icmp ult i32 %917, %911
  br i1 %918, label %919, label %923

; <label>:919:                                    ; preds = %914
  %920 = sub i32 %915, %917
  %921 = icmp ugt i32 %920, 31
  %922 = inttoptr i32 %917 to i8*
  br i1 %921, label %923, label %924

; <label>:923:                                    ; preds = %919, %914, %910, %907
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:924:                                    ; preds = %919, %903
  %925 = phi i8* [ %922, %919 ], [ %904, %903 ]
  %926 = phi i32 [ %908, %919 ], [ %905, %903 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %925, i32 %926) #14
  br label %927

; <label>:927:                                    ; preds = %924, %899, %897, %893
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %172, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %172) #14
  br label %1347

; <label>:928:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %177) #14
  %929 = bitcast %class.variant.24* %305 to float*
  %930 = load float, float* %929, align 4, !tbaa !70
  call void @"\01??$_Floating_to_string@M@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDM@Z"(%"class.std::basic_string"* nonnull sret %44, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02NJPGOMH@?$CFf?$AA@", i32 0, i32 0), float %930) #14
  %931 = load i32, i32* %76, align 4, !tbaa !81
  %932 = icmp ugt i32 %931, 15
  br i1 %932, label %933, label %957

; <label>:933:                                    ; preds = %928
  %934 = load i8*, i8** %89, align 4, !tbaa !12
  %935 = add i32 %931, 1
  %936 = icmp ugt i32 %935, 4095
  br i1 %936, label %937, label %954

; <label>:937:                                    ; preds = %933
  %938 = add i32 %931, 36
  %939 = icmp ugt i32 %935, -36
  br i1 %939, label %953, label %940

; <label>:940:                                    ; preds = %937
  %941 = ptrtoint i8* %934 to i32
  %942 = and i32 %941, 31
  %943 = icmp eq i32 %942, 0
  br i1 %943, label %944, label %953

; <label>:944:                                    ; preds = %940
  %945 = add i32 %941, -4
  %946 = inttoptr i32 %945 to i32*
  %947 = load i32, i32* %946, align 4, !tbaa !24
  %948 = icmp ult i32 %947, %941
  br i1 %948, label %949, label %953

; <label>:949:                                    ; preds = %944
  %950 = sub i32 %945, %947
  %951 = icmp ugt i32 %950, 31
  %952 = inttoptr i32 %947 to i8*
  br i1 %951, label %953, label %954

; <label>:953:                                    ; preds = %949, %944, %940, %937
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:954:                                    ; preds = %949, %933
  %955 = phi i8* [ %952, %949 ], [ %934, %933 ]
  %956 = phi i32 [ %938, %949 ], [ %935, %933 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %955, i32 %956) #14
  br label %957

; <label>:957:                                    ; preds = %954, %928
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %177, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %177) #14
  br label %1347

; <label>:958:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %178) #14
  %959 = getelementptr inbounds %class.variant.24, %class.variant.24* %305, i32 0, i32 0, i32 0, i32 0
  %960 = load double, double* %959, align 8, !tbaa !72
  call void @"\01??$_Floating_to_string@N@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDN@Z"(%"class.std::basic_string"* nonnull sret %45, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02NJPGOMH@?$CFf?$AA@", i32 0, i32 0), double %960) #14
  %961 = load i32, i32* %76, align 4, !tbaa !81
  %962 = icmp ugt i32 %961, 15
  br i1 %962, label %963, label %987

; <label>:963:                                    ; preds = %958
  %964 = load i8*, i8** %89, align 4, !tbaa !12
  %965 = add i32 %961, 1
  %966 = icmp ugt i32 %965, 4095
  br i1 %966, label %967, label %984

; <label>:967:                                    ; preds = %963
  %968 = add i32 %961, 36
  %969 = icmp ugt i32 %965, -36
  br i1 %969, label %983, label %970

; <label>:970:                                    ; preds = %967
  %971 = ptrtoint i8* %964 to i32
  %972 = and i32 %971, 31
  %973 = icmp eq i32 %972, 0
  br i1 %973, label %974, label %983

; <label>:974:                                    ; preds = %970
  %975 = add i32 %971, -4
  %976 = inttoptr i32 %975 to i32*
  %977 = load i32, i32* %976, align 4, !tbaa !24
  %978 = icmp ult i32 %977, %971
  br i1 %978, label %979, label %983

; <label>:979:                                    ; preds = %974
  %980 = sub i32 %975, %977
  %981 = icmp ugt i32 %980, 31
  %982 = inttoptr i32 %977 to i8*
  br i1 %981, label %983, label %984

; <label>:983:                                    ; preds = %979, %974, %970, %967
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:984:                                    ; preds = %979, %963
  %985 = phi i8* [ %982, %979 ], [ %964, %963 ]
  %986 = phi i32 [ %968, %979 ], [ %965, %963 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %985, i32 %986) #14
  br label %987

; <label>:987:                                    ; preds = %984, %958
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %178, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %178) #14
  br label %1347

; <label>:988:                                    ; preds = %303
  store i32 4, i32* %75, align 4, !tbaa !83
  store i32 1415071060, i32* %179, align 4
  store i8 0, i8* %180, align 4, !tbaa !12
  br label %1347

; <label>:989:                                    ; preds = %303
  store i32 1, i32* %75, align 4, !tbaa !83
  store i8 40, i8* %74, align 4, !tbaa !12
  store i8 0, i8* %181, align 1, !tbaa !12
  br label %1347

; <label>:990:                                    ; preds = %303
  store i32 1, i32* %75, align 4, !tbaa !83
  store i8 123, i8* %74, align 4, !tbaa !12
  store i8 0, i8* %181, align 1, !tbaa !12
  br label %1347

; <label>:991:                                    ; preds = %303
  store i32 1, i32* %75, align 4, !tbaa !83
  store i8 91, i8* %74, align 4, !tbaa !12
  store i8 0, i8* %181, align 1, !tbaa !12
  br label %1347

; <label>:992:                                    ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %182) #14
  %993 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %994 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %993, align 4, !tbaa !1017
  store i64 0, i64* %185, align 4, !alias.scope !1076
  store i32 15, i32* %184, align 4, !tbaa !81, !alias.scope !1076
  store i8 0, i8* %182, align 4, !tbaa !12, !alias.scope !1076
  %995 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %994, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %996 = load i32, i32* %995, align 4, !tbaa !83, !noalias !1076
  %997 = add i32 %996, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %46, i32 %997) #14
  %998 = load i32, i32* %995, align 4, !tbaa !83, !noalias !1076
  %999 = bitcast %"struct.std::pair.23"* %994 to i8*
  %1000 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %994, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %1001 = load i32, i32* %1000, align 4, !tbaa !81, !noalias !1076
  %1002 = icmp ugt i32 %1001, 15
  %1003 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %994, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1004 = load i8*, i8** %1003, align 4, !noalias !1076
  %1005 = select i1 %1002, i8* %1004, i8* %999
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %186) #14, !noalias !1076
  %1006 = load i32, i32* %183, align 4, !tbaa !83, !alias.scope !1076
  %1007 = load i32, i32* %184, align 4, !tbaa !81, !alias.scope !1076
  %1008 = sub i32 %1007, %1006
  %1009 = icmp ult i32 %1008, %998
  br i1 %1009, label %1017, label %1010

; <label>:1010:                                   ; preds = %992
  %1011 = add i32 %1006, %998
  store i32 %1011, i32* %183, align 4, !tbaa !83, !alias.scope !1076
  %1012 = icmp ugt i32 %1007, 15
  %1013 = load i8*, i8** %188, align 4
  %1014 = select i1 %1012, i8* %1013, i8* %182
  %1015 = getelementptr inbounds i8, i8* %1014, i32 %1006
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1015, i8* %1005, i32 %998, i32 1, i1 false) #14
  %1016 = getelementptr inbounds i8, i8* %1014, i32 %1011
  store i8 0, i8* %1016, align 1, !tbaa !12
  br label %1019

; <label>:1017:                                   ; preds = %992
  %1018 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %46, i32 %998, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %1005, i32 %998) #14
  br label %1019

; <label>:1019:                                   ; preds = %1017, %1010
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %186) #14, !noalias !1076
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %187) #14, !noalias !1076
  %1020 = load i32, i32* %183, align 4, !tbaa !83, !alias.scope !1076
  %1021 = load i32, i32* %184, align 4, !tbaa !81, !alias.scope !1076
  %1022 = icmp ult i32 %1020, %1021
  br i1 %1022, label %1023, label %1030

; <label>:1023:                                   ; preds = %1019
  %1024 = add i32 %1020, 1
  store i32 %1024, i32* %183, align 4, !tbaa !83, !alias.scope !1076
  %1025 = icmp ugt i32 %1021, 15
  %1026 = load i8*, i8** %188, align 4
  %1027 = select i1 %1025, i8* %1026, i8* %182
  %1028 = getelementptr inbounds i8, i8* %1027, i32 %1020
  store i8 58, i8* %1028, align 1, !tbaa !12
  %1029 = getelementptr inbounds i8, i8* %1027, i32 %1024
  store i8 0, i8* %1029, align 1, !tbaa !12
  br label %1032

; <label>:1030:                                   ; preds = %1019
  %1031 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %46, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8 signext 58) #14
  br label %1032

; <label>:1032:                                   ; preds = %1030, %1023
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %187) #14, !noalias !1076
  %1033 = load i32, i32* %76, align 4, !tbaa !81
  %1034 = icmp ugt i32 %1033, 15
  br i1 %1034, label %1035, label %1059

; <label>:1035:                                   ; preds = %1032
  %1036 = load i8*, i8** %89, align 4, !tbaa !12
  %1037 = add i32 %1033, 1
  %1038 = icmp ugt i32 %1037, 4095
  br i1 %1038, label %1039, label %1056

; <label>:1039:                                   ; preds = %1035
  %1040 = add i32 %1033, 36
  %1041 = icmp ugt i32 %1037, -36
  br i1 %1041, label %1055, label %1042

; <label>:1042:                                   ; preds = %1039
  %1043 = ptrtoint i8* %1036 to i32
  %1044 = and i32 %1043, 31
  %1045 = icmp eq i32 %1044, 0
  br i1 %1045, label %1046, label %1055

; <label>:1046:                                   ; preds = %1042
  %1047 = add i32 %1043, -4
  %1048 = inttoptr i32 %1047 to i32*
  %1049 = load i32, i32* %1048, align 4, !tbaa !24
  %1050 = icmp ult i32 %1049, %1043
  br i1 %1050, label %1051, label %1055

; <label>:1051:                                   ; preds = %1046
  %1052 = sub i32 %1047, %1049
  %1053 = icmp ugt i32 %1052, 31
  %1054 = inttoptr i32 %1049 to i8*
  br i1 %1053, label %1055, label %1056

; <label>:1055:                                   ; preds = %1051, %1046, %1042, %1039
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1056:                                   ; preds = %1051, %1035
  %1057 = phi i8* [ %1054, %1051 ], [ %1036, %1035 ]
  %1058 = phi i32 [ %1040, %1051 ], [ %1037, %1035 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1057, i32 %1058) #14
  br label %1059

; <label>:1059:                                   ; preds = %1056, %1032
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %182, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %182) #14
  br label %1347

; <label>:1060:                                   ; preds = %303
  %1061 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1062 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1061, align 4, !tbaa !1019
  %1063 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1062, i32 0, i32 0
  %1064 = icmp eq %"class.std::basic_string"* %1063, %33
  br i1 %1064, label %1347, label %1065

; <label>:1065:                                   ; preds = %1060
  %1066 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1062, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %1067 = load i32, i32* %1066, align 4, !tbaa !83
  %1068 = bitcast %"struct.std::pair.23"* %1062 to i8*
  %1069 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1062, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %1070 = load i32, i32* %1069, align 4, !tbaa !81
  %1071 = icmp ugt i32 %1070, 15
  %1072 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1062, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1073 = load i8*, i8** %1072, align 4
  %1074 = select i1 %1071, i8* %1073, i8* %1068
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %189) #14
  %1075 = icmp ugt i32 %1067, 15
  br i1 %1075, label %1078, label %1076

; <label>:1076:                                   ; preds = %1065
  store i32 %1067, i32* %75, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %74, i8* %1074, i32 %1067, i32 1, i1 false) #14
  %1077 = getelementptr inbounds i8, i8* %74, i32 %1067
  store i8 0, i8* %1077, align 1, !tbaa !12
  br label %1080

; <label>:1078:                                   ; preds = %1065
  %1079 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %33, i32 %1067, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %1074) #14
  br label %1080

; <label>:1080:                                   ; preds = %1078, %1076
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %189) #14
  br label %1347

; <label>:1081:                                   ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %190) #14
  %1082 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1083 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1082, align 4, !tbaa !1021
  store i64 0, i64* %193, align 4, !alias.scope !1079
  store i32 15, i32* %192, align 4, !tbaa !81, !alias.scope !1079
  store i8 0, i8* %190, align 4, !tbaa !12, !alias.scope !1079
  %1084 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1083, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %1085 = load i32, i32* %1084, align 4, !tbaa !83, !noalias !1079
  %1086 = add i32 %1085, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %47, i32 %1086) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %194) #14, !noalias !1079
  %1087 = load i32, i32* %191, align 4, !tbaa !83, !alias.scope !1079
  %1088 = load i32, i32* %192, align 4, !tbaa !81, !alias.scope !1079
  %1089 = icmp ult i32 %1087, %1088
  br i1 %1089, label %1090, label %1097

; <label>:1090:                                   ; preds = %1081
  %1091 = add i32 %1087, 1
  store i32 %1091, i32* %191, align 4, !tbaa !83, !alias.scope !1079
  %1092 = icmp ugt i32 %1088, 15
  %1093 = load i8*, i8** %195, align 4
  %1094 = select i1 %1092, i8* %1093, i8* %190
  %1095 = getelementptr inbounds i8, i8* %1094, i32 %1087
  store i8 64, i8* %1095, align 1, !tbaa !12
  %1096 = getelementptr inbounds i8, i8* %1094, i32 %1091
  store i8 0, i8* %1096, align 1, !tbaa !12
  br label %1099

; <label>:1097:                                   ; preds = %1081
  %1098 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %47, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8 signext 64) #14
  br label %1099

; <label>:1099:                                   ; preds = %1097, %1090
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %194) #14, !noalias !1079
  %1100 = load i32, i32* %1084, align 4, !tbaa !83, !noalias !1079
  %1101 = bitcast %"struct.std::pair.23"* %1083 to i8*
  %1102 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1083, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %1103 = load i32, i32* %1102, align 4, !tbaa !81, !noalias !1079
  %1104 = icmp ugt i32 %1103, 15
  %1105 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1083, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1106 = load i8*, i8** %1105, align 4, !noalias !1079
  %1107 = select i1 %1104, i8* %1106, i8* %1101
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %196) #14, !noalias !1079
  %1108 = load i32, i32* %191, align 4, !tbaa !83, !alias.scope !1079
  %1109 = load i32, i32* %192, align 4, !tbaa !81, !alias.scope !1079
  %1110 = sub i32 %1109, %1108
  %1111 = icmp ult i32 %1110, %1100
  br i1 %1111, label %1119, label %1112

; <label>:1112:                                   ; preds = %1099
  %1113 = add i32 %1108, %1100
  store i32 %1113, i32* %191, align 4, !tbaa !83, !alias.scope !1079
  %1114 = icmp ugt i32 %1109, 15
  %1115 = load i8*, i8** %195, align 4
  %1116 = select i1 %1114, i8* %1115, i8* %190
  %1117 = getelementptr inbounds i8, i8* %1116, i32 %1108
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1117, i8* %1107, i32 %1100, i32 1, i1 false) #14
  %1118 = getelementptr inbounds i8, i8* %1116, i32 %1113
  store i8 0, i8* %1118, align 1, !tbaa !12
  br label %1121

; <label>:1119:                                   ; preds = %1099
  %1120 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %47, i32 %1100, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* %1107, i32 %1100) #14
  br label %1121

; <label>:1121:                                   ; preds = %1119, %1112
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %196) #14, !noalias !1079
  %1122 = load i32, i32* %76, align 4, !tbaa !81
  %1123 = icmp ugt i32 %1122, 15
  br i1 %1123, label %1124, label %1148

; <label>:1124:                                   ; preds = %1121
  %1125 = load i8*, i8** %89, align 4, !tbaa !12
  %1126 = add i32 %1122, 1
  %1127 = icmp ugt i32 %1126, 4095
  br i1 %1127, label %1128, label %1145

; <label>:1128:                                   ; preds = %1124
  %1129 = add i32 %1122, 36
  %1130 = icmp ugt i32 %1126, -36
  br i1 %1130, label %1144, label %1131

; <label>:1131:                                   ; preds = %1128
  %1132 = ptrtoint i8* %1125 to i32
  %1133 = and i32 %1132, 31
  %1134 = icmp eq i32 %1133, 0
  br i1 %1134, label %1135, label %1144

; <label>:1135:                                   ; preds = %1131
  %1136 = add i32 %1132, -4
  %1137 = inttoptr i32 %1136 to i32*
  %1138 = load i32, i32* %1137, align 4, !tbaa !24
  %1139 = icmp ult i32 %1138, %1132
  br i1 %1139, label %1140, label %1144

; <label>:1140:                                   ; preds = %1135
  %1141 = sub i32 %1136, %1138
  %1142 = icmp ugt i32 %1141, 31
  %1143 = inttoptr i32 %1138 to i8*
  br i1 %1142, label %1144, label %1145

; <label>:1144:                                   ; preds = %1140, %1135, %1131, %1128
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1145:                                   ; preds = %1140, %1124
  %1146 = phi i8* [ %1143, %1140 ], [ %1125, %1124 ]
  %1147 = phi i32 [ %1129, %1140 ], [ %1126, %1124 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1146, i32 %1147) #14
  br label %1148

; <label>:1148:                                   ; preds = %1145, %1121
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %190, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %190) #14
  br label %1347

; <label>:1149:                                   ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %197) #14
  %1150 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1151 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1150, align 4, !tbaa !1023
  store i64 0, i64* %200, align 4, !alias.scope !1082
  store i32 15, i32* %199, align 4, !tbaa !81, !alias.scope !1082
  store i8 0, i8* %197, align 4, !tbaa !12, !alias.scope !1082
  %1152 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1151, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %1153 = load i32, i32* %1152, align 4, !tbaa !83, !noalias !1082
  %1154 = add i32 %1153, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %48, i32 %1154) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %201) #14, !noalias !1082
  %1155 = load i32, i32* %198, align 4, !tbaa !83, !alias.scope !1082
  %1156 = load i32, i32* %199, align 4, !tbaa !81, !alias.scope !1082
  %1157 = icmp ult i32 %1155, %1156
  br i1 %1157, label %1158, label %1165

; <label>:1158:                                   ; preds = %1149
  %1159 = add i32 %1155, 1
  store i32 %1159, i32* %198, align 4, !tbaa !83, !alias.scope !1082
  %1160 = icmp ugt i32 %1156, 15
  %1161 = load i8*, i8** %202, align 4
  %1162 = select i1 %1160, i8* %1161, i8* %197
  %1163 = getelementptr inbounds i8, i8* %1162, i32 %1155
  store i8 33, i8* %1163, align 1, !tbaa !12
  %1164 = getelementptr inbounds i8, i8* %1162, i32 %1159
  store i8 0, i8* %1164, align 1, !tbaa !12
  br label %1167

; <label>:1165:                                   ; preds = %1149
  %1166 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %48, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext 33) #14
  br label %1167

; <label>:1167:                                   ; preds = %1165, %1158
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %201) #14, !noalias !1082
  %1168 = load i32, i32* %1152, align 4, !tbaa !83, !noalias !1082
  %1169 = bitcast %"struct.std::pair.23"* %1151 to i8*
  %1170 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1151, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %1171 = load i32, i32* %1170, align 4, !tbaa !81, !noalias !1082
  %1172 = icmp ugt i32 %1171, 15
  %1173 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1151, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1174 = load i8*, i8** %1173, align 4, !noalias !1082
  %1175 = select i1 %1172, i8* %1174, i8* %1169
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %203) #14, !noalias !1082
  %1176 = load i32, i32* %198, align 4, !tbaa !83, !alias.scope !1082
  %1177 = load i32, i32* %199, align 4, !tbaa !81, !alias.scope !1082
  %1178 = sub i32 %1177, %1176
  %1179 = icmp ult i32 %1178, %1168
  br i1 %1179, label %1187, label %1180

; <label>:1180:                                   ; preds = %1167
  %1181 = add i32 %1176, %1168
  store i32 %1181, i32* %198, align 4, !tbaa !83, !alias.scope !1082
  %1182 = icmp ugt i32 %1177, 15
  %1183 = load i8*, i8** %202, align 4
  %1184 = select i1 %1182, i8* %1183, i8* %197
  %1185 = getelementptr inbounds i8, i8* %1184, i32 %1176
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1185, i8* %1175, i32 %1168, i32 1, i1 false) #14
  %1186 = getelementptr inbounds i8, i8* %1184, i32 %1181
  store i8 0, i8* %1186, align 1, !tbaa !12
  br label %1189

; <label>:1187:                                   ; preds = %1167
  %1188 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %48, i32 %1168, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %1175, i32 %1168) #14
  br label %1189

; <label>:1189:                                   ; preds = %1187, %1180
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %203) #14, !noalias !1082
  %1190 = load i32, i32* %76, align 4, !tbaa !81
  %1191 = icmp ugt i32 %1190, 15
  br i1 %1191, label %1192, label %1216

; <label>:1192:                                   ; preds = %1189
  %1193 = load i8*, i8** %89, align 4, !tbaa !12
  %1194 = add i32 %1190, 1
  %1195 = icmp ugt i32 %1194, 4095
  br i1 %1195, label %1196, label %1213

; <label>:1196:                                   ; preds = %1192
  %1197 = add i32 %1190, 36
  %1198 = icmp ugt i32 %1194, -36
  br i1 %1198, label %1212, label %1199

; <label>:1199:                                   ; preds = %1196
  %1200 = ptrtoint i8* %1193 to i32
  %1201 = and i32 %1200, 31
  %1202 = icmp eq i32 %1201, 0
  br i1 %1202, label %1203, label %1212

; <label>:1203:                                   ; preds = %1199
  %1204 = add i32 %1200, -4
  %1205 = inttoptr i32 %1204 to i32*
  %1206 = load i32, i32* %1205, align 4, !tbaa !24
  %1207 = icmp ult i32 %1206, %1200
  br i1 %1207, label %1208, label %1212

; <label>:1208:                                   ; preds = %1203
  %1209 = sub i32 %1204, %1206
  %1210 = icmp ugt i32 %1209, 31
  %1211 = inttoptr i32 %1206 to i8*
  br i1 %1210, label %1212, label %1213

; <label>:1212:                                   ; preds = %1208, %1203, %1199, %1196
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1213:                                   ; preds = %1208, %1192
  %1214 = phi i8* [ %1211, %1208 ], [ %1193, %1192 ]
  %1215 = phi i32 [ %1197, %1208 ], [ %1194, %1192 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1214, i32 %1215) #14
  br label %1216

; <label>:1216:                                   ; preds = %1213, %1189
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %197, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %197) #14
  br label %1347

; <label>:1217:                                   ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %204) #14
  %1218 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1219 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1218, align 4, !tbaa !1025
  store i64 0, i64* %207, align 4, !alias.scope !1085
  store i32 15, i32* %206, align 4, !tbaa !81, !alias.scope !1085
  store i8 0, i8* %204, align 4, !tbaa !12, !alias.scope !1085
  %1220 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1219, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %1221 = load i32, i32* %1220, align 4, !tbaa !83, !noalias !1085
  %1222 = add i32 %1221, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %49, i32 %1222) #14
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %208) #14, !noalias !1085
  %1223 = load i32, i32* %205, align 4, !tbaa !83, !alias.scope !1085
  %1224 = load i32, i32* %206, align 4, !tbaa !81, !alias.scope !1085
  %1225 = icmp ult i32 %1223, %1224
  br i1 %1225, label %1226, label %1233

; <label>:1226:                                   ; preds = %1217
  %1227 = add i32 %1223, 1
  store i32 %1227, i32* %205, align 4, !tbaa !83, !alias.scope !1085
  %1228 = icmp ugt i32 %1224, 15
  %1229 = load i8*, i8** %209, align 4
  %1230 = select i1 %1228, i8* %1229, i8* %204
  %1231 = getelementptr inbounds i8, i8* %1230, i32 %1223
  store i8 46, i8* %1231, align 1, !tbaa !12
  %1232 = getelementptr inbounds i8, i8* %1230, i32 %1227
  store i8 0, i8* %1232, align 1, !tbaa !12
  br label %1235

; <label>:1233:                                   ; preds = %1217
  %1234 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %49, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 46) #14
  br label %1235

; <label>:1235:                                   ; preds = %1233, %1226
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %208) #14, !noalias !1085
  %1236 = load i32, i32* %1220, align 4, !tbaa !83, !noalias !1085
  %1237 = bitcast %"struct.std::pair.23"* %1219 to i8*
  %1238 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1219, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %1239 = load i32, i32* %1238, align 4, !tbaa !81, !noalias !1085
  %1240 = icmp ugt i32 %1239, 15
  %1241 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1219, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1242 = load i8*, i8** %1241, align 4, !noalias !1085
  %1243 = select i1 %1240, i8* %1242, i8* %1237
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %210) #14, !noalias !1085
  %1244 = load i32, i32* %205, align 4, !tbaa !83, !alias.scope !1085
  %1245 = load i32, i32* %206, align 4, !tbaa !81, !alias.scope !1085
  %1246 = sub i32 %1245, %1244
  %1247 = icmp ult i32 %1246, %1236
  br i1 %1247, label %1255, label %1248

; <label>:1248:                                   ; preds = %1235
  %1249 = add i32 %1244, %1236
  store i32 %1249, i32* %205, align 4, !tbaa !83, !alias.scope !1085
  %1250 = icmp ugt i32 %1245, 15
  %1251 = load i8*, i8** %209, align 4
  %1252 = select i1 %1250, i8* %1251, i8* %204
  %1253 = getelementptr inbounds i8, i8* %1252, i32 %1244
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1253, i8* %1243, i32 %1236, i32 1, i1 false) #14
  %1254 = getelementptr inbounds i8, i8* %1252, i32 %1249
  store i8 0, i8* %1254, align 1, !tbaa !12
  br label %1257

; <label>:1255:                                   ; preds = %1235
  %1256 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %49, i32 %1236, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %1243, i32 %1236) #14
  br label %1257

; <label>:1257:                                   ; preds = %1255, %1248
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %210) #14, !noalias !1085
  %1258 = load i32, i32* %76, align 4, !tbaa !81
  %1259 = icmp ugt i32 %1258, 15
  br i1 %1259, label %1260, label %1284

; <label>:1260:                                   ; preds = %1257
  %1261 = load i8*, i8** %89, align 4, !tbaa !12
  %1262 = add i32 %1258, 1
  %1263 = icmp ugt i32 %1262, 4095
  br i1 %1263, label %1264, label %1281

; <label>:1264:                                   ; preds = %1260
  %1265 = add i32 %1258, 36
  %1266 = icmp ugt i32 %1262, -36
  br i1 %1266, label %1280, label %1267

; <label>:1267:                                   ; preds = %1264
  %1268 = ptrtoint i8* %1261 to i32
  %1269 = and i32 %1268, 31
  %1270 = icmp eq i32 %1269, 0
  br i1 %1270, label %1271, label %1280

; <label>:1271:                                   ; preds = %1267
  %1272 = add i32 %1268, -4
  %1273 = inttoptr i32 %1272 to i32*
  %1274 = load i32, i32* %1273, align 4, !tbaa !24
  %1275 = icmp ult i32 %1274, %1268
  br i1 %1275, label %1276, label %1280

; <label>:1276:                                   ; preds = %1271
  %1277 = sub i32 %1272, %1274
  %1278 = icmp ugt i32 %1277, 31
  %1279 = inttoptr i32 %1274 to i8*
  br i1 %1278, label %1280, label %1281

; <label>:1280:                                   ; preds = %1276, %1271, %1267, %1264
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1281:                                   ; preds = %1276, %1260
  %1282 = phi i8* [ %1279, %1276 ], [ %1261, %1260 ]
  %1283 = phi i32 [ %1265, %1276 ], [ %1262, %1260 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1282, i32 %1283) #14
  br label %1284

; <label>:1284:                                   ; preds = %1281, %1257
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %204, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %204) #14
  br label %1347

; <label>:1285:                                   ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %211) #14
  %1286 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1287 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1286, align 4, !tbaa !1027
  %1288 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1287, i32 0, i32 0
  call void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z"(%"class.std::basic_string"* nonnull sret %50, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02MCBEACAC@?4?$EA?$AA@", i32 0, i32 0), %"class.std::basic_string"* dereferenceable(24) %1288)
  %1289 = load i32, i32* %76, align 4, !tbaa !81
  %1290 = icmp ugt i32 %1289, 15
  br i1 %1290, label %1291, label %1315

; <label>:1291:                                   ; preds = %1285
  %1292 = load i8*, i8** %89, align 4, !tbaa !12
  %1293 = add i32 %1289, 1
  %1294 = icmp ugt i32 %1293, 4095
  br i1 %1294, label %1295, label %1312

; <label>:1295:                                   ; preds = %1291
  %1296 = add i32 %1289, 36
  %1297 = icmp ugt i32 %1293, -36
  br i1 %1297, label %1311, label %1298

; <label>:1298:                                   ; preds = %1295
  %1299 = ptrtoint i8* %1292 to i32
  %1300 = and i32 %1299, 31
  %1301 = icmp eq i32 %1300, 0
  br i1 %1301, label %1302, label %1311

; <label>:1302:                                   ; preds = %1298
  %1303 = add i32 %1299, -4
  %1304 = inttoptr i32 %1303 to i32*
  %1305 = load i32, i32* %1304, align 4, !tbaa !24
  %1306 = icmp ult i32 %1305, %1299
  br i1 %1306, label %1307, label %1311

; <label>:1307:                                   ; preds = %1302
  %1308 = sub i32 %1303, %1305
  %1309 = icmp ugt i32 %1308, 31
  %1310 = inttoptr i32 %1305 to i8*
  br i1 %1309, label %1311, label %1312

; <label>:1311:                                   ; preds = %1307, %1302, %1298, %1295
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1312:                                   ; preds = %1307, %1291
  %1313 = phi i8* [ %1310, %1307 ], [ %1292, %1291 ]
  %1314 = phi i32 [ %1296, %1307 ], [ %1293, %1291 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1313, i32 %1314) #14
  br label %1315

; <label>:1315:                                   ; preds = %1312, %1285
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %211, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %211) #14
  br label %1347

; <label>:1316:                                   ; preds = %303
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %212) #14
  %1317 = bitcast %class.variant.24* %305 to %"struct.std::pair.23"**
  %1318 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1317, align 4, !tbaa !1029
  %1319 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %1318, i32 0, i32 0
  call void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z"(%"class.std::basic_string"* nonnull sret %51, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02LOPCFIOE@?4?$CB?$AA@", i32 0, i32 0), %"class.std::basic_string"* dereferenceable(24) %1319)
  %1320 = load i32, i32* %76, align 4, !tbaa !81
  %1321 = icmp ugt i32 %1320, 15
  br i1 %1321, label %1322, label %1346

; <label>:1322:                                   ; preds = %1316
  %1323 = load i8*, i8** %89, align 4, !tbaa !12
  %1324 = add i32 %1320, 1
  %1325 = icmp ugt i32 %1324, 4095
  br i1 %1325, label %1326, label %1343

; <label>:1326:                                   ; preds = %1322
  %1327 = add i32 %1320, 36
  %1328 = icmp ugt i32 %1324, -36
  br i1 %1328, label %1342, label %1329

; <label>:1329:                                   ; preds = %1326
  %1330 = ptrtoint i8* %1323 to i32
  %1331 = and i32 %1330, 31
  %1332 = icmp eq i32 %1331, 0
  br i1 %1332, label %1333, label %1342

; <label>:1333:                                   ; preds = %1329
  %1334 = add i32 %1330, -4
  %1335 = inttoptr i32 %1334 to i32*
  %1336 = load i32, i32* %1335, align 4, !tbaa !24
  %1337 = icmp ult i32 %1336, %1330
  br i1 %1337, label %1338, label %1342

; <label>:1338:                                   ; preds = %1333
  %1339 = sub i32 %1334, %1336
  %1340 = icmp ugt i32 %1339, 31
  %1341 = inttoptr i32 %1336 to i8*
  br i1 %1340, label %1342, label %1343

; <label>:1342:                                   ; preds = %1338, %1333, %1329, %1326
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1343:                                   ; preds = %1338, %1322
  %1344 = phi i8* [ %1341, %1338 ], [ %1323, %1322 ]
  %1345 = phi i32 [ %1327, %1338 ], [ %1324, %1322 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1344, i32 %1345) #14
  br label %1346

; <label>:1346:                                   ; preds = %1343, %1316
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %212, i32 24, i32 4, i1 false) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %212) #14
  br label %1347

; <label>:1347:                                   ; preds = %1346, %1315, %1284, %1216, %1148, %1080, %1060, %1059, %991, %990, %989, %988, %987, %957, %927, %877, %767, %717, %666, %615, %546, %516, %447, %377, %303
  %1348 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !1088
  %1349 = icmp ugt i32 %1348, 15
  %1350 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %1351 = select i1 %1349, i8* %1350, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %1352 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83, !noalias !1088
  %1353 = getelementptr inbounds i8, i8* %1351, i32 %1352
  %1354 = getelementptr inbounds i8, i8* %1353, i32 -1
  %1355 = load i8, i8* %1354, align 1, !tbaa !12
  %1356 = icmp eq i8 %1355, 10
  br i1 %1356, label %1623, label %1357

; <label>:1357:                                   ; preds = %1347
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %100)
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %101) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %102) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %103) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %104) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %105) #14
  %1358 = load %struct.AstNode*, %struct.AstNode** %70, align 4, !tbaa !23
  %1359 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1358, i32 %219, i32 1
  %1360 = load i32, i32* %1359, align 8, !tbaa !1091
  %1361 = add i32 %1360, %1
  call void @"\01?translateGlobalOffset@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z"(%"class.std::basic_string"* nonnull sret %57, i32 %1361)
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %106) #14, !noalias !1093
  %1362 = load i32, i32* %107, align 4, !tbaa !83, !noalias !1093
  %1363 = load i32, i32* %108, align 4, !tbaa !81, !noalias !1093
  %1364 = sub i32 %1363, %1362
  %1365 = icmp ult i32 %1364, 10
  br i1 %1365, label %1373, label %1366

; <label>:1366:                                   ; preds = %1357
  %1367 = add i32 %1362, 10
  store i32 %1367, i32* %107, align 4, !tbaa !83, !noalias !1093
  %1368 = icmp ugt i32 %1363, 15
  %1369 = load i8*, i8** %127, align 4, !noalias !1093
  %1370 = select i1 %1368, i8* %1369, i8* %105
  %1371 = getelementptr inbounds i8, i8* %1370, i32 %1362
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1371, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@GDMABBIG@?3?5error?0?5?$FL?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14, !noalias !1093
  %1372 = getelementptr inbounds i8, i8* %1370, i32 %1367
  store i8 0, i8* %1372, align 1, !tbaa !12, !noalias !1093
  br label %1375

; <label>:1373:                                   ; preds = %1357
  %1374 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %57, i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %22, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@GDMABBIG@?3?5error?0?5?$FL?$AA@", i32 0, i32 0), i32 10) #14, !noalias !1093
  br label %1375

; <label>:1375:                                   ; preds = %1373, %1366
  %1376 = phi %"class.std::basic_string"* [ %57, %1366 ], [ %1374, %1373 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %106) #14, !noalias !1093
  %1377 = bitcast %"class.std::basic_string"* %1376 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %104, i8* nonnull %1377, i32 24, i32 1, i1 false) #14
  %1378 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1376, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1378, align 4, !tbaa !83, !noalias !1093
  %1379 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1376, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1379, align 4, !tbaa !81, !noalias !1093
  store i8 0, i8* %1377, align 1, !tbaa !12, !noalias !1093
  %1380 = load i32, i32* %75, align 4, !tbaa !83, !noalias !1096
  %1381 = load i32, i32* %76, align 4, !tbaa !81, !noalias !1096
  %1382 = icmp ugt i32 %1381, 15
  %1383 = load i8*, i8** %89, align 4, !noalias !1096
  %1384 = select i1 %1382, i8* %1383, i8* %74
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %109) #14, !noalias !1096
  %1385 = load i32, i32* %110, align 4, !tbaa !83, !noalias !1096
  %1386 = load i32, i32* %111, align 4, !tbaa !81, !noalias !1096
  %1387 = sub i32 %1386, %1385
  %1388 = icmp ult i32 %1387, %1380
  br i1 %1388, label %1396, label %1389

; <label>:1389:                                   ; preds = %1375
  %1390 = add i32 %1385, %1380
  store i32 %1390, i32* %110, align 4, !tbaa !83, !noalias !1096
  %1391 = icmp ugt i32 %1386, 15
  %1392 = load i8*, i8** %126, align 4, !noalias !1096
  %1393 = select i1 %1391, i8* %1392, i8* %104
  %1394 = getelementptr inbounds i8, i8* %1393, i32 %1385
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1394, i8* %1384, i32 %1380, i32 1, i1 false) #14, !noalias !1096
  %1395 = getelementptr inbounds i8, i8* %1393, i32 %1390
  store i8 0, i8* %1395, align 1, !tbaa !12, !noalias !1096
  br label %1398

; <label>:1396:                                   ; preds = %1375
  %1397 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %56, i32 %1380, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %23, i8* %1384, i32 %1380) #14, !noalias !1096
  br label %1398

; <label>:1398:                                   ; preds = %1396, %1389
  %1399 = phi %"class.std::basic_string"* [ %56, %1389 ], [ %1397, %1396 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %109) #14, !noalias !1096
  %1400 = bitcast %"class.std::basic_string"* %1399 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %103, i8* nonnull %1400, i32 24, i32 1, i1 false) #14
  %1401 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1399, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1401, align 4, !tbaa !83, !noalias !1096
  %1402 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1399, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1402, align 4, !tbaa !81, !noalias !1096
  store i8 0, i8* %1400, align 1, !tbaa !12, !noalias !1096
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %112) #14, !noalias !1099
  %1403 = load i32, i32* %113, align 4, !tbaa !83, !noalias !1099
  %1404 = load i32, i32* %114, align 4, !tbaa !81, !noalias !1099
  %1405 = sub i32 %1404, %1403
  %1406 = icmp ult i32 %1405, 3
  br i1 %1406, label %1414, label %1407

; <label>:1407:                                   ; preds = %1398
  %1408 = add i32 %1403, 3
  store i32 %1408, i32* %113, align 4, !tbaa !83, !noalias !1099
  %1409 = icmp ugt i32 %1404, 15
  %1410 = load i8*, i8** %125, align 4, !noalias !1099
  %1411 = select i1 %1409, i8* %1410, i8* %103
  %1412 = getelementptr inbounds i8, i8* %1411, i32 %1403
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1412, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14, !noalias !1099
  %1413 = getelementptr inbounds i8, i8* %1411, i32 %1408
  store i8 0, i8* %1413, align 1, !tbaa !12, !noalias !1099
  br label %1416

; <label>:1414:                                   ; preds = %1398
  %1415 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %55, i32 3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %24, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@", i32 0, i32 0), i32 3) #14, !noalias !1099
  br label %1416

; <label>:1416:                                   ; preds = %1414, %1407
  %1417 = phi %"class.std::basic_string"* [ %55, %1407 ], [ %1415, %1414 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %112) #14, !noalias !1099
  %1418 = bitcast %"class.std::basic_string"* %1417 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %102, i8* nonnull %1418, i32 24, i32 1, i1 false) #14
  %1419 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1417, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1419, align 4, !tbaa !83, !noalias !1099
  %1420 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1417, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1420, align 4, !tbaa !81, !noalias !1099
  store i8 0, i8* %1418, align 1, !tbaa !12, !noalias !1099
  %1421 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83, !noalias !1102
  %1422 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !1102
  %1423 = icmp ugt i32 %1422, 15
  %1424 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !noalias !1102
  %1425 = select i1 %1423, i8* %1424, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %115) #14, !noalias !1102
  %1426 = load i32, i32* %116, align 4, !tbaa !83, !noalias !1102
  %1427 = load i32, i32* %117, align 4, !tbaa !81, !noalias !1102
  %1428 = sub i32 %1427, %1426
  %1429 = icmp ult i32 %1428, %1421
  br i1 %1429, label %1437, label %1430

; <label>:1430:                                   ; preds = %1416
  %1431 = add i32 %1426, %1421
  store i32 %1431, i32* %116, align 4, !tbaa !83, !noalias !1102
  %1432 = icmp ugt i32 %1427, 15
  %1433 = load i8*, i8** %124, align 4, !noalias !1102
  %1434 = select i1 %1432, i8* %1433, i8* %102
  %1435 = getelementptr inbounds i8, i8* %1434, i32 %1426
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1435, i8* %1425, i32 %1421, i32 1, i1 false) #14, !noalias !1102
  %1436 = getelementptr inbounds i8, i8* %1434, i32 %1431
  store i8 0, i8* %1436, align 1, !tbaa !12, !noalias !1102
  br label %1439

; <label>:1437:                                   ; preds = %1416
  %1438 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %54, i32 %1421, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %25, i8* %1425, i32 %1421) #14, !noalias !1102
  br label %1439

; <label>:1439:                                   ; preds = %1437, %1430
  %1440 = phi %"class.std::basic_string"* [ %54, %1430 ], [ %1438, %1437 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %115) #14, !noalias !1102
  %1441 = bitcast %"class.std::basic_string"* %1440 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %101, i8* nonnull %1441, i32 24, i32 1, i1 false) #14
  %1442 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1440, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1442, align 4, !tbaa !83, !noalias !1102
  %1443 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1440, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1443, align 4, !tbaa !81, !noalias !1102
  store i8 0, i8* %1441, align 1, !tbaa !12, !noalias !1102
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %118) #14, !noalias !1105
  %1444 = load i32, i32* %119, align 4, !tbaa !83, !noalias !1105
  %1445 = load i32, i32* %120, align 4, !tbaa !81, !noalias !1105
  %1446 = icmp ult i32 %1444, %1445
  br i1 %1446, label %1447, label %1454

; <label>:1447:                                   ; preds = %1439
  %1448 = add i32 %1444, 1
  store i32 %1448, i32* %119, align 4, !tbaa !83, !noalias !1105
  %1449 = icmp ugt i32 %1445, 15
  %1450 = load i8*, i8** %121, align 4, !noalias !1105
  %1451 = select i1 %1449, i8* %1450, i8* %101
  %1452 = getelementptr inbounds i8, i8* %1451, i32 %1444
  store i8 10, i8* %1452, align 1, !tbaa !12, !noalias !1105
  %1453 = getelementptr inbounds i8, i8* %1451, i32 %1448
  store i8 0, i8* %1453, align 1, !tbaa !12, !noalias !1105
  br label %1456

; <label>:1454:                                   ; preds = %1439
  %1455 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %53, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %26, i8 signext 10) #14, !noalias !1105
  br label %1456

; <label>:1456:                                   ; preds = %1454, %1447
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %118) #14, !noalias !1105
  %1457 = load i32, i32* %122, align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %100, i8* nonnull %123, i32 12, i32 4, i1 false)
  %1458 = load i32, i32* %119, align 4
  %1459 = load i32, i32* %120, align 4
  store i32 0, i32* %119, align 4, !tbaa !83, !noalias !1105
  store i32 15, i32* %120, align 4, !tbaa !81, !noalias !1105
  store i8 0, i8* %101, align 4, !tbaa !12, !noalias !1105
  %1460 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %1461 = icmp ugt i32 %1460, 15
  br i1 %1461, label %1462, label %1487

; <label>:1462:                                   ; preds = %1456
  %1463 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %1464 = add i32 %1460, 1
  %1465 = icmp ugt i32 %1464, 4095
  br i1 %1465, label %1466, label %1483

; <label>:1466:                                   ; preds = %1462
  %1467 = add i32 %1460, 36
  %1468 = icmp ugt i32 %1464, -36
  br i1 %1468, label %1482, label %1469

; <label>:1469:                                   ; preds = %1466
  %1470 = ptrtoint i8* %1463 to i32
  %1471 = and i32 %1470, 31
  %1472 = icmp eq i32 %1471, 0
  br i1 %1472, label %1473, label %1482

; <label>:1473:                                   ; preds = %1469
  %1474 = add i32 %1470, -4
  %1475 = inttoptr i32 %1474 to i32*
  %1476 = load i32, i32* %1475, align 4, !tbaa !24
  %1477 = icmp ult i32 %1476, %1470
  br i1 %1477, label %1478, label %1482

; <label>:1478:                                   ; preds = %1473
  %1479 = sub i32 %1474, %1476
  %1480 = icmp ugt i32 %1479, 31
  %1481 = inttoptr i32 %1476 to i8*
  br i1 %1480, label %1482, label %1483

; <label>:1482:                                   ; preds = %1478, %1473, %1469, %1466
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1483:                                   ; preds = %1478, %1462
  %1484 = phi i8* [ %1481, %1478 ], [ %1463, %1462 ]
  %1485 = phi i32 [ %1467, %1478 ], [ %1464, %1462 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1484, i32 %1485) #14
  %1486 = load i32, i32* %120, align 4, !tbaa !81
  br label %1487

; <label>:1487:                                   ; preds = %1483, %1456
  %1488 = phi i32 [ %1486, %1483 ], [ 15, %1456 ]
  store i32 %1457, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %100, i32 12, i32 4, i1 false)
  store i32 %1458, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %1459, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %1489 = icmp ugt i32 %1488, 15
  br i1 %1489, label %1490, label %1514

; <label>:1490:                                   ; preds = %1487
  %1491 = load i8*, i8** %121, align 4, !tbaa !12
  %1492 = add i32 %1488, 1
  %1493 = icmp ugt i32 %1492, 4095
  br i1 %1493, label %1494, label %1511

; <label>:1494:                                   ; preds = %1490
  %1495 = add i32 %1488, 36
  %1496 = icmp ugt i32 %1492, -36
  br i1 %1496, label %1510, label %1497

; <label>:1497:                                   ; preds = %1494
  %1498 = ptrtoint i8* %1491 to i32
  %1499 = and i32 %1498, 31
  %1500 = icmp eq i32 %1499, 0
  br i1 %1500, label %1501, label %1510

; <label>:1501:                                   ; preds = %1497
  %1502 = add i32 %1498, -4
  %1503 = inttoptr i32 %1502 to i32*
  %1504 = load i32, i32* %1503, align 4, !tbaa !24
  %1505 = icmp ult i32 %1504, %1498
  br i1 %1505, label %1506, label %1510

; <label>:1506:                                   ; preds = %1501
  %1507 = sub i32 %1502, %1504
  %1508 = icmp ugt i32 %1507, 31
  %1509 = inttoptr i32 %1504 to i8*
  br i1 %1508, label %1510, label %1511

; <label>:1510:                                   ; preds = %1506, %1501, %1497, %1494
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1511:                                   ; preds = %1506, %1490
  %1512 = phi i8* [ %1509, %1506 ], [ %1491, %1490 ]
  %1513 = phi i32 [ %1495, %1506 ], [ %1492, %1490 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1512, i32 %1513) #14
  br label %1514

; <label>:1514:                                   ; preds = %1511, %1487
  store i32 0, i32* %119, align 4, !tbaa !83
  store i32 15, i32* %120, align 4, !tbaa !81
  store i8 0, i8* %101, align 4, !tbaa !12
  %1515 = load i32, i32* %117, align 4, !tbaa !81
  %1516 = icmp ugt i32 %1515, 15
  br i1 %1516, label %1517, label %1541

; <label>:1517:                                   ; preds = %1514
  %1518 = load i8*, i8** %124, align 4, !tbaa !12
  %1519 = add i32 %1515, 1
  %1520 = icmp ugt i32 %1519, 4095
  br i1 %1520, label %1521, label %1538

; <label>:1521:                                   ; preds = %1517
  %1522 = add i32 %1515, 36
  %1523 = icmp ugt i32 %1519, -36
  br i1 %1523, label %1537, label %1524

; <label>:1524:                                   ; preds = %1521
  %1525 = ptrtoint i8* %1518 to i32
  %1526 = and i32 %1525, 31
  %1527 = icmp eq i32 %1526, 0
  br i1 %1527, label %1528, label %1537

; <label>:1528:                                   ; preds = %1524
  %1529 = add i32 %1525, -4
  %1530 = inttoptr i32 %1529 to i32*
  %1531 = load i32, i32* %1530, align 4, !tbaa !24
  %1532 = icmp ult i32 %1531, %1525
  br i1 %1532, label %1533, label %1537

; <label>:1533:                                   ; preds = %1528
  %1534 = sub i32 %1529, %1531
  %1535 = icmp ugt i32 %1534, 31
  %1536 = inttoptr i32 %1531 to i8*
  br i1 %1535, label %1537, label %1538

; <label>:1537:                                   ; preds = %1533, %1528, %1524, %1521
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1538:                                   ; preds = %1533, %1517
  %1539 = phi i8* [ %1536, %1533 ], [ %1518, %1517 ]
  %1540 = phi i32 [ %1522, %1533 ], [ %1519, %1517 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1539, i32 %1540) #14
  br label %1541

; <label>:1541:                                   ; preds = %1538, %1514
  store i32 0, i32* %116, align 4, !tbaa !83
  store i32 15, i32* %117, align 4, !tbaa !81
  store i8 0, i8* %102, align 4, !tbaa !12
  %1542 = load i32, i32* %114, align 4, !tbaa !81
  %1543 = icmp ugt i32 %1542, 15
  br i1 %1543, label %1544, label %1568

; <label>:1544:                                   ; preds = %1541
  %1545 = load i8*, i8** %125, align 4, !tbaa !12
  %1546 = add i32 %1542, 1
  %1547 = icmp ugt i32 %1546, 4095
  br i1 %1547, label %1548, label %1565

; <label>:1548:                                   ; preds = %1544
  %1549 = add i32 %1542, 36
  %1550 = icmp ugt i32 %1546, -36
  br i1 %1550, label %1564, label %1551

; <label>:1551:                                   ; preds = %1548
  %1552 = ptrtoint i8* %1545 to i32
  %1553 = and i32 %1552, 31
  %1554 = icmp eq i32 %1553, 0
  br i1 %1554, label %1555, label %1564

; <label>:1555:                                   ; preds = %1551
  %1556 = add i32 %1552, -4
  %1557 = inttoptr i32 %1556 to i32*
  %1558 = load i32, i32* %1557, align 4, !tbaa !24
  %1559 = icmp ult i32 %1558, %1552
  br i1 %1559, label %1560, label %1564

; <label>:1560:                                   ; preds = %1555
  %1561 = sub i32 %1556, %1558
  %1562 = icmp ugt i32 %1561, 31
  %1563 = inttoptr i32 %1558 to i8*
  br i1 %1562, label %1564, label %1565

; <label>:1564:                                   ; preds = %1560, %1555, %1551, %1548
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1565:                                   ; preds = %1560, %1544
  %1566 = phi i8* [ %1563, %1560 ], [ %1545, %1544 ]
  %1567 = phi i32 [ %1549, %1560 ], [ %1546, %1544 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1566, i32 %1567) #14
  br label %1568

; <label>:1568:                                   ; preds = %1565, %1541
  store i32 0, i32* %113, align 4, !tbaa !83
  store i32 15, i32* %114, align 4, !tbaa !81
  store i8 0, i8* %103, align 4, !tbaa !12
  %1569 = load i32, i32* %111, align 4, !tbaa !81
  %1570 = icmp ugt i32 %1569, 15
  br i1 %1570, label %1571, label %1595

; <label>:1571:                                   ; preds = %1568
  %1572 = load i8*, i8** %126, align 4, !tbaa !12
  %1573 = add i32 %1569, 1
  %1574 = icmp ugt i32 %1573, 4095
  br i1 %1574, label %1575, label %1592

; <label>:1575:                                   ; preds = %1571
  %1576 = add i32 %1569, 36
  %1577 = icmp ugt i32 %1573, -36
  br i1 %1577, label %1591, label %1578

; <label>:1578:                                   ; preds = %1575
  %1579 = ptrtoint i8* %1572 to i32
  %1580 = and i32 %1579, 31
  %1581 = icmp eq i32 %1580, 0
  br i1 %1581, label %1582, label %1591

; <label>:1582:                                   ; preds = %1578
  %1583 = add i32 %1579, -4
  %1584 = inttoptr i32 %1583 to i32*
  %1585 = load i32, i32* %1584, align 4, !tbaa !24
  %1586 = icmp ult i32 %1585, %1579
  br i1 %1586, label %1587, label %1591

; <label>:1587:                                   ; preds = %1582
  %1588 = sub i32 %1583, %1585
  %1589 = icmp ugt i32 %1588, 31
  %1590 = inttoptr i32 %1585 to i8*
  br i1 %1589, label %1591, label %1592

; <label>:1591:                                   ; preds = %1587, %1582, %1578, %1575
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1592:                                   ; preds = %1587, %1571
  %1593 = phi i8* [ %1590, %1587 ], [ %1572, %1571 ]
  %1594 = phi i32 [ %1576, %1587 ], [ %1573, %1571 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1593, i32 %1594) #14
  br label %1595

; <label>:1595:                                   ; preds = %1592, %1568
  store i32 0, i32* %110, align 4, !tbaa !83
  store i32 15, i32* %111, align 4, !tbaa !81
  store i8 0, i8* %104, align 4, !tbaa !12
  %1596 = load i32, i32* %108, align 4, !tbaa !81
  %1597 = icmp ugt i32 %1596, 15
  br i1 %1597, label %1598, label %1622

; <label>:1598:                                   ; preds = %1595
  %1599 = load i8*, i8** %127, align 4, !tbaa !12
  %1600 = add i32 %1596, 1
  %1601 = icmp ugt i32 %1600, 4095
  br i1 %1601, label %1602, label %1619

; <label>:1602:                                   ; preds = %1598
  %1603 = add i32 %1596, 36
  %1604 = icmp ugt i32 %1600, -36
  br i1 %1604, label %1618, label %1605

; <label>:1605:                                   ; preds = %1602
  %1606 = ptrtoint i8* %1599 to i32
  %1607 = and i32 %1606, 31
  %1608 = icmp eq i32 %1607, 0
  br i1 %1608, label %1609, label %1618

; <label>:1609:                                   ; preds = %1605
  %1610 = add i32 %1606, -4
  %1611 = inttoptr i32 %1610 to i32*
  %1612 = load i32, i32* %1611, align 4, !tbaa !24
  %1613 = icmp ult i32 %1612, %1606
  br i1 %1613, label %1614, label %1618

; <label>:1614:                                   ; preds = %1609
  %1615 = sub i32 %1610, %1612
  %1616 = icmp ugt i32 %1615, 31
  %1617 = inttoptr i32 %1612 to i8*
  br i1 %1616, label %1618, label %1619

; <label>:1618:                                   ; preds = %1614, %1609, %1605, %1602
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1619:                                   ; preds = %1614, %1598
  %1620 = phi i8* [ %1617, %1614 ], [ %1599, %1598 ]
  %1621 = phi i32 [ %1603, %1614 ], [ %1600, %1598 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1620, i32 %1621) #14
  br label %1622

; <label>:1622:                                   ; preds = %1619, %1595
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %105) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %104) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %103) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %101) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %100)
  br label %1866

; <label>:1623:                                   ; preds = %1347
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %78)
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %79) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %80) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %81) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %82) #14
  %1624 = load %struct.AstNode*, %struct.AstNode** %70, align 4, !tbaa !23
  %1625 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1624, i32 %219, i32 1
  %1626 = load i32, i32* %1625, align 8, !tbaa !1091
  %1627 = add i32 %1626, %1
  call void @"\01?translateGlobalOffset@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z"(%"class.std::basic_string"* nonnull sret %62, i32 %1627)
  %1628 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83, !noalias !1108
  %1629 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !1108
  %1630 = icmp ugt i32 %1629, 15
  %1631 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !noalias !1108
  %1632 = select i1 %1630, i8* %1631, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %83) #14, !noalias !1108
  %1633 = load i32, i32* %84, align 4, !tbaa !83, !noalias !1108
  %1634 = load i32, i32* %85, align 4, !tbaa !81, !noalias !1108
  %1635 = sub i32 %1634, %1633
  %1636 = icmp ult i32 %1635, %1628
  br i1 %1636, label %1660, label %1637

; <label>:1637:                                   ; preds = %1623
  %1638 = add i32 %1633, %1628
  store i32 %1638, i32* %84, align 4, !tbaa !83, !noalias !1108
  %1639 = icmp ugt i32 %1634, 15
  %1640 = load i8*, i8** %99, align 4, !noalias !1108
  %1641 = select i1 %1639, i8* %1640, i8* %82
  %1642 = getelementptr inbounds i8, i8* %1632, i32 %1628
  %1643 = icmp ule i8* %1642, %1641
  %1644 = getelementptr inbounds i8, i8* %1641, i32 %1633
  %1645 = icmp ult i8* %1644, %1632
  %1646 = or i1 %1643, %1645
  br i1 %1646, label %1653, label %1647

; <label>:1647:                                   ; preds = %1637
  %1648 = icmp ugt i8* %1641, %1632
  br i1 %1648, label %1649, label %1653

; <label>:1649:                                   ; preds = %1647
  %1650 = ptrtoint i8* %1641 to i32
  %1651 = ptrtoint i8* %1632 to i32
  %1652 = sub i32 %1650, %1651
  br label %1653

; <label>:1653:                                   ; preds = %1649, %1647, %1637
  %1654 = phi i32 [ %1652, %1649 ], [ %1628, %1637 ], [ 0, %1647 ]
  %1655 = add i32 %1633, 1
  %1656 = getelementptr inbounds i8, i8* %1641, i32 %1628
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1656, i8* %1641, i32 %1655, i32 1, i1 false) #14, !noalias !1108
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1641, i8* %1632, i32 %1654, i32 1, i1 false) #14, !noalias !1108
  %1657 = sub i32 %1628, %1654
  %1658 = getelementptr inbounds i8, i8* %1642, i32 %1654
  %1659 = getelementptr inbounds i8, i8* %1641, i32 %1654
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1659, i8* %1658, i32 %1657, i32 1, i1 false) #14, !noalias !1108
  br label %1662

; <label>:1660:                                   ; preds = %1623
  %1661 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %62, i32 %1628, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %27, i32 0, i8* %1632, i32 %1628) #14, !noalias !1108
  br label %1662

; <label>:1662:                                   ; preds = %1660, %1653
  %1663 = phi %"class.std::basic_string"* [ %62, %1653 ], [ %1661, %1660 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %83) #14, !noalias !1108
  %1664 = bitcast %"class.std::basic_string"* %1663 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %81, i8* nonnull %1664, i32 24, i32 1, i1 false) #14
  %1665 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1663, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1665, align 4, !tbaa !83, !noalias !1108
  %1666 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1663, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1666, align 4, !tbaa !81, !noalias !1108
  store i8 0, i8* %1664, align 1, !tbaa !12, !noalias !1108
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %86) #14, !noalias !1111
  %1667 = load i32, i32* %87, align 4, !tbaa !83, !noalias !1111
  %1668 = load i32, i32* %88, align 4, !tbaa !81, !noalias !1111
  %1669 = sub i32 %1668, %1667
  %1670 = icmp ult i32 %1669, 3
  br i1 %1670, label %1678, label %1671

; <label>:1671:                                   ; preds = %1662
  %1672 = add i32 %1667, 3
  store i32 %1672, i32* %87, align 4, !tbaa !83, !noalias !1111
  %1673 = icmp ugt i32 %1668, 15
  %1674 = load i8*, i8** %98, align 4, !noalias !1111
  %1675 = select i1 %1673, i8* %1674, i8* %81
  %1676 = getelementptr inbounds i8, i8* %1675, i32 %1667
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1676, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03CACPPKFJ@?3?5?$FL?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14, !noalias !1111
  %1677 = getelementptr inbounds i8, i8* %1675, i32 %1672
  store i8 0, i8* %1677, align 1, !tbaa !12, !noalias !1111
  br label %1680

; <label>:1678:                                   ; preds = %1662
  %1679 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %61, i32 3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %28, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03CACPPKFJ@?3?5?$FL?$AA@", i32 0, i32 0), i32 3) #14, !noalias !1111
  br label %1680

; <label>:1680:                                   ; preds = %1678, %1671
  %1681 = phi %"class.std::basic_string"* [ %61, %1671 ], [ %1679, %1678 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %86) #14, !noalias !1111
  %1682 = bitcast %"class.std::basic_string"* %1681 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %80, i8* nonnull %1682, i32 24, i32 1, i1 false) #14
  %1683 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1681, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1683, align 4, !tbaa !83, !noalias !1111
  %1684 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1681, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1684, align 4, !tbaa !81, !noalias !1111
  store i8 0, i8* %1682, align 1, !tbaa !12, !noalias !1111
  %1685 = load i32, i32* %75, align 4, !tbaa !83, !noalias !1114
  %1686 = load i32, i32* %76, align 4, !tbaa !81, !noalias !1114
  %1687 = icmp ugt i32 %1686, 15
  %1688 = load i8*, i8** %89, align 4, !noalias !1114
  %1689 = select i1 %1687, i8* %1688, i8* %74
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %90) #14, !noalias !1114
  %1690 = load i32, i32* %91, align 4, !tbaa !83, !noalias !1114
  %1691 = load i32, i32* %92, align 4, !tbaa !81, !noalias !1114
  %1692 = sub i32 %1691, %1690
  %1693 = icmp ult i32 %1692, %1685
  br i1 %1693, label %1701, label %1694

; <label>:1694:                                   ; preds = %1680
  %1695 = add i32 %1690, %1685
  store i32 %1695, i32* %91, align 4, !tbaa !83, !noalias !1114
  %1696 = icmp ugt i32 %1691, 15
  %1697 = load i8*, i8** %97, align 4, !noalias !1114
  %1698 = select i1 %1696, i8* %1697, i8* %80
  %1699 = getelementptr inbounds i8, i8* %1698, i32 %1690
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1699, i8* %1689, i32 %1685, i32 1, i1 false) #14, !noalias !1114
  %1700 = getelementptr inbounds i8, i8* %1698, i32 %1695
  store i8 0, i8* %1700, align 1, !tbaa !12, !noalias !1114
  br label %1703

; <label>:1701:                                   ; preds = %1680
  %1702 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %60, i32 %1685, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %29, i8* %1689, i32 %1685) #14, !noalias !1114
  br label %1703

; <label>:1703:                                   ; preds = %1701, %1694
  %1704 = phi %"class.std::basic_string"* [ %60, %1694 ], [ %1702, %1701 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %90) #14, !noalias !1114
  %1705 = bitcast %"class.std::basic_string"* %1704 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %79, i8* nonnull %1705, i32 24, i32 1, i1 false) #14
  %1706 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1704, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1706, align 4, !tbaa !83, !noalias !1114
  %1707 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1704, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1707, align 4, !tbaa !81, !noalias !1114
  store i8 0, i8* %1705, align 1, !tbaa !12, !noalias !1114
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %93) #14, !noalias !1117
  %1708 = load i32, i32* %94, align 4, !tbaa !83, !noalias !1117
  %1709 = load i32, i32* %95, align 4, !tbaa !81, !noalias !1117
  %1710 = sub i32 %1709, %1708
  %1711 = icmp ult i32 %1710, 20
  br i1 %1711, label %1719, label %1712

; <label>:1712:                                   ; preds = %1703
  %1713 = add i32 %1708, 20
  store i32 %1713, i32* %94, align 4, !tbaa !83, !noalias !1117
  %1714 = icmp ugt i32 %1709, 15
  %1715 = load i8*, i8** %96, align 4, !noalias !1117
  %1716 = select i1 %1714, i8* %1715, i8* %79
  %1717 = getelementptr inbounds i8, i8* %1716, i32 %1708
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1717, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@", i32 0, i32 0), i32 20, i32 1, i1 false) #14, !noalias !1117
  %1718 = getelementptr inbounds i8, i8* %1716, i32 %1713
  store i8 0, i8* %1718, align 1, !tbaa !12, !noalias !1117
  br label %1721

; <label>:1719:                                   ; preds = %1703
  %1720 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %59, i32 20, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %30, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@", i32 0, i32 0), i32 20) #14, !noalias !1117
  br label %1721

; <label>:1721:                                   ; preds = %1719, %1712
  %1722 = phi %"class.std::basic_string"* [ %59, %1712 ], [ %1720, %1719 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %93) #14, !noalias !1117
  %1723 = bitcast %"class.std::basic_string"* %1722 to i8*
  %1724 = bitcast %"class.std::basic_string"* %1722 to i32*
  %1725 = load i32, i32* %1724, align 1
  %1726 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1722, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %78, i8* %1726, i32 12, i32 1, i1 false)
  %1727 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1722, i32 0, i32 0, i32 0, i32 0, i32 1
  %1728 = load i32, i32* %1727, align 1
  %1729 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1722, i32 0, i32 0, i32 0, i32 0, i32 2
  %1730 = load i32, i32* %1729, align 1
  store i32 0, i32* %1727, align 4, !tbaa !83, !noalias !1117
  store i32 15, i32* %1729, align 4, !tbaa !81, !noalias !1117
  store i8 0, i8* %1723, align 1, !tbaa !12, !noalias !1117
  %1731 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %1732 = icmp ugt i32 %1731, 15
  br i1 %1732, label %1733, label %1757

; <label>:1733:                                   ; preds = %1721
  %1734 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %1735 = add i32 %1731, 1
  %1736 = icmp ugt i32 %1735, 4095
  br i1 %1736, label %1737, label %1754

; <label>:1737:                                   ; preds = %1733
  %1738 = add i32 %1731, 36
  %1739 = icmp ugt i32 %1735, -36
  br i1 %1739, label %1753, label %1740

; <label>:1740:                                   ; preds = %1737
  %1741 = ptrtoint i8* %1734 to i32
  %1742 = and i32 %1741, 31
  %1743 = icmp eq i32 %1742, 0
  br i1 %1743, label %1744, label %1753

; <label>:1744:                                   ; preds = %1740
  %1745 = add i32 %1741, -4
  %1746 = inttoptr i32 %1745 to i32*
  %1747 = load i32, i32* %1746, align 4, !tbaa !24
  %1748 = icmp ult i32 %1747, %1741
  br i1 %1748, label %1749, label %1753

; <label>:1749:                                   ; preds = %1744
  %1750 = sub i32 %1745, %1747
  %1751 = icmp ugt i32 %1750, 31
  %1752 = inttoptr i32 %1747 to i8*
  br i1 %1751, label %1753, label %1754

; <label>:1753:                                   ; preds = %1749, %1744, %1740, %1737
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1754:                                   ; preds = %1749, %1733
  %1755 = phi i8* [ %1752, %1749 ], [ %1734, %1733 ]
  %1756 = phi i32 [ %1738, %1749 ], [ %1735, %1733 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1755, i32 %1756) #14
  br label %1757

; <label>:1757:                                   ; preds = %1754, %1721
  store i32 %1725, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %78, i32 12, i32 4, i1 false)
  store i32 %1728, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %1730, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %1758 = load i32, i32* %95, align 4, !tbaa !81
  %1759 = icmp ugt i32 %1758, 15
  br i1 %1759, label %1760, label %1784

; <label>:1760:                                   ; preds = %1757
  %1761 = load i8*, i8** %96, align 4, !tbaa !12
  %1762 = add i32 %1758, 1
  %1763 = icmp ugt i32 %1762, 4095
  br i1 %1763, label %1764, label %1781

; <label>:1764:                                   ; preds = %1760
  %1765 = add i32 %1758, 36
  %1766 = icmp ugt i32 %1762, -36
  br i1 %1766, label %1780, label %1767

; <label>:1767:                                   ; preds = %1764
  %1768 = ptrtoint i8* %1761 to i32
  %1769 = and i32 %1768, 31
  %1770 = icmp eq i32 %1769, 0
  br i1 %1770, label %1771, label %1780

; <label>:1771:                                   ; preds = %1767
  %1772 = add i32 %1768, -4
  %1773 = inttoptr i32 %1772 to i32*
  %1774 = load i32, i32* %1773, align 4, !tbaa !24
  %1775 = icmp ult i32 %1774, %1768
  br i1 %1775, label %1776, label %1780

; <label>:1776:                                   ; preds = %1771
  %1777 = sub i32 %1772, %1774
  %1778 = icmp ugt i32 %1777, 31
  %1779 = inttoptr i32 %1774 to i8*
  br i1 %1778, label %1780, label %1781

; <label>:1780:                                   ; preds = %1776, %1771, %1767, %1764
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1781:                                   ; preds = %1776, %1760
  %1782 = phi i8* [ %1779, %1776 ], [ %1761, %1760 ]
  %1783 = phi i32 [ %1765, %1776 ], [ %1762, %1760 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1782, i32 %1783) #14
  br label %1784

; <label>:1784:                                   ; preds = %1781, %1757
  store i32 0, i32* %94, align 4, !tbaa !83
  store i32 15, i32* %95, align 4, !tbaa !81
  store i8 0, i8* %79, align 4, !tbaa !12
  %1785 = load i32, i32* %92, align 4, !tbaa !81
  %1786 = icmp ugt i32 %1785, 15
  br i1 %1786, label %1787, label %1811

; <label>:1787:                                   ; preds = %1784
  %1788 = load i8*, i8** %97, align 4, !tbaa !12
  %1789 = add i32 %1785, 1
  %1790 = icmp ugt i32 %1789, 4095
  br i1 %1790, label %1791, label %1808

; <label>:1791:                                   ; preds = %1787
  %1792 = add i32 %1785, 36
  %1793 = icmp ugt i32 %1789, -36
  br i1 %1793, label %1807, label %1794

; <label>:1794:                                   ; preds = %1791
  %1795 = ptrtoint i8* %1788 to i32
  %1796 = and i32 %1795, 31
  %1797 = icmp eq i32 %1796, 0
  br i1 %1797, label %1798, label %1807

; <label>:1798:                                   ; preds = %1794
  %1799 = add i32 %1795, -4
  %1800 = inttoptr i32 %1799 to i32*
  %1801 = load i32, i32* %1800, align 4, !tbaa !24
  %1802 = icmp ult i32 %1801, %1795
  br i1 %1802, label %1803, label %1807

; <label>:1803:                                   ; preds = %1798
  %1804 = sub i32 %1799, %1801
  %1805 = icmp ugt i32 %1804, 31
  %1806 = inttoptr i32 %1801 to i8*
  br i1 %1805, label %1807, label %1808

; <label>:1807:                                   ; preds = %1803, %1798, %1794, %1791
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1808:                                   ; preds = %1803, %1787
  %1809 = phi i8* [ %1806, %1803 ], [ %1788, %1787 ]
  %1810 = phi i32 [ %1792, %1803 ], [ %1789, %1787 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1809, i32 %1810) #14
  br label %1811

; <label>:1811:                                   ; preds = %1808, %1784
  store i32 0, i32* %91, align 4, !tbaa !83
  store i32 15, i32* %92, align 4, !tbaa !81
  store i8 0, i8* %80, align 4, !tbaa !12
  %1812 = load i32, i32* %88, align 4, !tbaa !81
  %1813 = icmp ugt i32 %1812, 15
  br i1 %1813, label %1814, label %1838

; <label>:1814:                                   ; preds = %1811
  %1815 = load i8*, i8** %98, align 4, !tbaa !12
  %1816 = add i32 %1812, 1
  %1817 = icmp ugt i32 %1816, 4095
  br i1 %1817, label %1818, label %1835

; <label>:1818:                                   ; preds = %1814
  %1819 = add i32 %1812, 36
  %1820 = icmp ugt i32 %1816, -36
  br i1 %1820, label %1834, label %1821

; <label>:1821:                                   ; preds = %1818
  %1822 = ptrtoint i8* %1815 to i32
  %1823 = and i32 %1822, 31
  %1824 = icmp eq i32 %1823, 0
  br i1 %1824, label %1825, label %1834

; <label>:1825:                                   ; preds = %1821
  %1826 = add i32 %1822, -4
  %1827 = inttoptr i32 %1826 to i32*
  %1828 = load i32, i32* %1827, align 4, !tbaa !24
  %1829 = icmp ult i32 %1828, %1822
  br i1 %1829, label %1830, label %1834

; <label>:1830:                                   ; preds = %1825
  %1831 = sub i32 %1826, %1828
  %1832 = icmp ugt i32 %1831, 31
  %1833 = inttoptr i32 %1828 to i8*
  br i1 %1832, label %1834, label %1835

; <label>:1834:                                   ; preds = %1830, %1825, %1821, %1818
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1835:                                   ; preds = %1830, %1814
  %1836 = phi i8* [ %1833, %1830 ], [ %1815, %1814 ]
  %1837 = phi i32 [ %1819, %1830 ], [ %1816, %1814 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1836, i32 %1837) #14
  br label %1838

; <label>:1838:                                   ; preds = %1835, %1811
  store i32 0, i32* %87, align 4, !tbaa !83
  store i32 15, i32* %88, align 4, !tbaa !81
  store i8 0, i8* %81, align 4, !tbaa !12
  %1839 = load i32, i32* %85, align 4, !tbaa !81
  %1840 = icmp ugt i32 %1839, 15
  br i1 %1840, label %1841, label %1865

; <label>:1841:                                   ; preds = %1838
  %1842 = load i8*, i8** %99, align 4, !tbaa !12
  %1843 = add i32 %1839, 1
  %1844 = icmp ugt i32 %1843, 4095
  br i1 %1844, label %1845, label %1862

; <label>:1845:                                   ; preds = %1841
  %1846 = add i32 %1839, 36
  %1847 = icmp ugt i32 %1843, -36
  br i1 %1847, label %1861, label %1848

; <label>:1848:                                   ; preds = %1845
  %1849 = ptrtoint i8* %1842 to i32
  %1850 = and i32 %1849, 31
  %1851 = icmp eq i32 %1850, 0
  br i1 %1851, label %1852, label %1861

; <label>:1852:                                   ; preds = %1848
  %1853 = add i32 %1849, -4
  %1854 = inttoptr i32 %1853 to i32*
  %1855 = load i32, i32* %1854, align 4, !tbaa !24
  %1856 = icmp ult i32 %1855, %1849
  br i1 %1856, label %1857, label %1861

; <label>:1857:                                   ; preds = %1852
  %1858 = sub i32 %1853, %1855
  %1859 = icmp ugt i32 %1858, 31
  %1860 = inttoptr i32 %1855 to i8*
  br i1 %1859, label %1861, label %1862

; <label>:1861:                                   ; preds = %1857, %1852, %1848, %1845
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1862:                                   ; preds = %1857, %1841
  %1863 = phi i8* [ %1860, %1857 ], [ %1842, %1841 ]
  %1864 = phi i32 [ %1846, %1857 ], [ %1843, %1841 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1863, i32 %1864) #14
  br label %1865

; <label>:1865:                                   ; preds = %1862, %1838
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %82) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %81) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %80) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %79) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %78)
  br label %1866

; <label>:1866:                                   ; preds = %1865, %1622
  %1867 = load i32, i32* %76, align 4, !tbaa !81
  %1868 = icmp ugt i32 %1867, 15
  br i1 %1868, label %1869, label %1893

; <label>:1869:                                   ; preds = %1866
  %1870 = load i8*, i8** %89, align 4, !tbaa !12
  %1871 = add i32 %1867, 1
  %1872 = icmp ugt i32 %1871, 4095
  br i1 %1872, label %1873, label %1890

; <label>:1873:                                   ; preds = %1869
  %1874 = add i32 %1867, 36
  %1875 = icmp ugt i32 %1871, -36
  br i1 %1875, label %1889, label %1876

; <label>:1876:                                   ; preds = %1873
  %1877 = ptrtoint i8* %1870 to i32
  %1878 = and i32 %1877, 31
  %1879 = icmp eq i32 %1878, 0
  br i1 %1879, label %1880, label %1889

; <label>:1880:                                   ; preds = %1876
  %1881 = add i32 %1877, -4
  %1882 = inttoptr i32 %1881 to i32*
  %1883 = load i32, i32* %1882, align 4, !tbaa !24
  %1884 = icmp ult i32 %1883, %1877
  br i1 %1884, label %1885, label %1889

; <label>:1885:                                   ; preds = %1880
  %1886 = sub i32 %1881, %1883
  %1887 = icmp ugt i32 %1886, 31
  %1888 = inttoptr i32 %1883 to i8*
  br i1 %1887, label %1889, label %1890

; <label>:1889:                                   ; preds = %1885, %1880, %1876, %1873
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1890:                                   ; preds = %1885, %1869
  %1891 = phi i8* [ %1888, %1885 ], [ %1870, %1869 ]
  %1892 = phi i32 [ %1874, %1885 ], [ %1871, %1869 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1891, i32 %1892) #14
  br label %1893

; <label>:1893:                                   ; preds = %1890, %1866
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %74) #14
  br label %1902

; <label>:1894:                                   ; preds = %294, %290, %286, %282, %278, %274, %270, %266, %265, %262, %259, %256, %253, %250, %247, %244, %241, %238, %235, %232, %229, %226, %223, %217
  %1895 = add i32 %219, 1
  %1896 = load i32, i32* %64, align 4, !tbaa !23
  %1897 = load i32, i32* %66, align 4, !tbaa !23
  %1898 = sub i32 %1896, %1897
  %1899 = ashr exact i32 %1898, 5
  %1900 = icmp ult i32 %1895, %1899
  %1901 = inttoptr i32 %1897 to %struct.AstNode*
  br i1 %1900, label %217, label %1902

; <label>:1902:                                   ; preds = %1894, %1893, %297, %2
  %1903 = phi i1 [ true, %2 ], [ false, %297 ], [ false, %1893 ], [ true, %1894 ]
  ret i1 %1903
}

; Function Attrs: inlinehint nounwind
define linkonce_odr void @"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBDABV10@@Z"(%"class.std::basic_string"* noalias sret, i8*, %"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #1 comdat {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %8 = bitcast i32* %6 to i64*
  store i64 0, i64* %8, align 4
  store i32 15, i32* %7, align 4, !tbaa !81
  %9 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %9, align 4, !tbaa !12
  %10 = tail call i32 @strlen(i8* %1) #14
  %11 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %12 = load i32, i32* %11, align 4, !tbaa !83
  %13 = add i32 %12, %10
  tail call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* %0, i32 %13)
  %14 = tail call i32 @strlen(i8* %1) #14
  %15 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %15) #14
  %16 = load i32, i32* %6, align 4, !tbaa !83
  %17 = load i32, i32* %7, align 4, !tbaa !81
  %18 = sub i32 %17, %16
  %19 = icmp ult i32 %18, %14
  br i1 %19, label %30, label %20

; <label>:20:                                     ; preds = %3
  %21 = add i32 %16, %14
  store i32 %21, i32* %6, align 4, !tbaa !83
  %22 = icmp ugt i32 %17, 15
  br i1 %22, label %23, label %26

; <label>:23:                                     ; preds = %20
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %25 = load i8*, i8** %24, align 4, !tbaa !12
  br label %26

; <label>:26:                                     ; preds = %23, %20
  %27 = phi i8* [ %25, %23 ], [ %9, %20 ]
  %28 = getelementptr inbounds i8, i8* %27, i32 %16
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %28, i8* %1, i32 %14, i32 1, i1 false) #14
  %29 = getelementptr inbounds i8, i8* %27, i32 %21
  store i8 0, i8* %29, align 1, !tbaa !12
  br label %32

; <label>:30:                                     ; preds = %3
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %14, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %1, i32 %14) #14
  br label %32

; <label>:32:                                     ; preds = %30, %26
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %15) #14
  %33 = load i32, i32* %11, align 4, !tbaa !83
  %34 = bitcast %"class.std::basic_string"* %2 to i8*
  %35 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %36 = load i32, i32* %35, align 4, !tbaa !81
  %37 = icmp ugt i32 %36, 15
  %38 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %39 = load i8*, i8** %38, align 4
  %40 = select i1 %37, i8* %39, i8* %34
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = load i32, i32* %6, align 4, !tbaa !83
  %43 = load i32, i32* %7, align 4, !tbaa !81
  %44 = sub i32 %43, %42
  %45 = icmp ult i32 %44, %33
  br i1 %45, label %56, label %46

; <label>:46:                                     ; preds = %32
  %47 = add i32 %42, %33
  store i32 %47, i32* %6, align 4, !tbaa !83
  %48 = icmp ugt i32 %43, 15
  br i1 %48, label %49, label %52

; <label>:49:                                     ; preds = %46
  %50 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %51 = load i8*, i8** %50, align 4, !tbaa !12
  br label %52

; <label>:52:                                     ; preds = %49, %46
  %53 = phi i8* [ %51, %49 ], [ %9, %46 ]
  %54 = getelementptr inbounds i8, i8* %53, i32 %42
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %54, i8* %40, i32 %33, i32 1, i1 false) #14
  %55 = getelementptr inbounds i8, i8* %53, i32 %47
  store i8 0, i8* %55, align 1, !tbaa !12
  br label %58

; <label>:56:                                     ; preds = %32
  %57 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %0, i32 %33, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %40, i32 %33) #14
  br label %58

; <label>:58:                                     ; preds = %56, %52
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  ret void
}

; Function Attrs: nounwind
define void @"\01?translateGlobalOffset@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z"(%"class.std::basic_string"* noalias nocapture sret, i32) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca [21 x i8], align 1
  %12 = alloca %"class.std::basic_string", align 4
  %13 = alloca %"class.std::basic_string", align 4
  %14 = alloca %"class.std::basic_string", align 4
  %15 = alloca %"class.std::basic_string", align 4
  %16 = alloca %"class.std::basic_string", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23, !noalias !1120
  %19 = inttoptr i32 %18 to %struct.File*
  %20 = getelementptr inbounds %struct.File, %struct.File* %19, i32 0, i32 2
  %21 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %20, align 4, !tbaa !1123
  %22 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %23 = load i32, i32* %22, align 4, !tbaa !83
  %24 = icmp ult i32 %23, %1
  br i1 %24, label %25, label %40

; <label>:25:                                     ; preds = %2
  br label %26

; <label>:26:                                     ; preds = %26, %25
  %27 = phi i32 [ %36, %26 ], [ %23, %25 ]
  %28 = phi %struct.File* [ %32, %26 ], [ %19, %25 ]
  %29 = phi i32 [ %31, %26 ], [ %1, %25 ]
  %30 = add i32 %29, -1
  %31 = sub i32 %30, %27
  %32 = getelementptr inbounds %struct.File, %struct.File* %28, i32 1
  %33 = getelementptr inbounds %struct.File, %struct.File* %28, i32 1, i32 2
  %34 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %33, align 4, !tbaa !1123
  %35 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %36 = load i32, i32* %35, align 4, !tbaa !83
  %37 = icmp ult i32 %36, %31
  br i1 %37, label %26, label %38

; <label>:38:                                     ; preds = %26
  %39 = ptrtoint %struct.File* %32 to i32
  br label %40

; <label>:40:                                     ; preds = %38, %2
  %41 = phi i32 [ %18, %2 ], [ %39, %38 ]
  %42 = phi i32 [ %1, %2 ], [ %31, %38 ]
  %43 = phi %struct.File* [ %19, %2 ], [ %32, %38 ]
  %44 = phi %"struct.std::pair.23"* [ %21, %2 ], [ %34, %38 ]
  %45 = icmp eq i32 %42, 0
  br i1 %45, label %68, label %46

; <label>:46:                                     ; preds = %40
  %47 = bitcast %"struct.std::pair.23"* %44 to i8*
  %48 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %49 = load i32, i32* %48, align 4, !tbaa !81
  %50 = icmp ugt i32 %49, 15
  br i1 %50, label %52, label %51

; <label>:51:                                     ; preds = %46
  br label %475

; <label>:52:                                     ; preds = %46
  %53 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %54 = load i8*, i8** %53, align 4, !tbaa !12
  br label %55

; <label>:55:                                     ; preds = %55, %52
  %56 = phi i32 [ 0, %52 ], [ %66, %55 ]
  %57 = phi i32 [ 1, %52 ], [ %65, %55 ]
  %58 = phi i32 [ 1, %52 ], [ %64, %55 ]
  %59 = getelementptr inbounds i8, i8* %54, i32 %56
  %60 = load i8, i8* %59, align 1, !tbaa !12
  %61 = icmp eq i8 %60, 10
  %62 = add i32 %57, 1
  %63 = zext i1 %61 to i32
  %64 = add i32 %58, %63
  %65 = select i1 %61, i32 1, i32 %62
  %66 = add nuw i32 %56, 1
  %67 = icmp eq i32 %66, %42
  br i1 %67, label %68, label %55

; <label>:68:                                     ; preds = %475, %55, %40
  %69 = phi i32 [ 1, %40 ], [ %64, %55 ], [ %484, %475 ]
  %70 = phi i32 [ 1, %40 ], [ %65, %55 ], [ %485, %475 ]
  %71 = bitcast %"class.std::basic_string"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %71) #14
  %72 = bitcast %"class.std::basic_string"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %72) #14
  %73 = getelementptr inbounds [21 x i8], [21 x i8]* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %73) #14, !noalias !1125
  %74 = getelementptr inbounds [21 x i8], [21 x i8]* %11, i32 0, i32 21
  br label %75

; <label>:75:                                     ; preds = %75, %68
  %76 = phi i32 [ 0, %68 ], [ %81, %75 ]
  %77 = phi i32 [ %70, %68 ], [ %83, %75 ]
  %78 = urem i32 %77, 10
  %79 = trunc i32 %78 to i8
  %80 = or i8 %79, 48
  %81 = add nsw i32 %76, -1
  %82 = getelementptr inbounds i8, i8* %74, i32 %81
  store i8 %80, i8* %82, align 1, !tbaa !12, !noalias !1125
  %83 = udiv i32 %77, 10
  %84 = icmp ugt i32 %77, 9
  br i1 %84, label %75, label %85

; <label>:85:                                     ; preds = %75
  %86 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %87 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %88 = bitcast i32* %86 to i64*
  store i64 0, i64* %88, align 4, !alias.scope !1125
  store i32 15, i32* %87, align 4, !tbaa !81, !alias.scope !1125
  store i8 0, i8* %72, align 4, !tbaa !12, !alias.scope !1125
  %89 = icmp eq i32 %81, 0
  br i1 %89, label %99, label %90

; <label>:90:                                     ; preds = %85
  %91 = sub i32 1, %76
  %92 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %92) #14, !noalias !1125
  %93 = icmp ugt i32 %91, 15
  br i1 %93, label %96, label %94

; <label>:94:                                     ; preds = %90
  store i32 %91, i32* %86, align 4, !tbaa !83, !alias.scope !1125
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %72, i8* %82, i32 %91, i32 1, i1 false) #14
  %95 = getelementptr inbounds i8, i8* %72, i32 %91
  store i8 0, i8* %95, align 1, !tbaa !12, !alias.scope !1125
  br label %98

; <label>:96:                                     ; preds = %90
  %97 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %13, i32 %91, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %82) #14
  br label %98

; <label>:98:                                     ; preds = %96, %94
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %92) #14, !noalias !1125
  br label %99

; <label>:99:                                     ; preds = %98, %85
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %73) #14, !noalias !1125
  %100 = bitcast %"class.std::basic_string"* %14 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %100) #14
  %101 = bitcast %"class.std::basic_string"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %101) #14
  %102 = bitcast %"class.std::basic_string"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %102) #14
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %73) #14, !noalias !1130
  br label %103

; <label>:103:                                    ; preds = %103, %99
  %104 = phi i32 [ 0, %99 ], [ %109, %103 ]
  %105 = phi i32 [ %69, %99 ], [ %111, %103 ]
  %106 = urem i32 %105, 10
  %107 = trunc i32 %106 to i8
  %108 = or i8 %107, 48
  %109 = add nsw i32 %104, -1
  %110 = getelementptr inbounds i8, i8* %74, i32 %109
  store i8 %108, i8* %110, align 1, !tbaa !12, !noalias !1130
  %111 = udiv i32 %105, 10
  %112 = icmp ugt i32 %105, 9
  br i1 %112, label %103, label %113

; <label>:113:                                    ; preds = %103
  %114 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %115 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %116 = bitcast i32* %114 to i64*
  store i64 0, i64* %116, align 4, !alias.scope !1130
  store i32 15, i32* %115, align 4, !tbaa !81, !alias.scope !1130
  store i8 0, i8* %102, align 4, !tbaa !12, !alias.scope !1130
  %117 = icmp eq i32 %109, 0
  br i1 %117, label %127, label %118

; <label>:118:                                    ; preds = %113
  %119 = sub i32 1, %104
  %120 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %120) #14, !noalias !1130
  %121 = icmp ugt i32 %119, 15
  br i1 %121, label %124, label %122

; <label>:122:                                    ; preds = %118
  store i32 %119, i32* %114, align 4, !tbaa !83, !alias.scope !1130
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %102, i8* %110, i32 %119, i32 1, i1 false) #14
  %123 = getelementptr inbounds i8, i8* %102, i32 %119
  store i8 0, i8* %123, align 1, !tbaa !12, !alias.scope !1130
  br label %126

; <label>:124:                                    ; preds = %118
  %125 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %16, i32 %119, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %110) #14
  br label %126

; <label>:126:                                    ; preds = %124, %122
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %120) #14, !noalias !1130
  br label %127

; <label>:127:                                    ; preds = %126, %113
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %73) #14, !noalias !1130
  %128 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %128) #14
  %129 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  %130 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  %131 = bitcast i32* %129 to i64*
  store i64 0, i64* %131, align 4, !alias.scope !1135
  store i32 15, i32* %130, align 4, !tbaa !81, !alias.scope !1135
  store i8 0, i8* %128, align 4, !tbaa !12, !alias.scope !1135
  %132 = getelementptr inbounds %struct.File, %struct.File* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %133 = load i32, i32* %132, align 4, !tbaa !83, !noalias !1135
  %134 = add i32 %133, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %17, i32 %134) #14
  %135 = load i32, i32* %132, align 4, !tbaa !83, !noalias !1135
  %136 = inttoptr i32 %41 to i8*
  %137 = getelementptr inbounds %struct.File, %struct.File* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %138 = load i32, i32* %137, align 4, !tbaa !81, !noalias !1135
  %139 = icmp ugt i32 %138, 15
  %140 = getelementptr inbounds %struct.File, %struct.File* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %141 = load i8*, i8** %140, align 4, !noalias !1135
  %142 = select i1 %139, i8* %141, i8* %136
  %143 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %143) #14, !noalias !1135
  %144 = load i32, i32* %129, align 4, !tbaa !83, !alias.scope !1135
  %145 = load i32, i32* %130, align 4, !tbaa !81, !alias.scope !1135
  %146 = sub i32 %145, %144
  %147 = icmp ult i32 %146, %135
  br i1 %147, label %156, label %148

; <label>:148:                                    ; preds = %127
  %149 = add i32 %144, %135
  store i32 %149, i32* %129, align 4, !tbaa !83, !alias.scope !1135
  %150 = icmp ugt i32 %145, 15
  %151 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %152 = load i8*, i8** %151, align 4
  %153 = select i1 %150, i8* %152, i8* %128
  %154 = getelementptr inbounds i8, i8* %153, i32 %144
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %154, i8* %142, i32 %135, i32 1, i1 false) #14
  %155 = getelementptr inbounds i8, i8* %153, i32 %149
  store i8 0, i8* %155, align 1, !tbaa !12
  br label %158

; <label>:156:                                    ; preds = %127
  %157 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %17, i32 %135, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %142, i32 %135) #14
  br label %158

; <label>:158:                                    ; preds = %156, %148
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %143) #14, !noalias !1135
  %159 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %159) #14, !noalias !1135
  %160 = load i32, i32* %129, align 4, !tbaa !83, !alias.scope !1135
  %161 = load i32, i32* %130, align 4, !tbaa !81, !alias.scope !1135
  %162 = icmp ult i32 %160, %161
  br i1 %162, label %163, label %171

; <label>:163:                                    ; preds = %158
  %164 = add i32 %160, 1
  store i32 %164, i32* %129, align 4, !tbaa !83, !alias.scope !1135
  %165 = icmp ugt i32 %161, 15
  %166 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %167 = load i8*, i8** %166, align 4
  %168 = select i1 %165, i8* %167, i8* %128
  %169 = getelementptr inbounds i8, i8* %168, i32 %160
  store i8 40, i8* %169, align 1, !tbaa !12
  %170 = getelementptr inbounds i8, i8* %168, i32 %164
  store i8 0, i8* %170, align 1, !tbaa !12
  br label %173

; <label>:171:                                    ; preds = %158
  %172 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %17, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8 signext 40) #14
  br label %173

; <label>:173:                                    ; preds = %171, %163
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %159) #14, !noalias !1135
  %174 = load i32, i32* %114, align 4, !tbaa !83, !noalias !1138
  %175 = load i32, i32* %130, align 4, !tbaa !81, !noalias !1138
  %176 = load i32, i32* %129, align 4, !tbaa !83, !noalias !1138
  %177 = sub i32 %175, %176
  %178 = icmp ugt i32 %174, %177
  %179 = load i32, i32* %115, align 4, !tbaa !81, !noalias !1138
  %180 = xor i1 %178, true
  %181 = sub i32 %179, %174
  %182 = icmp ult i32 %181, %176
  %183 = or i1 %182, %180
  br i1 %183, label %184, label %203

; <label>:184:                                    ; preds = %173
  %185 = icmp ugt i32 %179, 15
  %186 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %187 = load i8*, i8** %186, align 4, !noalias !1138
  %188 = select i1 %185, i8* %187, i8* %102
  %189 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %189) #14, !noalias !1138
  br i1 %178, label %198, label %190

; <label>:190:                                    ; preds = %184
  %191 = add i32 %176, %174
  store i32 %191, i32* %129, align 4, !tbaa !83, !noalias !1138
  %192 = icmp ugt i32 %175, 15
  %193 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %194 = load i8*, i8** %193, align 4, !noalias !1138
  %195 = select i1 %192, i8* %194, i8* %128
  %196 = getelementptr inbounds i8, i8* %195, i32 %176
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %196, i8* %188, i32 %174, i32 1, i1 false) #14, !noalias !1138
  %197 = getelementptr inbounds i8, i8* %195, i32 %191
  store i8 0, i8* %197, align 1, !tbaa !12, !noalias !1138
  br label %200

; <label>:198:                                    ; preds = %184
  %199 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %17, i32 %174, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %188, i32 %174) #14, !noalias !1138
  br label %200

; <label>:200:                                    ; preds = %198, %190
  %201 = phi %"class.std::basic_string"* [ %17, %190 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %189) #14, !noalias !1138
  %202 = bitcast %"class.std::basic_string"* %201 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %101, i8* nonnull %202, i32 24, i32 1, i1 false) #14
  br label %231

; <label>:203:                                    ; preds = %173
  %204 = icmp ugt i32 %175, 15
  %205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %206 = load i8*, i8** %205, align 4, !noalias !1138
  %207 = select i1 %204, i8* %206, i8* %128
  %208 = add i32 %176, %174
  store i32 %208, i32* %114, align 4, !tbaa !83, !noalias !1138
  %209 = icmp ugt i32 %179, 15
  %210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %211 = load i8*, i8** %210, align 4, !noalias !1138
  %212 = select i1 %209, i8* %211, i8* %102
  %213 = getelementptr inbounds i8, i8* %207, i32 %176
  %214 = icmp ule i8* %213, %212
  %215 = getelementptr inbounds i8, i8* %212, i32 %174
  %216 = icmp ult i8* %215, %207
  %217 = or i1 %214, %216
  br i1 %217, label %224, label %218

; <label>:218:                                    ; preds = %203
  %219 = icmp ugt i8* %212, %207
  br i1 %219, label %220, label %224

; <label>:220:                                    ; preds = %218
  %221 = ptrtoint i8* %212 to i32
  %222 = ptrtoint i8* %207 to i32
  %223 = sub i32 %221, %222
  br label %224

; <label>:224:                                    ; preds = %220, %218, %203
  %225 = phi i32 [ %223, %220 ], [ %176, %203 ], [ 0, %218 ]
  %226 = add i32 %174, 1
  %227 = getelementptr inbounds i8, i8* %212, i32 %176
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %227, i8* %212, i32 %226, i32 1, i1 false) #14, !noalias !1138
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %212, i8* %207, i32 %225, i32 1, i1 false) #14, !noalias !1138
  %228 = sub i32 %176, %225
  %229 = getelementptr inbounds i8, i8* %213, i32 %225
  %230 = getelementptr inbounds i8, i8* %212, i32 %225
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %230, i8* %229, i32 %228, i32 1, i1 false) #14, !noalias !1138
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %101, i8* nonnull %102, i32 24, i32 4, i1 false) #14
  br label %231

; <label>:231:                                    ; preds = %224, %200
  %232 = phi %"class.std::basic_string"* [ %16, %224 ], [ %201, %200 ]
  %233 = phi i8* [ %102, %224 ], [ %202, %200 ]
  %234 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %232, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %234, align 4, !tbaa !83, !noalias !1138
  %235 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %232, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %235, align 4, !tbaa !81, !noalias !1138
  store i8 0, i8* %233, align 1, !tbaa !12, !noalias !1138
  %236 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %236) #14, !noalias !1141
  %237 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 1
  %238 = load i32, i32* %237, align 4, !tbaa !83, !noalias !1141
  %239 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 2
  %240 = load i32, i32* %239, align 4, !tbaa !81, !noalias !1141
  %241 = icmp ult i32 %238, %240
  br i1 %241, label %242, label %250

; <label>:242:                                    ; preds = %231
  %243 = add i32 %238, 1
  store i32 %243, i32* %237, align 4, !tbaa !83, !noalias !1141
  %244 = icmp ugt i32 %240, 15
  %245 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %246 = load i8*, i8** %245, align 4, !noalias !1141
  %247 = select i1 %244, i8* %246, i8* %101
  %248 = getelementptr inbounds i8, i8* %247, i32 %238
  store i8 44, i8* %248, align 1, !tbaa !12, !noalias !1141
  %249 = getelementptr inbounds i8, i8* %247, i32 %243
  store i8 0, i8* %249, align 1, !tbaa !12, !noalias !1141
  br label %252

; <label>:250:                                    ; preds = %231
  %251 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %15, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext 44) #14, !noalias !1141
  br label %252

; <label>:252:                                    ; preds = %250, %242
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %236) #14, !noalias !1141
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %100, i8* nonnull %101, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %237, align 4, !tbaa !83, !noalias !1141
  store i32 15, i32* %239, align 4, !tbaa !81, !noalias !1141
  store i8 0, i8* %101, align 4, !tbaa !12, !noalias !1141
  %253 = load i32, i32* %86, align 4, !tbaa !83, !noalias !1144
  %254 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 2
  %255 = load i32, i32* %254, align 4, !tbaa !81, !noalias !1144
  %256 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 1
  %257 = load i32, i32* %256, align 4, !tbaa !83, !noalias !1144
  %258 = sub i32 %255, %257
  %259 = icmp ugt i32 %253, %258
  %260 = load i32, i32* %87, align 4, !tbaa !81, !noalias !1144
  %261 = xor i1 %259, true
  %262 = sub i32 %260, %253
  %263 = icmp ult i32 %262, %257
  %264 = or i1 %263, %261
  br i1 %264, label %265, label %284

; <label>:265:                                    ; preds = %252
  %266 = icmp ugt i32 %260, 15
  %267 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %268 = load i8*, i8** %267, align 4, !noalias !1144
  %269 = select i1 %266, i8* %268, i8* %72
  %270 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %270) #14, !noalias !1144
  br i1 %259, label %279, label %271

; <label>:271:                                    ; preds = %265
  %272 = add i32 %257, %253
  store i32 %272, i32* %256, align 4, !tbaa !83, !noalias !1144
  %273 = icmp ugt i32 %255, 15
  %274 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %275 = load i8*, i8** %274, align 4, !noalias !1144
  %276 = select i1 %273, i8* %275, i8* %100
  %277 = getelementptr inbounds i8, i8* %276, i32 %257
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %277, i8* %269, i32 %253, i32 1, i1 false) #14, !noalias !1144
  %278 = getelementptr inbounds i8, i8* %276, i32 %272
  store i8 0, i8* %278, align 1, !tbaa !12, !noalias !1144
  br label %281

; <label>:279:                                    ; preds = %265
  %280 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %14, i32 %253, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %269, i32 %253) #14, !noalias !1144
  br label %281

; <label>:281:                                    ; preds = %279, %271
  %282 = phi %"class.std::basic_string"* [ %14, %271 ], [ %280, %279 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %270) #14, !noalias !1144
  %283 = bitcast %"class.std::basic_string"* %282 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %71, i8* nonnull %283, i32 24, i32 1, i1 false) #14
  br label %312

; <label>:284:                                    ; preds = %252
  %285 = icmp ugt i32 %255, 15
  %286 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %287 = load i8*, i8** %286, align 4, !noalias !1144
  %288 = select i1 %285, i8* %287, i8* %100
  %289 = add i32 %257, %253
  store i32 %289, i32* %86, align 4, !tbaa !83, !noalias !1144
  %290 = icmp ugt i32 %260, 15
  %291 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %292 = load i8*, i8** %291, align 4, !noalias !1144
  %293 = select i1 %290, i8* %292, i8* %72
  %294 = getelementptr inbounds i8, i8* %288, i32 %257
  %295 = icmp ule i8* %294, %293
  %296 = getelementptr inbounds i8, i8* %293, i32 %253
  %297 = icmp ult i8* %296, %288
  %298 = or i1 %295, %297
  br i1 %298, label %305, label %299

; <label>:299:                                    ; preds = %284
  %300 = icmp ugt i8* %293, %288
  br i1 %300, label %301, label %305

; <label>:301:                                    ; preds = %299
  %302 = ptrtoint i8* %293 to i32
  %303 = ptrtoint i8* %288 to i32
  %304 = sub i32 %302, %303
  br label %305

; <label>:305:                                    ; preds = %301, %299, %284
  %306 = phi i32 [ %304, %301 ], [ %257, %284 ], [ 0, %299 ]
  %307 = add i32 %253, 1
  %308 = getelementptr inbounds i8, i8* %293, i32 %257
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %308, i8* %293, i32 %307, i32 1, i1 false) #14, !noalias !1144
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %293, i8* %288, i32 %306, i32 1, i1 false) #14, !noalias !1144
  %309 = sub i32 %257, %306
  %310 = getelementptr inbounds i8, i8* %294, i32 %306
  %311 = getelementptr inbounds i8, i8* %293, i32 %306
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %311, i8* %310, i32 %309, i32 1, i1 false) #14, !noalias !1144
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %71, i8* nonnull %72, i32 24, i32 4, i1 false) #14
  br label %312

; <label>:312:                                    ; preds = %305, %281
  %313 = phi %"class.std::basic_string"* [ %13, %305 ], [ %282, %281 ]
  %314 = phi i8* [ %72, %305 ], [ %283, %281 ]
  %315 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %313, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %315, align 4, !tbaa !83, !noalias !1144
  %316 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %313, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %316, align 4, !tbaa !81, !noalias !1144
  store i8 0, i8* %314, align 1, !tbaa !12, !noalias !1144
  %317 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %317) #14, !noalias !1147
  %318 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 1
  %319 = load i32, i32* %318, align 4, !tbaa !83, !noalias !1147
  %320 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 2
  %321 = load i32, i32* %320, align 4, !tbaa !81, !noalias !1147
  %322 = icmp ult i32 %319, %321
  br i1 %322, label %323, label %331

; <label>:323:                                    ; preds = %312
  %324 = add i32 %319, 1
  store i32 %324, i32* %318, align 4, !tbaa !83, !noalias !1147
  %325 = icmp ugt i32 %321, 15
  %326 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %327 = load i8*, i8** %326, align 4, !noalias !1147
  %328 = select i1 %325, i8* %327, i8* %71
  %329 = getelementptr inbounds i8, i8* %328, i32 %319
  store i8 41, i8* %329, align 1, !tbaa !12, !noalias !1147
  %330 = getelementptr inbounds i8, i8* %328, i32 %324
  store i8 0, i8* %330, align 1, !tbaa !12, !noalias !1147
  br label %333

; <label>:331:                                    ; preds = %312
  %332 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %12, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 41) #14, !noalias !1147
  br label %333

; <label>:333:                                    ; preds = %331, %323
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %317) #14, !noalias !1147
  %334 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %334, i8* nonnull %71, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %318, align 4, !tbaa !83
  store i32 15, i32* %320, align 4, !tbaa !81
  store i8 0, i8* %71, align 4, !tbaa !12
  %335 = load i32, i32* %254, align 4, !tbaa !81
  %336 = icmp ugt i32 %335, 15
  br i1 %336, label %337, label %362

; <label>:337:                                    ; preds = %333
  %338 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %339 = load i8*, i8** %338, align 4, !tbaa !12
  %340 = add i32 %335, 1
  %341 = icmp ugt i32 %340, 4095
  br i1 %341, label %342, label %359

; <label>:342:                                    ; preds = %337
  %343 = add i32 %335, 36
  %344 = icmp ugt i32 %340, -36
  br i1 %344, label %358, label %345

; <label>:345:                                    ; preds = %342
  %346 = ptrtoint i8* %339 to i32
  %347 = and i32 %346, 31
  %348 = icmp eq i32 %347, 0
  br i1 %348, label %349, label %358

; <label>:349:                                    ; preds = %345
  %350 = add i32 %346, -4
  %351 = inttoptr i32 %350 to i32*
  %352 = load i32, i32* %351, align 4, !tbaa !24
  %353 = icmp ult i32 %352, %346
  br i1 %353, label %354, label %358

; <label>:354:                                    ; preds = %349
  %355 = sub i32 %350, %352
  %356 = icmp ugt i32 %355, 31
  %357 = inttoptr i32 %352 to i8*
  br i1 %356, label %358, label %359

; <label>:358:                                    ; preds = %354, %349, %345, %342
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:359:                                    ; preds = %354, %337
  %360 = phi i8* [ %357, %354 ], [ %339, %337 ]
  %361 = phi i32 [ %343, %354 ], [ %340, %337 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %360, i32 %361) #14
  br label %362

; <label>:362:                                    ; preds = %359, %333
  store i32 0, i32* %256, align 4, !tbaa !83
  store i32 15, i32* %254, align 4, !tbaa !81
  store i8 0, i8* %100, align 4, !tbaa !12
  %363 = load i32, i32* %239, align 4, !tbaa !81
  %364 = icmp ugt i32 %363, 15
  br i1 %364, label %365, label %390

; <label>:365:                                    ; preds = %362
  %366 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %367 = load i8*, i8** %366, align 4, !tbaa !12
  %368 = add i32 %363, 1
  %369 = icmp ugt i32 %368, 4095
  br i1 %369, label %370, label %387

; <label>:370:                                    ; preds = %365
  %371 = add i32 %363, 36
  %372 = icmp ugt i32 %368, -36
  br i1 %372, label %386, label %373

; <label>:373:                                    ; preds = %370
  %374 = ptrtoint i8* %367 to i32
  %375 = and i32 %374, 31
  %376 = icmp eq i32 %375, 0
  br i1 %376, label %377, label %386

; <label>:377:                                    ; preds = %373
  %378 = add i32 %374, -4
  %379 = inttoptr i32 %378 to i32*
  %380 = load i32, i32* %379, align 4, !tbaa !24
  %381 = icmp ult i32 %380, %374
  br i1 %381, label %382, label %386

; <label>:382:                                    ; preds = %377
  %383 = sub i32 %378, %380
  %384 = icmp ugt i32 %383, 31
  %385 = inttoptr i32 %380 to i8*
  br i1 %384, label %386, label %387

; <label>:386:                                    ; preds = %382, %377, %373, %370
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:387:                                    ; preds = %382, %365
  %388 = phi i8* [ %385, %382 ], [ %367, %365 ]
  %389 = phi i32 [ %371, %382 ], [ %368, %365 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %388, i32 %389) #14
  br label %390

; <label>:390:                                    ; preds = %387, %362
  store i32 0, i32* %237, align 4, !tbaa !83
  store i32 15, i32* %239, align 4, !tbaa !81
  store i8 0, i8* %101, align 4, !tbaa !12
  %391 = load i32, i32* %130, align 4, !tbaa !81
  %392 = icmp ugt i32 %391, 15
  br i1 %392, label %393, label %418

; <label>:393:                                    ; preds = %390
  %394 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %395 = load i8*, i8** %394, align 4, !tbaa !12
  %396 = add i32 %391, 1
  %397 = icmp ugt i32 %396, 4095
  br i1 %397, label %398, label %415

; <label>:398:                                    ; preds = %393
  %399 = add i32 %391, 36
  %400 = icmp ugt i32 %396, -36
  br i1 %400, label %414, label %401

; <label>:401:                                    ; preds = %398
  %402 = ptrtoint i8* %395 to i32
  %403 = and i32 %402, 31
  %404 = icmp eq i32 %403, 0
  br i1 %404, label %405, label %414

; <label>:405:                                    ; preds = %401
  %406 = add i32 %402, -4
  %407 = inttoptr i32 %406 to i32*
  %408 = load i32, i32* %407, align 4, !tbaa !24
  %409 = icmp ult i32 %408, %402
  br i1 %409, label %410, label %414

; <label>:410:                                    ; preds = %405
  %411 = sub i32 %406, %408
  %412 = icmp ugt i32 %411, 31
  %413 = inttoptr i32 %408 to i8*
  br i1 %412, label %414, label %415

; <label>:414:                                    ; preds = %410, %405, %401, %398
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:415:                                    ; preds = %410, %393
  %416 = phi i8* [ %413, %410 ], [ %395, %393 ]
  %417 = phi i32 [ %399, %410 ], [ %396, %393 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %416, i32 %417) #14
  br label %418

; <label>:418:                                    ; preds = %415, %390
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %128) #14
  %419 = load i32, i32* %115, align 4, !tbaa !81
  %420 = icmp ugt i32 %419, 15
  br i1 %420, label %421, label %446

; <label>:421:                                    ; preds = %418
  %422 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %423 = load i8*, i8** %422, align 4, !tbaa !12
  %424 = add i32 %419, 1
  %425 = icmp ugt i32 %424, 4095
  br i1 %425, label %426, label %443

; <label>:426:                                    ; preds = %421
  %427 = add i32 %419, 36
  %428 = icmp ugt i32 %424, -36
  br i1 %428, label %442, label %429

; <label>:429:                                    ; preds = %426
  %430 = ptrtoint i8* %423 to i32
  %431 = and i32 %430, 31
  %432 = icmp eq i32 %431, 0
  br i1 %432, label %433, label %442

; <label>:433:                                    ; preds = %429
  %434 = add i32 %430, -4
  %435 = inttoptr i32 %434 to i32*
  %436 = load i32, i32* %435, align 4, !tbaa !24
  %437 = icmp ult i32 %436, %430
  br i1 %437, label %438, label %442

; <label>:438:                                    ; preds = %433
  %439 = sub i32 %434, %436
  %440 = icmp ugt i32 %439, 31
  %441 = inttoptr i32 %436 to i8*
  br i1 %440, label %442, label %443

; <label>:442:                                    ; preds = %438, %433, %429, %426
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:443:                                    ; preds = %438, %421
  %444 = phi i8* [ %441, %438 ], [ %423, %421 ]
  %445 = phi i32 [ %427, %438 ], [ %424, %421 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %444, i32 %445) #14
  br label %446

; <label>:446:                                    ; preds = %443, %418
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %102) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %101) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %100) #14
  %447 = load i32, i32* %87, align 4, !tbaa !81
  %448 = icmp ugt i32 %447, 15
  br i1 %448, label %449, label %474

; <label>:449:                                    ; preds = %446
  %450 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %451 = load i8*, i8** %450, align 4, !tbaa !12
  %452 = add i32 %447, 1
  %453 = icmp ugt i32 %452, 4095
  br i1 %453, label %454, label %471

; <label>:454:                                    ; preds = %449
  %455 = add i32 %447, 36
  %456 = icmp ugt i32 %452, -36
  br i1 %456, label %470, label %457

; <label>:457:                                    ; preds = %454
  %458 = ptrtoint i8* %451 to i32
  %459 = and i32 %458, 31
  %460 = icmp eq i32 %459, 0
  br i1 %460, label %461, label %470

; <label>:461:                                    ; preds = %457
  %462 = add i32 %458, -4
  %463 = inttoptr i32 %462 to i32*
  %464 = load i32, i32* %463, align 4, !tbaa !24
  %465 = icmp ult i32 %464, %458
  br i1 %465, label %466, label %470

; <label>:466:                                    ; preds = %461
  %467 = sub i32 %462, %464
  %468 = icmp ugt i32 %467, 31
  %469 = inttoptr i32 %464 to i8*
  br i1 %468, label %470, label %471

; <label>:470:                                    ; preds = %466, %461, %457, %454
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:471:                                    ; preds = %466, %449
  %472 = phi i8* [ %469, %466 ], [ %451, %449 ]
  %473 = phi i32 [ %455, %466 ], [ %452, %449 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %472, i32 %473) #14
  br label %474

; <label>:474:                                    ; preds = %471, %446
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %72) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %71) #14
  ret void

; <label>:475:                                    ; preds = %475, %51
  %476 = phi i32 [ %486, %475 ], [ 0, %51 ]
  %477 = phi i32 [ %485, %475 ], [ 1, %51 ]
  %478 = phi i32 [ %484, %475 ], [ 1, %51 ]
  %479 = getelementptr inbounds i8, i8* %47, i32 %476
  %480 = load i8, i8* %479, align 1, !tbaa !12
  %481 = icmp eq i8 %480, 10
  %482 = add i32 %477, 1
  %483 = zext i1 %481 to i32
  %484 = add i32 %478, %483
  %485 = select i1 %481, i32 1, i32 %482
  %486 = add nuw i32 %476, 1
  %487 = icmp eq i32 %486, %42
  br i1 %487, label %68, label %475
}

; Function Attrs: nounwind
define void @"\01?extractDir@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"(%"class.std::basic_string"* noalias sret, %"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !83
  %6 = icmp eq i32 %5, 0
  br i1 %6, label %7, label %13

; <label>:7:                                      ; preds = %2
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !81
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %11 = load i8*, i8** %10, align 4
  %12 = bitcast %"class.std::basic_string"* %1 to i8*
  br label %28

; <label>:13:                                     ; preds = %2
  %14 = bitcast %"class.std::basic_string"* %1 to i8*
  %15 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %16 = load i32, i32* %15, align 4, !tbaa !81
  %17 = icmp ugt i32 %16, 15
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %19 = load i8*, i8** %18, align 4
  %20 = select i1 %17, i8* %19, i8* %14
  br label %23

; <label>:21:                                     ; preds = %23
  %22 = icmp eq i32 %25, 0
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %21, %13
  %24 = phi i32 [ %5, %13 ], [ %25, %21 ]
  %25 = add i32 %24, -1
  %26 = getelementptr inbounds i8, i8* %20, i32 %25
  %27 = load i8, i8* %26, align 1, !tbaa !12
  switch i8 %27, label %21 [
    i8 92, label %28
    i8 47, label %28
  ]

; <label>:28:                                     ; preds = %23, %23, %21, %7
  %29 = phi i8* [ %12, %7 ], [ %14, %23 ], [ %14, %23 ], [ %14, %21 ]
  %30 = phi i8* [ %11, %7 ], [ %19, %23 ], [ %19, %23 ], [ %19, %21 ]
  %31 = phi i32 [ %9, %7 ], [ %16, %23 ], [ %16, %23 ], [ %16, %21 ]
  %32 = phi i32 [ 0, %7 ], [ 0, %21 ], [ %24, %23 ], [ %24, %23 ]
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %35 = bitcast i32* %33 to i64*
  store i64 0, i64* %35, align 4
  store i32 15, i32* %34, align 4, !tbaa !81
  %36 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %36, align 4, !tbaa !12
  %37 = icmp ult i32 %5, %32
  %38 = select i1 %37, i32 %5, i32 %32
  %39 = icmp ugt i32 %31, 15
  %40 = select i1 %39, i8* %30, i8* %29
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %42 = icmp ugt i32 %38, 15
  br i1 %42, label %45, label %43

; <label>:43:                                     ; preds = %28
  store i32 %38, i32* %33, align 4, !tbaa !83
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %36, i8* %40, i32 %38, i32 1, i1 false) #14
  %44 = getelementptr inbounds i8, i8* %36, i32 %38
  store i8 0, i8* %44, align 1, !tbaa !12
  br label %47

; <label>:45:                                     ; preds = %28
  %46 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %38, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %40) #14
  br label %47

; <label>:47:                                     ; preds = %45, %43
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  ret void
}

; Function Attrs: nounwind
define void @"\01?extractFileName@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"(%"class.std::basic_string"* noalias sret, %"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !83
  %6 = icmp eq i32 %5, 0
  br i1 %6, label %22, label %7

; <label>:7:                                      ; preds = %2
  %8 = bitcast %"class.std::basic_string"* %1 to i8*
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %10 = load i32, i32* %9, align 4, !tbaa !81
  %11 = icmp ugt i32 %10, 15
  %12 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %13 = load i8*, i8** %12, align 4
  %14 = select i1 %11, i8* %13, i8* %8
  br label %17

; <label>:15:                                     ; preds = %17
  %16 = icmp eq i32 %19, 0
  br i1 %16, label %22, label %17

; <label>:17:                                     ; preds = %15, %7
  %18 = phi i32 [ %5, %7 ], [ %19, %15 ]
  %19 = add i32 %18, -1
  %20 = getelementptr inbounds i8, i8* %14, i32 %19
  %21 = load i8, i8* %20, align 1, !tbaa !12
  switch i8 %21, label %15 [
    i8 92, label %22
    i8 47, label %22
  ]

; <label>:22:                                     ; preds = %17, %17, %15, %2
  %23 = phi i32 [ 0, %2 ], [ %18, %17 ], [ 0, %15 ], [ %18, %17 ]
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %25 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %26 = bitcast i32* %24 to i64*
  store i64 0, i64* %26, align 4
  store i32 15, i32* %25, align 4, !tbaa !81
  %27 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %27, align 4, !tbaa !12
  %28 = icmp ult i32 %5, %23
  br i1 %28, label %29, label %30

; <label>:29:                                     ; preds = %22
  tail call void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() #12
  unreachable

; <label>:30:                                     ; preds = %22
  %31 = sub i32 %5, %23
  %32 = bitcast %"class.std::basic_string"* %1 to i8*
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %34 = load i32, i32* %33, align 4, !tbaa !81
  %35 = icmp ugt i32 %34, 15
  %36 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %37 = load i8*, i8** %36, align 4
  %38 = select i1 %35, i8* %37, i8* %32
  %39 = getelementptr inbounds i8, i8* %38, i32 %23
  %40 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %40) #14
  %41 = icmp ugt i32 %31, 15
  br i1 %41, label %44, label %42

; <label>:42:                                     ; preds = %30
  store i32 %31, i32* %24, align 4, !tbaa !83
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %27, i8* %39, i32 %31, i32 1, i1 false) #14
  %43 = getelementptr inbounds i8, i8* %27, i32 %31
  store i8 0, i8* %43, align 1, !tbaa !12
  br label %46

; <label>:44:                                     ; preds = %30
  %45 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %0, i32 %31, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %39) #14
  br label %46

; <label>:46:                                     ; preds = %44, %42
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %40) #14
  ret void
}

; Function Attrs: norecurse nounwind readnone
define i32 @"\01?roundUp@@YAII@Z"(i32) local_unnamed_addr #11 {
  %2 = add i32 %0, -1
  %3 = lshr i32 %2, 1
  %4 = or i32 %3, %2
  %5 = lshr i32 %4, 2
  %6 = or i32 %5, %4
  %7 = lshr i32 %6, 4
  %8 = or i32 %7, %6
  %9 = lshr i32 %8, 8
  %10 = or i32 %9, %8
  %11 = lshr i32 %10, 16
  %12 = or i32 %11, %10
  %13 = add i32 %12, 1
  ret i32 %13
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isInt@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -1
  %5 = icmp ult i32 %4, 4
  ret i1 %5
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isNat@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -6
  %5 = icmp ult i32 %4, 4
  ret i1 %5
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isAnyInt@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -1
  %5 = icmp ult i32 %4, 9
  br i1 %5, label %6, label %11

; <label>:6:                                      ; preds = %1
  %7 = trunc i32 %4 to i9
  %8 = lshr i9 -17, %7
  %9 = and i9 %8, 1
  %10 = icmp ne i9 %9, 0
  ret i1 %10

; <label>:11:                                     ; preds = %1
  ret i1 false
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isReal@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -11
  %5 = icmp ult i32 %4, 2
  ret i1 %5
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isNumber@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -1
  %5 = icmp ult i32 %4, 12
  br i1 %5, label %6, label %11

; <label>:6:                                      ; preds = %1
  %7 = trunc i32 %4 to i12
  %8 = lshr i12 -529, %7
  %9 = and i12 %8, 1
  %10 = icmp ne i12 %9, 0
  ret i1 %10

; <label>:11:                                     ; preds = %1
  ret i1 false
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isAnyText@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !535
  %4 = add i32 %3, -13
  %5 = icmp ult i32 %4, 2
  ret i1 %5
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?hasField@@YA_NABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nocapture readonly dereferenceable(12), %"struct.std::pair.23"* readnone dereferenceable(48)) local_unnamed_addr #10 {
  %3 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = load %struct.Field*, %struct.Field** %3, align 4, !tbaa !23, !noalias !1150
  %5 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %6 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23, !noalias !1153
  %7 = icmp eq %struct.Field* %6, %4
  br i1 %7, label %17, label %8

; <label>:8:                                      ; preds = %2
  br label %11

; <label>:9:                                      ; preds = %11
  %10 = icmp eq %struct.Field* %16, %4
  br i1 %10, label %17, label %11

; <label>:11:                                     ; preds = %9, %8
  %12 = phi %struct.Field* [ %16, %9 ], [ %6, %8 ]
  %13 = getelementptr %struct.Field, %struct.Field* %12, i32 0, i32 0
  %14 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %13, align 8, !tbaa !561
  %15 = icmp eq %"struct.std::pair.23"* %14, %1
  %16 = getelementptr inbounds %struct.Field, %struct.Field* %12, i32 1
  br i1 %15, label %17, label %9

; <label>:17:                                     ; preds = %11, %9, %2
  %18 = phi i1 [ false, %2 ], [ true, %11 ], [ false, %9 ]
  ret i1 %18
}

; Function Attrs: nounwind readonly
define i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nocapture readonly dereferenceable(12), %"struct.std::pair.23"* readnone dereferenceable(48)) local_unnamed_addr #19 {
  %3 = bitcast %"class.std::vector.17"* %0 to i32*
  %4 = load i32, i32* %3, align 4, !tbaa !23, !noalias !1156
  %5 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = bitcast %struct.Field** %5 to i32*
  %7 = load i32, i32* %6, align 4, !tbaa !23, !noalias !1161
  %8 = inttoptr i32 %4 to %struct.Field*
  %9 = inttoptr i32 %7 to %struct.Field*
  %10 = icmp eq %struct.Field* %8, %9
  br i1 %10, label %22, label %11

; <label>:11:                                     ; preds = %2
  br label %12

; <label>:12:                                     ; preds = %19, %11
  %13 = phi i32 [ %21, %19 ], [ %7, %11 ]
  %14 = phi %struct.Field* [ %15, %19 ], [ %9, %11 ]
  %15 = getelementptr inbounds %struct.Field, %struct.Field* %14, i32 -1
  %16 = getelementptr %struct.Field, %struct.Field* %15, i32 0, i32 0
  %17 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %16, align 8, !tbaa !561, !noalias !1166
  %18 = icmp eq %"struct.std::pair.23"* %17, %1
  br i1 %18, label %22, label %19

; <label>:19:                                     ; preds = %12
  %20 = icmp eq %struct.Field* %15, %8
  %21 = ptrtoint %struct.Field* %15 to i32
  br i1 %20, label %22, label %12

; <label>:22:                                     ; preds = %19, %12, %2
  %23 = phi i32 [ %7, %2 ], [ %13, %12 ], [ %21, %19 ]
  %24 = inttoptr i32 %23 to %struct.Field*
  %25 = icmp eq %struct.Field* %24, %8
  %26 = getelementptr inbounds %struct.Field, %struct.Field* %24, i32 -1
  %27 = ptrtoint %struct.Field* %26 to i32
  %28 = select i1 %25, i32 %7, i32 %27
  %29 = sub i32 %28, %4
  %30 = sdiv exact i32 %29, 24
  ret i32 %30
}

; Function Attrs: norecurse nounwind readonly
define zeroext i1 @"\01?isList@@YA_NABUCombined@@@Z"(%struct.Combined* nocapture readonly dereferenceable(28)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %3 = load %struct.Field*, %struct.Field** %2, align 4, !tbaa !23, !noalias !1171
  %4 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %5 = load %struct.Field*, %struct.Field** %4, align 4, !tbaa !23, !noalias !1174
  %6 = icmp eq %struct.Field* %5, %3
  br i1 %6, label %17, label %7

; <label>:7:                                      ; preds = %1
  %8 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  br label %11

; <label>:9:                                      ; preds = %11
  %10 = icmp eq %struct.Field* %16, %3
  br i1 %10, label %17, label %11

; <label>:11:                                     ; preds = %9, %7
  %12 = phi %struct.Field* [ %5, %7 ], [ %16, %9 ]
  %13 = getelementptr %struct.Field, %struct.Field* %12, i32 0, i32 0
  %14 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %13, align 8, !tbaa !561
  %15 = icmp eq %"struct.std::pair.23"* %8, %14
  %16 = getelementptr inbounds %struct.Field, %struct.Field* %12, i32 1
  br i1 %15, label %9, label %17

; <label>:17:                                     ; preds = %11, %9, %1
  %18 = phi i1 [ true, %1 ], [ false, %11 ], [ true, %9 ]
  ret i1 %18
}

; Function Attrs: nounwind readonly
define zeroext i1 @"\01?isSame@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@0@Z"(%class.variant.43* nocapture readonly dereferenceable(16), %class.variant.43* nocapture readonly dereferenceable(16)) local_unnamed_addr #19 {
  %3 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !535
  %5 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %6 = load i32, i32* %5, align 8, !tbaa !535
  %7 = icmp eq i32 %4, %6
  br i1 %7, label %8, label %52

; <label>:8:                                      ; preds = %2
  %9 = icmp eq i32 %4, 17
  br i1 %9, label %10, label %60

; <label>:10:                                     ; preds = %8
  %11 = bitcast %class.variant.43* %1 to %struct.Combined**
  %12 = load %struct.Combined*, %struct.Combined** %11, align 4, !tbaa !23
  %13 = bitcast %class.variant.43* %0 to %struct.Combined**
  %14 = load %struct.Combined*, %struct.Combined** %13, align 4, !tbaa !23
  %15 = getelementptr inbounds %struct.Combined, %struct.Combined* %12, i32 0, i32 4
  %16 = getelementptr inbounds %struct.Combined, %struct.Combined* %12, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %17 = bitcast %struct.Field** %16 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23, !noalias !1177
  %19 = bitcast %"class.std::vector.17"* %15 to i32*
  %20 = load i32, i32* %19, align 4, !tbaa !23, !noalias !1180
  %21 = getelementptr inbounds %struct.Combined, %struct.Combined* %14, i32 0, i32 4
  %22 = getelementptr inbounds %struct.Combined, %struct.Combined* %14, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %23 = bitcast %struct.Field** %22 to i32*
  %24 = load i32, i32* %23, align 4, !tbaa !23, !noalias !1183
  %25 = bitcast %"class.std::vector.17"* %21 to i32*
  %26 = load i32, i32* %25, align 4, !tbaa !23, !noalias !1186
  %27 = inttoptr i32 %24 to %struct.Field*
  %28 = sub i32 %24, %26
  %29 = sub i32 %18, %20
  %30 = icmp eq i32 %28, %29
  br i1 %30, label %31, label %56

; <label>:31:                                     ; preds = %10
  %32 = inttoptr i32 %26 to %struct.Field*
  %33 = icmp eq %struct.Field* %32, %27
  br i1 %33, label %60, label %34

; <label>:34:                                     ; preds = %31
  %35 = inttoptr i32 %20 to %struct.Field*
  br label %36

; <label>:36:                                     ; preds = %48, %34
  %37 = phi %struct.Field* [ %32, %34 ], [ %49, %48 ]
  %38 = phi %struct.Field* [ %35, %34 ], [ %50, %48 ]
  %39 = getelementptr inbounds %struct.Field, %struct.Field* %38, i32 0, i32 0
  %40 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %39, align 8, !tbaa !561
  %41 = getelementptr inbounds %struct.Field, %struct.Field* %37, i32 0, i32 0
  %42 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %41, align 8, !tbaa !561
  %43 = icmp eq %"struct.std::pair.23"* %40, %42
  br i1 %43, label %44, label %52

; <label>:44:                                     ; preds = %36
  %45 = getelementptr inbounds %struct.Field, %struct.Field* %38, i32 0, i32 1
  %46 = getelementptr inbounds %struct.Field, %struct.Field* %37, i32 0, i32 1
  %47 = tail call zeroext i1 @"\01?isSame@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@0@Z"(%class.variant.43* dereferenceable(16) %46, %class.variant.43* dereferenceable(16) %45) #14
  br i1 %47, label %48, label %52

; <label>:48:                                     ; preds = %44
  %49 = getelementptr inbounds %struct.Field, %struct.Field* %37, i32 1
  %50 = getelementptr inbounds %struct.Field, %struct.Field* %38, i32 1
  %51 = icmp eq %struct.Field* %49, %27
  br i1 %51, label %60, label %36

; <label>:52:                                     ; preds = %44, %36, %2
  %53 = icmp eq i32 %4, 14
  %54 = icmp eq i32 %6, 13
  %55 = and i1 %53, %54
  br i1 %55, label %60, label %56

; <label>:56:                                     ; preds = %52, %10
  %57 = icmp eq i32 %6, 14
  %58 = icmp eq i32 %4, 13
  %59 = and i1 %58, %57
  ret i1 %59

; <label>:60:                                     ; preds = %52, %48, %31, %8
  ret i1 true
}

; Function Attrs: nounwind readonly
define zeroext i1 @"\01?isSame@@YA_NABUCombined@@0@Z"(%struct.Combined* nocapture readonly dereferenceable(28), %struct.Combined* nocapture readonly dereferenceable(28)) local_unnamed_addr #19 {
  %3 = getelementptr inbounds %struct.Combined, %struct.Combined* %1, i32 0, i32 4
  %4 = getelementptr inbounds %struct.Combined, %struct.Combined* %1, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %struct.Field** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23, !noalias !1189
  %7 = bitcast %"class.std::vector.17"* %3 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23, !noalias !1192
  %9 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4
  %10 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %11 = bitcast %struct.Field** %10 to i32*
  %12 = load i32, i32* %11, align 4, !tbaa !23, !noalias !1195
  %13 = bitcast %"class.std::vector.17"* %9 to i32*
  %14 = load i32, i32* %13, align 4, !tbaa !23, !noalias !1198
  %15 = inttoptr i32 %12 to %struct.Field*
  %16 = sub i32 %12, %14
  %17 = sub i32 %6, %8
  %18 = icmp eq i32 %16, %17
  br i1 %18, label %19, label %40

; <label>:19:                                     ; preds = %2
  %20 = inttoptr i32 %14 to %struct.Field*
  %21 = icmp eq %struct.Field* %20, %15
  br i1 %21, label %40, label %22

; <label>:22:                                     ; preds = %19
  %23 = inttoptr i32 %8 to %struct.Field*
  br label %24

; <label>:24:                                     ; preds = %36, %22
  %25 = phi %struct.Field* [ %20, %22 ], [ %37, %36 ]
  %26 = phi %struct.Field* [ %23, %22 ], [ %38, %36 ]
  %27 = getelementptr inbounds %struct.Field, %struct.Field* %26, i32 0, i32 0
  %28 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %27, align 8, !tbaa !561
  %29 = getelementptr inbounds %struct.Field, %struct.Field* %25, i32 0, i32 0
  %30 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %29, align 8, !tbaa !561
  %31 = icmp eq %"struct.std::pair.23"* %28, %30
  br i1 %31, label %32, label %40

; <label>:32:                                     ; preds = %24
  %33 = getelementptr inbounds %struct.Field, %struct.Field* %26, i32 0, i32 1
  %34 = getelementptr inbounds %struct.Field, %struct.Field* %25, i32 0, i32 1
  %35 = tail call zeroext i1 @"\01?isSame@@YA_NABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@0@Z"(%class.variant.43* dereferenceable(16) %34, %class.variant.43* dereferenceable(16) %33) #14
  br i1 %35, label %36, label %40

; <label>:36:                                     ; preds = %32
  %37 = getelementptr inbounds %struct.Field, %struct.Field* %25, i32 1
  %38 = getelementptr inbounds %struct.Field, %struct.Field* %26, i32 1
  %39 = icmp eq %struct.Field* %37, %15
  br i1 %39, label %40, label %24

; <label>:40:                                     ; preds = %36, %32, %24, %19, %2
  %41 = phi i1 [ false, %2 ], [ true, %19 ], [ true, %36 ], [ false, %32 ], [ false, %24 ]
  ret i1 %41
}

; Function Attrs: nounwind
define dereferenceable(48) %"struct.std::pair.23"* @"\01?sourceText@@YAAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::pair.148", align 4
  %3 = alloca i8*, align 4
  %4 = bitcast %"struct.std::pair.148"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %4) #14
  %5 = bitcast i8** %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #14
  store i8* null, i8** %3, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %2, %"class.std::basic_string"* nonnull dereferenceable(24) %0, i8** nonnull dereferenceable(4) %3)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #14
  %6 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %2, i32 0, i32 1
  %7 = load i8, i8* %6, align 4, !tbaa !1203, !range !382
  %8 = icmp eq i8 %7, 0
  br i1 %8, label %9, label %14

; <label>:9:                                      ; preds = %1
  %10 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %2, i32 0, i32 0, i32 0, i32 0, i32 0
  %11 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %10, align 4, !tbaa !833
  %12 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %11, i32 0, i32 2, i32 1
  %13 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %12, align 4, !tbaa !1206
  br label %25

; <label>:14:                                     ; preds = %1
  %15 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  %16 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %15, i8* nonnull %16, i32 24, i32 1, i1 false) #14
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %17, align 4, !tbaa !83
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %18, align 4, !tbaa !81
  store i8 0, i8* %16, align 1, !tbaa !12
  %19 = getelementptr inbounds i8, i8* %15, i32 24
  call void @llvm.memset.p0i8.i64(i8* %19, i8 0, i64 24, i32 4, i1 false) #14
  %20 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %2, i32 0, i32 0, i32 0, i32 0, i32 0
  %21 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %20, align 4, !tbaa !833
  %22 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %21, i32 0, i32 2, i32 1
  %23 = bitcast %"struct.std::pair.23"** %22 to i8**
  store i8* %15, i8** %23, align 4, !tbaa !1206
  %24 = bitcast i8* %15 to %"struct.std::pair.23"*
  br label %25

; <label>:25:                                     ; preds = %14, %9
  %26 = phi %"struct.std::pair.23"* [ %13, %9 ], [ %24, %14 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %4) #14
  ret %"struct.std::pair.23"* %26
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"*, %"struct.std::pair.148"* noalias sret, %"class.std::basic_string"* dereferenceable(24), i8** dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1
  %6 = bitcast %"class.std::list.65"* %5 to %"struct.std::_List_node.72"***
  %7 = load %"struct.std::_List_node.72"**, %"struct.std::_List_node.72"*** %6, align 4, !tbaa !23, !noalias !1207
  %8 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %7, align 4, !tbaa !904, !noalias !1207
  %9 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %8, i32 0, i32 1
  %10 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %9, align 4, !tbaa !907
  %11 = ptrtoint %"struct.std::_List_node.72"* %10 to i32
  %12 = ptrtoint %"struct.std::_List_node.72"* %8 to i32
  %13 = tail call i8* @"\01??2@YAPAXI@Z"(i32 36) #14
  %14 = icmp eq %"struct.std::_List_node.72"* %8, null
  %15 = ptrtoint i8* %13 to i32
  %16 = select i1 %14, i32 %15, i32 %11
  %17 = select i1 %14, i32 %15, i32 %12
  %18 = bitcast i8* %13 to i32*
  store i32 %17, i32* %18, align 4, !tbaa !23
  %19 = getelementptr inbounds i8, i8* %13, i32 4
  %20 = bitcast i8* %19 to i32*
  store i32 %16, i32* %20, align 4, !tbaa !23
  %21 = getelementptr inbounds i8, i8* %13, i32 8
  %22 = getelementptr inbounds i8, i8* %13, i32 24
  %23 = bitcast i8* %22 to i32*
  store i32 0, i32* %23, align 4, !tbaa !83
  %24 = getelementptr inbounds i8, i8* %13, i32 28
  %25 = bitcast i8* %24 to i32*
  store i32 0, i32* %25, align 4, !tbaa !81
  %26 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %27 = load i32, i32* %26, align 4, !tbaa !83
  %28 = bitcast %"class.std::basic_string"* %2 to i8*
  %29 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %30 = load i32, i32* %29, align 4, !tbaa !81
  %31 = icmp ugt i32 %30, 15
  %32 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %33 = load i8*, i8** %32, align 4
  %34 = select i1 %31, i8* %33, i8* %28
  %35 = icmp ult i32 %27, 16
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %4
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %21, i8* %34, i32 16, i32 1, i1 false) #14
  br label %59

; <label>:37:                                     ; preds = %4
  %38 = or i32 %27, 15
  %39 = icmp ult i32 %38, 2147483647
  %40 = select i1 %39, i32 %38, i32 2147483647
  %41 = icmp ugt i32 %40, 4094
  br i1 %41, label %42, label %51

; <label>:42:                                     ; preds = %37
  %43 = add nuw i32 %40, 36
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %43) #14
  %45 = ptrtoint i8* %44 to i32
  %46 = add i32 %45, 35
  %47 = and i32 %46, -32
  %48 = inttoptr i32 %47 to i8*
  %49 = inttoptr i32 %47 to i32*
  %50 = getelementptr inbounds i32, i32* %49, i32 -1
  store i32 %45, i32* %50, align 4, !tbaa !24
  br label %54

; <label>:51:                                     ; preds = %37
  %52 = add nuw i32 %40, 1
  %53 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %52) #14
  br label %54

; <label>:54:                                     ; preds = %51, %42
  %55 = phi i8* [ %48, %42 ], [ %53, %51 ]
  %56 = ptrtoint i8* %55 to i32
  %57 = bitcast i8* %21 to i32*
  store i32 %56, i32* %57, align 4, !tbaa !23
  %58 = add i32 %27, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %55, i8* %34, i32 %58, i32 1, i1 false) #14
  br label %59

; <label>:59:                                     ; preds = %54, %36
  %60 = phi i32 [ %40, %54 ], [ 15, %36 ]
  store i32 %27, i32* %23, align 4, !tbaa !83
  store i32 %60, i32* %25, align 4, !tbaa !81
  %61 = getelementptr inbounds i8, i8* %13, i32 32
  %62 = bitcast i8* %61 to %"struct.std::pair.23"**
  store %"struct.std::pair.23"* null, %"struct.std::pair.23"** %62, align 4, !tbaa !1206
  %63 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %64 = load i32, i32* %63, align 4, !tbaa !24
  %65 = icmp eq i32 %64, 119304646
  br i1 %65, label %66, label %67

; <label>:66:                                     ; preds = %59
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:67:                                     ; preds = %59
  %68 = add i32 %64, 1
  store i32 %68, i32* %63, align 4, !tbaa !24
  %69 = bitcast %"struct.std::_List_node.72"** %9 to i8**
  store i8* %13, i8** %69, align 4, !tbaa !907
  %70 = bitcast %"struct.std::_List_node.72"* %10 to i8**
  store i8* %13, i8** %70, align 4, !tbaa !904
  %71 = load %"struct.std::_List_node.72"**, %"struct.std::_List_node.72"*** %6, align 4, !tbaa !23, !noalias !84
  %72 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %71, align 4, !tbaa !904, !noalias !84
  %73 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %72, i32 0, i32 2
  tail call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.63"* nonnull %0, %"struct.std::pair.148"* sret %1, %"struct.std::pair.151"* nonnull dereferenceable(28) %73, %"struct.std::_List_node.72"* %72)
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.63"*, %"struct.std::pair.148"* noalias sret, %"struct.std::pair.151"* dereferenceable(28), %"struct.std::_List_node.72"*) local_unnamed_addr #2 comdat align 2 {
  %5 = alloca %"class.std::_List_unchecked_iterator.79", align 4
  %6 = alloca %"struct.std::pair.148", align 4
  %7 = getelementptr inbounds %"struct.std::pair.151", %"struct.std::pair.151"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !83
  %9 = bitcast %"struct.std::pair.151"* %2 to i8*
  %10 = getelementptr inbounds %"struct.std::pair.151", %"struct.std::pair.151"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %11 = load i32, i32* %10, align 4, !tbaa !81
  %12 = icmp ugt i32 %11, 15
  %13 = getelementptr inbounds %"struct.std::pair.151", %"struct.std::pair.151"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %14 = load i8*, i8** %13, align 4
  %15 = select i1 %12, i8* %14, i8* %9
  %16 = icmp eq i32 %8, 0
  br i1 %16, label %28, label %17

; <label>:17:                                     ; preds = %4
  br label %18

; <label>:18:                                     ; preds = %18, %17
  %19 = phi i32 [ %26, %18 ], [ 0, %17 ]
  %20 = phi i32 [ %25, %18 ], [ -2128831035, %17 ]
  %21 = getelementptr inbounds i8, i8* %15, i32 %19
  %22 = load i8, i8* %21, align 1, !tbaa !12
  %23 = zext i8 %22 to i32
  %24 = xor i32 %20, %23
  %25 = mul i32 %24, 16777619
  %26 = add nuw i32 %19, 1
  %27 = icmp eq i32 %26, %8
  br i1 %27, label %28, label %18

; <label>:28:                                     ; preds = %18, %4
  %29 = phi i32 [ -2128831035, %4 ], [ %25, %18 ]
  %30 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 3
  %31 = load i32, i32* %30, align 4, !tbaa !835
  %32 = and i32 %31, %29
  %33 = shl i32 %32, 1
  %34 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0
  %35 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %34, align 4, !tbaa !23, !noalias !1210
  %36 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1
  %37 = bitcast %"class.std::list.65"* %36 to i32*
  %38 = load i32, i32* %37, align 4, !tbaa !23, !noalias !1213
  %39 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %35, i32 %33, i32 0, i32 0
  %40 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %39, align 4, !tbaa !833, !noalias !1210
  %41 = inttoptr i32 %38 to %"struct.std::_List_node.72"*
  %42 = icmp eq %"struct.std::_List_node.72"* %40, %41
  br i1 %42, label %49, label %43

; <label>:43:                                     ; preds = %28
  %44 = or i32 %33, 1
  %45 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %35, i32 %44
  %46 = bitcast %"class.std::_List_unchecked_iterator.79"* %45 to i32**
  %47 = load i32*, i32** %46, align 4, !noalias !1210
  %48 = load i32, i32* %47, align 4, !tbaa !904, !noalias !1210
  br label %49

; <label>:49:                                     ; preds = %43, %28
  %50 = phi i32 [ %48, %43 ], [ %38, %28 ]
  %51 = inttoptr i32 %50 to %"struct.std::_List_node.72"*
  %52 = icmp eq %"struct.std::_List_node.72"* %40, %51
  br i1 %52, label %120, label %53

; <label>:53:                                     ; preds = %49
  br label %54

; <label>:54:                                     ; preds = %118, %53
  %55 = phi %"struct.std::_List_node.72"* [ %59, %118 ], [ %51, %53 ]
  %56 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %55, i32 0, i32 1
  %57 = bitcast %"struct.std::_List_node.72"** %56 to i32*
  %58 = load i32, i32* %57, align 4, !tbaa !907
  %59 = inttoptr i32 %58 to %"struct.std::_List_node.72"*
  %60 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %59, i32 0, i32 2, i32 0
  %61 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %59, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 1
  %62 = load i32, i32* %61, align 4, !tbaa !83
  %63 = icmp eq i32 %8, %62
  br i1 %63, label %64, label %118

; <label>:64:                                     ; preds = %54
  %65 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %59, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 2
  %66 = load i32, i32* %65, align 4, !tbaa !81
  %67 = icmp ugt i32 %66, 15
  %68 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %60, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %69 = load i8*, i8** %68, align 4
  %70 = bitcast %"class.std::basic_string"* %60 to i8*
  %71 = select i1 %67, i8* %69, i8* %70
  %72 = tail call i32 @memcmp(i8* %15, i8* %71, i32 %8) #14
  %73 = icmp eq i32 %72, 0
  br i1 %73, label %74, label %118

; <label>:74:                                     ; preds = %64
  %75 = bitcast %"struct.std::_List_node.72"* %3 to i32*
  %76 = load i32, i32* %75, align 4, !tbaa !904, !noalias !1218
  %77 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 0
  %78 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 1
  %79 = bitcast %"struct.std::_List_node.72"** %78 to i32**
  %80 = load i32*, i32** %79, align 4, !tbaa !907, !noalias !1218
  store i32 %76, i32* %80, align 4, !tbaa !904, !noalias !1218
  %81 = ptrtoint i32* %80 to i32
  %82 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %77, align 4, !tbaa !904, !noalias !1218
  %83 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %82, i32 0, i32 1
  %84 = bitcast %"struct.std::_List_node.72"** %83 to i32*
  store i32 %81, i32* %84, align 4, !tbaa !907, !noalias !1218
  %85 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %86 = load i32, i32* %85, align 4, !tbaa !24, !noalias !1218
  %87 = add i32 %86, -1
  store i32 %87, i32* %85, align 4, !tbaa !24, !noalias !1218
  %88 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 2
  %89 = load i32, i32* %88, align 4, !tbaa !81, !noalias !1218
  %90 = icmp ugt i32 %89, 15
  br i1 %90, label %91, label %116

; <label>:91:                                     ; preds = %74
  %92 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %93 = load i8*, i8** %92, align 4, !tbaa !12, !noalias !1218
  %94 = add i32 %89, 1
  %95 = icmp ugt i32 %94, 4095
  br i1 %95, label %96, label %113

; <label>:96:                                     ; preds = %91
  %97 = add i32 %89, 36
  %98 = icmp ugt i32 %94, -36
  br i1 %98, label %112, label %99

; <label>:99:                                     ; preds = %96
  %100 = ptrtoint i8* %93 to i32
  %101 = and i32 %100, 31
  %102 = icmp eq i32 %101, 0
  br i1 %102, label %103, label %112

; <label>:103:                                    ; preds = %99
  %104 = add i32 %100, -4
  %105 = inttoptr i32 %104 to i32*
  %106 = load i32, i32* %105, align 4, !tbaa !24, !noalias !1218
  %107 = icmp ult i32 %106, %100
  br i1 %107, label %108, label %112

; <label>:108:                                    ; preds = %103
  %109 = sub i32 %104, %106
  %110 = icmp ugt i32 %109, 31
  %111 = inttoptr i32 %106 to i8*
  br i1 %110, label %112, label %113

; <label>:112:                                    ; preds = %108, %103, %99, %96
  tail call void @_invalid_parameter_noinfo_noreturn() #12, !noalias !1218
  unreachable

; <label>:113:                                    ; preds = %108, %91
  %114 = phi i8* [ %111, %108 ], [ %93, %91 ]
  %115 = phi i32 [ %97, %108 ], [ %94, %91 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %114, i32 %115) #14, !noalias !1218
  br label %116

; <label>:116:                                    ; preds = %113, %74
  %117 = bitcast %"struct.std::_List_node.72"* %3 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %117, i32 36) #14, !noalias !1218
  br label %233

; <label>:118:                                    ; preds = %64, %54
  %119 = icmp eq %"struct.std::_List_node.72"* %40, %59
  br i1 %119, label %120, label %54

; <label>:120:                                    ; preds = %118, %49
  %121 = ptrtoint %"struct.std::_List_node.72"* %3 to i32
  %122 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 0
  %123 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %122, align 4, !tbaa !904
  %124 = icmp eq %"struct.std::_List_node.72"* %123, %40
  br i1 %124, label %144, label %125

; <label>:125:                                    ; preds = %120
  %126 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %3, i32 0, i32 1
  %127 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %126, align 4, !tbaa !907
  %128 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %127, i32 0, i32 0
  store %"struct.std::_List_node.72"* %123, %"struct.std::_List_node.72"** %128, align 4, !tbaa !904
  %129 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %123, i32 0, i32 1
  %130 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %129, align 4, !tbaa !907
  %131 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %130, i32 0, i32 0
  store %"struct.std::_List_node.72"* %40, %"struct.std::_List_node.72"** %131, align 4, !tbaa !904
  %132 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %40, i32 0, i32 1
  %133 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %132, align 4, !tbaa !907
  %134 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %133, i32 0, i32 0
  store %"struct.std::_List_node.72"* %3, %"struct.std::_List_node.72"** %134, align 4, !tbaa !904
  %135 = bitcast %"struct.std::_List_node.72"** %132 to i32*
  %136 = ptrtoint %"struct.std::_List_node.72"* %133 to i32
  %137 = bitcast %"struct.std::_List_node.72"** %129 to i32*
  %138 = ptrtoint %"struct.std::_List_node.72"* %130 to i32
  store i32 %138, i32* %135, align 4, !tbaa !907
  %139 = bitcast %"struct.std::_List_node.72"** %126 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !907
  store i32 %140, i32* %137, align 4, !tbaa !907
  store i32 %136, i32* %139, align 4, !tbaa !907
  %141 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %34, align 4, !tbaa !23
  %142 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0
  %143 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %142, align 4, !tbaa !23, !noalias !1221
  br label %144

; <label>:144:                                    ; preds = %125, %120
  %145 = phi %"struct.std::_List_node.72"* [ %143, %125 ], [ %41, %120 ]
  %146 = phi %"class.std::_List_unchecked_iterator.79"* [ %141, %125 ], [ %35, %120 ]
  %147 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %146, i32 %33
  %148 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %147, i32 0, i32 0, i32 0
  %149 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %148, align 4, !tbaa !833
  %150 = icmp eq %"struct.std::_List_node.72"* %149, %145
  br i1 %150, label %151, label %156

; <label>:151:                                    ; preds = %144
  %152 = bitcast %"class.std::_List_unchecked_iterator.79"* %147 to i32*
  store i32 %121, i32* %152, align 4
  %153 = or i32 %33, 1
  %154 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %34, align 4, !tbaa !23
  %155 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %154, i32 %153
  br label %175

; <label>:156:                                    ; preds = %144
  %157 = icmp eq %"struct.std::_List_node.72"* %149, %40
  br i1 %157, label %175, label %158

; <label>:158:                                    ; preds = %156
  %159 = or i32 %33, 1
  %160 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %146, i32 %159
  %161 = bitcast %"class.std::_List_unchecked_iterator.79"* %160 to i32**
  %162 = load i32*, i32** %161, align 4, !tbaa !833
  %163 = load i32, i32* %162, align 4, !tbaa !904
  %164 = bitcast %"class.std::_List_unchecked_iterator.79"* %160 to i32*
  store i32 %163, i32* %164, align 4, !tbaa !833
  %165 = inttoptr i32 %163 to %"struct.std::_List_node.72"*
  %166 = icmp eq %"struct.std::_List_node.72"* %165, %3
  br i1 %166, label %179, label %167

; <label>:167:                                    ; preds = %158
  %168 = load %"class.std::_List_unchecked_iterator.79"*, %"class.std::_List_unchecked_iterator.79"** %34, align 4, !tbaa !23
  %169 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %168, i32 %159
  %170 = getelementptr inbounds %"class.std::_List_unchecked_iterator.79", %"class.std::_List_unchecked_iterator.79"* %169, i32 0, i32 0, i32 0
  %171 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %170, align 4, !tbaa !833
  %172 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %171, i32 0, i32 1
  %173 = bitcast %"struct.std::_List_node.72"** %172 to i32*
  %174 = load i32, i32* %173, align 4, !tbaa !907
  br label %175

; <label>:175:                                    ; preds = %167, %156, %151
  %176 = phi %"class.std::_List_unchecked_iterator.79"* [ %169, %167 ], [ %155, %151 ], [ %147, %156 ]
  %177 = phi i32 [ %174, %167 ], [ %121, %151 ], [ %121, %156 ]
  %178 = bitcast %"class.std::_List_unchecked_iterator.79"* %176 to i32*
  store i32 %177, i32* %178, align 4
  br label %179

; <label>:179:                                    ; preds = %175, %158
  %180 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %181 = load float, float* %180, align 4, !tbaa !70
  %182 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1
  %183 = load i32, i32* %182, align 4, !tbaa !24
  %184 = uitofp i32 %183 to float
  %185 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 4
  %186 = load i32, i32* %185, align 4, !tbaa !840
  %187 = uitofp i32 %186 to float
  %188 = fdiv float %184, %187
  %189 = fcmp olt float %181, %188
  br i1 %189, label %190, label %233

; <label>:190:                                    ; preds = %179
  %191 = icmp ult i32 %186, 512
  %192 = icmp ult i32 %186, 536870911
  %193 = zext i1 %192 to i32
  %194 = select i1 %191, i32 3, i32 %193
  %195 = shl i32 %186, %194
  %196 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 2
  %197 = shl i32 %195, 1
  %198 = getelementptr inbounds %"class.std::_Hash.63", %"class.std::_Hash.63"* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 2
  %199 = bitcast %"class.std::_List_unchecked_iterator.79"** %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !23
  %201 = bitcast %"class.std::vector.73"* %196 to i32*
  %202 = load i32, i32* %201, align 4, !tbaa !23
  %203 = sub i32 %200, %202
  %204 = ashr exact i32 %203, 2
  %205 = icmp ult i32 %204, %197
  br i1 %205, label %206, label %210

; <label>:206:                                    ; preds = %190
  %207 = icmp ugt i32 %197, 1073741823
  br i1 %207, label %208, label %209

; <label>:208:                                    ; preds = %206
  tail call void @"\01?_Xlength@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@CAXXZ"() #12
  unreachable

; <label>:209:                                    ; preds = %206
  tail call x86_thiscallcc void @"\01?_Reallocate_exactly@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@AAEXI@Z"(%"class.std::vector.73"* nonnull %196, i32 %197) #14
  br label %210

; <label>:210:                                    ; preds = %209, %190
  %211 = bitcast %"class.std::_List_unchecked_iterator.79"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %211) #14
  %212 = load i32, i32* %37, align 4, !tbaa !23, !noalias !1226
  %213 = bitcast %"class.std::_List_unchecked_iterator.79"* %5 to i32*
  store i32 %212, i32* %213, align 4, !tbaa !833, !alias.scope !1226
  call x86_thiscallcc void @"\01?assign@?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@QAEXIABV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z"(%"class.std::vector.73"* %196, i32 %197, %"class.std::_List_unchecked_iterator.79"* nonnull dereferenceable(4) %5) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %211) #14
  %214 = add i32 %195, -1
  store i32 %214, i32* %30, align 4, !tbaa !835
  store i32 %195, i32* %185, align 4, !tbaa !840
  %215 = getelementptr inbounds %"class.std::list.65", %"class.std::list.65"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %216 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %215, align 4, !tbaa !23, !noalias !84
  %217 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %216, i32 0, i32 0
  %218 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %217, align 4, !tbaa !904, !noalias !1231
  %219 = icmp eq %"struct.std::_List_node.72"* %218, %216
  br i1 %219, label %233, label %220

; <label>:220:                                    ; preds = %210
  %221 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %216, i32 0, i32 1
  %222 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %221, align 4, !tbaa !907
  %223 = bitcast %"class.std::list.65"* %36 to %"struct.std::_List_node.72"***
  %224 = bitcast %"struct.std::pair.148"* %6 to i8*
  %225 = icmp eq %"struct.std::_List_node.72"* %218, %222
  %226 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %218, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %224) #14
  call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.63"* nonnull %0, %"struct.std::pair.148"* nonnull sret %6, %"struct.std::pair.151"* nonnull dereferenceable(28) %226, %"struct.std::_List_node.72"* %218) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %224) #14
  br i1 %225, label %233, label %227

; <label>:227:                                    ; preds = %220
  br label %228

; <label>:228:                                    ; preds = %228, %227
  %229 = load %"struct.std::_List_node.72"**, %"struct.std::_List_node.72"*** %223, align 4, !tbaa !23, !noalias !1236
  %230 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %229, align 4, !tbaa !904, !noalias !1236
  %231 = icmp eq %"struct.std::_List_node.72"* %230, %222
  %232 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %230, i32 0, i32 2
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %224) #14
  call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.63"* nonnull %0, %"struct.std::pair.148"* nonnull sret %6, %"struct.std::pair.151"* nonnull dereferenceable(28) %232, %"struct.std::_List_node.72"* %230) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %224) #14
  br i1 %231, label %233, label %228

; <label>:233:                                    ; preds = %228, %220, %210, %179, %116
  %234 = phi i32 [ %58, %116 ], [ %121, %210 ], [ %121, %179 ], [ %121, %220 ], [ %121, %228 ]
  %235 = phi i8 [ 0, %116 ], [ 1, %210 ], [ 1, %179 ], [ 1, %220 ], [ 1, %228 ]
  %236 = bitcast %"struct.std::pair.148"* %1 to i32*
  store i32 %234, i32* %236, align 4
  %237 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %1, i32 0, i32 1
  store i8 %235, i8* %237, align 4, !tbaa !1203
  ret void
}

; Function Attrs: nounwind
define void @"\01?registerNames@@YAXAAV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nocapture readonly dereferenceable(12)) local_unnamed_addr #2 {
  %2 = alloca %class.variant.43*, align 4
  %3 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %4 = load %struct.Field*, %struct.Field** %3, align 4, !tbaa !23, !noalias !1241
  %5 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23, !noalias !1244
  %7 = icmp eq %struct.Field* %6, %4
  br i1 %7, label %10, label %8

; <label>:8:                                      ; preds = %1
  %9 = bitcast %class.variant.43** %2 to i8*
  br label %11

; <label>:10:                                     ; preds = %11, %1
  ret void

; <label>:11:                                     ; preds = %11, %8
  %12 = phi %struct.Field* [ %4, %8 ], [ %18, %11 ]
  %13 = getelementptr inbounds %struct.Field, %struct.Field* %12, i32 0, i32 1
  %14 = getelementptr inbounds %struct.Field, %struct.Field* %12, i32 0, i32 0
  %15 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %14, align 8, !tbaa !561
  %16 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %15, i32 0, i32 1, i32 2
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %9) #14
  store %class.variant.43* %13, %class.variant.43** %2, align 4, !tbaa !23
  %17 = call x86_thiscallcc dereferenceable(4) %class.variant.43** @"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"class.std::vector.11"* %16, %class.variant.43** nonnull dereferenceable(4) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %9) #14
  %18 = getelementptr inbounds %struct.Field, %struct.Field* %12, i32 1
  %19 = icmp eq %struct.Field* %6, %18
  br i1 %19, label %10, label %11
}

; Function Attrs: norecurse nounwind
define void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nocapture readonly dereferenceable(12)) local_unnamed_addr #0 {
  %2 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %3 = bitcast %struct.Field** %2 to i32*
  %4 = load i32, i32* %3, align 4, !tbaa !23
  %5 = bitcast %"class.std::vector.17"* %0 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = sub i32 %4, %6
  %8 = icmp eq i32 %7, 0
  br i1 %8, label %21, label %9

; <label>:9:                                      ; preds = %1
  %10 = inttoptr i32 %6 to %struct.Field*
  %11 = sdiv exact i32 %7, 24
  %12 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %13 = add nsw i32 %11, -1
  %14 = getelementptr inbounds %struct.Field, %struct.Field* %10, i32 %13, i32 0
  %15 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %14, align 8, !tbaa !561
  %16 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %15, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %17 = load %class.variant.43**, %class.variant.43*** %16, align 4, !tbaa !23
  %18 = getelementptr inbounds %class.variant.43*, %class.variant.43** %17, i32 -1
  store %class.variant.43** %18, %class.variant.43*** %16, align 4, !tbaa !23
  %19 = icmp eq i32 %13, 0
  br i1 %19, label %21, label %20

; <label>:20:                                     ; preds = %9
  br label %22

; <label>:21:                                     ; preds = %22, %9, %1
  ret void

; <label>:22:                                     ; preds = %22, %20
  %23 = phi i32 [ %25, %22 ], [ %13, %20 ]
  %24 = load %struct.Field*, %struct.Field** %12, align 4, !tbaa !23
  %25 = add i32 %23, -1
  %26 = getelementptr inbounds %struct.Field, %struct.Field* %24, i32 %25, i32 0
  %27 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %26, align 8, !tbaa !561
  %28 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %27, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %29 = load %class.variant.43**, %class.variant.43*** %28, align 4, !tbaa !23
  %30 = getelementptr inbounds %class.variant.43*, %class.variant.43** %29, i32 -1
  store %class.variant.43** %30, %class.variant.43*** %28, align 4, !tbaa !23
  %31 = icmp eq i32 %25, 0
  br i1 %31, label %21, label %22
}

; Function Attrs: nounwind
define void @"\01?releaseStack@@YAXAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@Z"(%"class.std::vector.37"* dereferenceable(12)) local_unnamed_addr #2 {
  %2 = alloca %"class.std::vector.37"*, align 4
  %3 = bitcast %"class.std::vector.37"** %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %3) #14
  store %"class.std::vector.37"* %0, %"class.std::vector.37"** %2, align 4, !tbaa !23
  %4 = call x86_thiscallcc dereferenceable(4) %"class.std::vector.37"** @"\01??$emplace_back@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@$$QAPAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@1@@Z"(%"class.std::vector.92"* nonnull @"\01?stackCache@@3V?$vector@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@V?$allocator@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@@std@@A", %"class.std::vector.37"** nonnull dereferenceable(4) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %3) #14
  ret void
}

; Function Attrs: nounwind
define void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* nocapture readonly dereferenceable(16), %class.variant.43* nocapture dereferenceable(16)) local_unnamed_addr #2 {
  %3 = getelementptr inbounds %class.variant.43, %class.variant.43* %0, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !535
  switch i32 %4, label %23 [
    i32 14, label %5
    i32 17, label %13
  ]

; <label>:5:                                      ; preds = %2
  %6 = bitcast %class.variant.43* %1 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %7 = bitcast %class.variant.43* %0 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %8 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %7, align 4, !tbaa !549
  store %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %8, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %6, align 4, !tbaa !549
  %9 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %8, i32 0, i32 0
  %10 = load i32, i32* %9, align 4, !tbaa !547
  %11 = add i32 %10, 1
  store i32 %11, i32* %9, align 4, !tbaa !547
  %12 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  store i32 14, i32* %12, align 8, !tbaa !535
  br label %26

; <label>:13:                                     ; preds = %2
  %14 = bitcast %class.variant.43* %0 to %struct.Combined**
  %15 = bitcast %class.variant.43* %0 to i32*
  %16 = load i32, i32* %15, align 4, !tbaa !23
  %17 = bitcast %class.variant.43* %1 to i32*
  store i32 %16, i32* %17, align 8, !tbaa !23
  %18 = getelementptr inbounds %class.variant.43, %class.variant.43* %1, i32 0, i32 1
  store i32 17, i32* %18, align 8, !tbaa !535
  %19 = load %struct.Combined*, %struct.Combined** %14, align 4, !tbaa !23
  %20 = getelementptr inbounds %struct.Combined, %struct.Combined* %19, i32 0, i32 0
  %21 = load i32, i32* %20, align 4, !tbaa !558
  %22 = add i32 %21, 1
  store i32 %22, i32* %20, align 4, !tbaa !558
  br label %26

; <label>:23:                                     ; preds = %2
  %24 = bitcast %class.variant.43* %1 to i8*
  %25 = bitcast %class.variant.43* %0 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %24, i8* nonnull %25, i32 16, i32 8, i1 false), !tbaa.struct !567
  br label %26

; <label>:26:                                     ; preds = %23, %13, %5
  ret void
}

; Function Attrs: nounwind
define nonnull dereferenceable(28) %struct.Combined* @"\01?clone@@YAAAUCombined@@ABU1@@Z"(%struct.Combined* nocapture readonly dereferenceable(28)) local_unnamed_addr #2 {
  %2 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %3 = bitcast i8* %2 to %struct.Combined*
  %4 = getelementptr inbounds i8, i8* %2, i32 16
  %5 = bitcast i8* %4 to %struct.Field**
  store %struct.Field* null, %struct.Field** %5, align 4, !tbaa !554
  %6 = getelementptr inbounds i8, i8* %2, i32 20
  %7 = bitcast i8* %6 to %struct.Field**
  store %struct.Field* null, %struct.Field** %7, align 4, !tbaa !556
  %8 = getelementptr inbounds i8, i8* %2, i32 24
  %9 = bitcast i8* %8 to %struct.Field**
  store %struct.Field* null, %struct.Field** %9, align 4, !tbaa !557
  %10 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %11 = add i32 %10, 1
  store i32 %11, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %12 = bitcast i8* %2 to i32*
  store i32 1, i32* %12, align 4, !tbaa !558
  %13 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 1
  %14 = load i32, i32* %13, align 4, !tbaa !563
  %15 = getelementptr inbounds i8, i8* %2, i32 4
  %16 = bitcast i8* %15 to i32*
  store i32 %14, i32* %16, align 4, !tbaa !563
  %17 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 2
  %18 = load i32, i32* %17, align 4, !tbaa !564
  %19 = getelementptr inbounds i8, i8* %2, i32 8
  %20 = bitcast i8* %19 to i32*
  store i32 %18, i32* %20, align 4, !tbaa !564
  %21 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 3
  %22 = load i32, i32* %21, align 4, !tbaa !565
  %23 = getelementptr inbounds i8, i8* %2, i32 12
  %24 = bitcast i8* %23 to i32*
  store i32 %22, i32* %24, align 4, !tbaa !565
  %25 = bitcast i8* %4 to %"class.std::vector.17"*
  %26 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4
  %27 = getelementptr inbounds %struct.Combined, %struct.Combined* %0, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %28 = bitcast %struct.Field** %27 to i32*
  %29 = load i32, i32* %28, align 4, !tbaa !23
  %30 = bitcast %"class.std::vector.17"* %26 to i32*
  %31 = load i32, i32* %30, align 4, !tbaa !23
  %32 = sub i32 %29, %31
  %33 = sdiv exact i32 %32, 24
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %25, i32 %33, %"class.std::vector.17"* %25) #14
  %34 = load i32, i32* %28, align 4, !tbaa !23
  %35 = load i32, i32* %30, align 4, !tbaa !23
  %36 = icmp eq i32 %34, %35
  br i1 %36, label %39, label %37

; <label>:37:                                     ; preds = %1
  %38 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %26, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %40

; <label>:39:                                     ; preds = %77, %1
  ret %struct.Combined* %3

; <label>:40:                                     ; preds = %77, %37
  %41 = phi i32 [ %35, %37 ], [ %80, %77 ]
  %42 = phi i32 [ 0, %37 ], [ %78, %77 ]
  %43 = inttoptr i32 %41 to %struct.Field*
  %44 = getelementptr inbounds %struct.Field, %struct.Field* %43, i32 %42
  %45 = bitcast %struct.Field* %44 to i32*
  %46 = load i32, i32* %45, align 8, !tbaa !561
  %47 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23
  %48 = getelementptr inbounds %struct.Field, %struct.Field* %47, i32 %42
  %49 = bitcast %struct.Field* %48 to i32*
  store i32 %46, i32* %49, align 8, !tbaa !561
  %50 = load %struct.Field*, %struct.Field** %5, align 4, !tbaa !23
  %51 = getelementptr inbounds %struct.Field, %struct.Field* %50, i32 %42, i32 1
  %52 = load %struct.Field*, %struct.Field** %38, align 4, !tbaa !23
  %53 = getelementptr inbounds %struct.Field, %struct.Field* %52, i32 %42, i32 1
  %54 = getelementptr inbounds %struct.Field, %struct.Field* %52, i32 %42, i32 1, i32 1
  %55 = load i32, i32* %54, align 8, !tbaa !535
  switch i32 %55, label %74 [
    i32 14, label %56
    i32 17, label %64
  ]

; <label>:56:                                     ; preds = %40
  %57 = bitcast %class.variant.43* %51 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %58 = bitcast %class.variant.43* %53 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %59 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %58, align 4, !tbaa !549
  store %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %59, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %57, align 4, !tbaa !549
  %60 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %59, i32 0, i32 0
  %61 = load i32, i32* %60, align 4, !tbaa !547
  %62 = add i32 %61, 1
  store i32 %62, i32* %60, align 4, !tbaa !547
  %63 = getelementptr inbounds %struct.Field, %struct.Field* %50, i32 %42, i32 1, i32 1
  store i32 14, i32* %63, align 8, !tbaa !535
  br label %77

; <label>:64:                                     ; preds = %40
  %65 = bitcast %class.variant.43* %53 to %struct.Combined**
  %66 = bitcast %class.variant.43* %53 to i32*
  %67 = load i32, i32* %66, align 4, !tbaa !23
  %68 = bitcast %class.variant.43* %51 to i32*
  store i32 %67, i32* %68, align 8, !tbaa !23
  %69 = getelementptr inbounds %struct.Field, %struct.Field* %50, i32 %42, i32 1, i32 1
  store i32 17, i32* %69, align 8, !tbaa !535
  %70 = load %struct.Combined*, %struct.Combined** %65, align 4, !tbaa !23
  %71 = getelementptr inbounds %struct.Combined, %struct.Combined* %70, i32 0, i32 0
  %72 = load i32, i32* %71, align 4, !tbaa !558
  %73 = add i32 %72, 1
  store i32 %73, i32* %71, align 4, !tbaa !558
  br label %77

; <label>:74:                                     ; preds = %40
  %75 = bitcast %class.variant.43* %51 to i8*
  %76 = bitcast %class.variant.43* %53 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %75, i8* nonnull %76, i32 16, i32 8, i1 false) #14, !tbaa.struct !567
  br label %77

; <label>:77:                                     ; preds = %74, %64, %56
  %78 = add i32 %42, 1
  %79 = load i32, i32* %28, align 4, !tbaa !23
  %80 = load i32, i32* %30, align 4, !tbaa !23
  %81 = sub i32 %79, %80
  %82 = sdiv exact i32 %81, 24
  %83 = icmp ult i32 %78, %82
  br i1 %83, label %40, label %39
}

; Function Attrs: nounwind
define i64 @"\01?createFile@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@3@@Z"(%"class.std::basic_string"* dereferenceable(24), %"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %struct.File, align 4
  %6 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %7 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %8 = icmp eq %struct.File* %6, %7
  br i1 %8, label %18, label %9

; <label>:9:                                      ; preds = %2
  %10 = getelementptr inbounds %struct.File, %struct.File* %7, i32 -1, i32 3
  %11 = load i32, i32* %10, align 4, !tbaa !1247
  %12 = getelementptr inbounds %struct.File, %struct.File* %7, i32 -1, i32 2
  %13 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %12, align 4, !tbaa !1123
  %14 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %15 = load i32, i32* %14, align 4, !tbaa !83
  %16 = add i32 %11, 1
  %17 = add i32 %16, %15
  br label %18

; <label>:18:                                     ; preds = %9, %2
  %19 = phi i32 [ %17, %9 ], [ 0, %2 ]
  %20 = bitcast %struct.File* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 56, i8* nonnull %20) #14
  %21 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 0
  %22 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %23 = load i32, i32* %22, align 4, !tbaa !83, !noalias !1248
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %40, label %25

; <label>:25:                                     ; preds = %18
  %26 = bitcast %"class.std::basic_string"* %0 to i8*
  %27 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %28 = load i32, i32* %27, align 4, !tbaa !81, !noalias !1248
  %29 = icmp ugt i32 %28, 15
  %30 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %31 = load i8*, i8** %30, align 4, !noalias !1248
  %32 = select i1 %29, i8* %31, i8* %26
  br label %35

; <label>:33:                                     ; preds = %35
  %34 = icmp eq i32 %37, 0
  br i1 %34, label %40, label %35

; <label>:35:                                     ; preds = %33, %25
  %36 = phi i32 [ %23, %25 ], [ %37, %33 ]
  %37 = add i32 %36, -1
  %38 = getelementptr inbounds i8, i8* %32, i32 %37
  %39 = load i8, i8* %38, align 1, !tbaa !12
  switch i8 %39, label %33 [
    i8 92, label %40
    i8 47, label %40
  ]

; <label>:40:                                     ; preds = %35, %35, %33, %18
  %41 = phi i32 [ 0, %18 ], [ %36, %35 ], [ 0, %33 ], [ %36, %35 ]
  %42 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %43 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %44 = bitcast i32* %42 to i64*
  store i64 0, i64* %44, align 4, !alias.scope !1248
  store i32 15, i32* %43, align 4, !tbaa !81, !alias.scope !1248
  store i8 0, i8* %20, align 4, !tbaa !12, !alias.scope !1248
  %45 = icmp ult i32 %23, %41
  br i1 %45, label %46, label %47

; <label>:46:                                     ; preds = %40
  tail call void @"\01?_Xran@?$_String_val@U?$_Simple_types@D@std@@@std@@SAXXZ"() #12
  unreachable

; <label>:47:                                     ; preds = %40
  %48 = sub i32 %23, %41
  %49 = bitcast %"class.std::basic_string"* %0 to i8*
  %50 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %51 = load i32, i32* %50, align 4, !tbaa !81, !noalias !1248
  %52 = icmp ugt i32 %51, 15
  %53 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %54 = load i8*, i8** %53, align 4, !noalias !1248
  %55 = select i1 %52, i8* %54, i8* %49
  %56 = getelementptr inbounds i8, i8* %55, i32 %41
  %57 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %57) #14, !noalias !1248
  %58 = icmp ugt i32 %48, 15
  br i1 %58, label %61, label %59

; <label>:59:                                     ; preds = %47
  store i32 %48, i32* %42, align 4, !tbaa !83, !alias.scope !1248
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %20, i8* %56, i32 %48, i32 1, i1 false) #14
  %60 = getelementptr inbounds i8, i8* %20, i32 %48
  store i8 0, i8* %60, align 1, !tbaa !12, !alias.scope !1248
  br label %65

; <label>:61:                                     ; preds = %47
  %62 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %21, i32 %48, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %56) #14
  %63 = load i32, i32* %22, align 4, !tbaa !83, !noalias !1251
  %64 = load i32, i32* %50, align 4, !tbaa !81
  br label %65

; <label>:65:                                     ; preds = %61, %59
  %66 = phi i32 [ %51, %59 ], [ %64, %61 ]
  %67 = phi i32 [ %23, %59 ], [ %63, %61 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %57) #14, !noalias !1248
  %68 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 1
  %69 = icmp eq i32 %67, 0
  br i1 %69, label %70, label %72

; <label>:70:                                     ; preds = %65
  %71 = load i8*, i8** %53, align 4, !noalias !1251
  br label %83

; <label>:72:                                     ; preds = %65
  %73 = icmp ugt i32 %66, 15
  %74 = load i8*, i8** %53, align 4, !noalias !1251
  %75 = select i1 %73, i8* %74, i8* %49
  br label %78

; <label>:76:                                     ; preds = %78
  %77 = icmp eq i32 %80, 0
  br i1 %77, label %83, label %78

; <label>:78:                                     ; preds = %76, %72
  %79 = phi i32 [ %67, %72 ], [ %80, %76 ]
  %80 = add i32 %79, -1
  %81 = getelementptr inbounds i8, i8* %75, i32 %80
  %82 = load i8, i8* %81, align 1, !tbaa !12
  switch i8 %82, label %76 [
    i8 92, label %83
    i8 47, label %83
  ]

; <label>:83:                                     ; preds = %78, %78, %76, %70
  %84 = phi i8* [ %71, %70 ], [ %74, %76 ], [ %74, %78 ], [ %74, %78 ]
  %85 = phi i32 [ 0, %70 ], [ %79, %78 ], [ %79, %78 ], [ 0, %76 ]
  %86 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %87 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %88 = bitcast i32* %86 to i64*
  store i64 0, i64* %88, align 4, !alias.scope !1251
  store i32 15, i32* %87, align 4, !tbaa !81, !alias.scope !1251
  %89 = bitcast %"class.std::basic_string"* %68 to i8*
  store i8 0, i8* %89, align 4, !tbaa !12, !alias.scope !1251
  %90 = icmp ult i32 %67, %85
  %91 = select i1 %90, i32 %67, i32 %85
  %92 = icmp ugt i32 %66, 15
  %93 = select i1 %92, i8* %84, i8* %49
  %94 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %94) #14, !noalias !1251
  %95 = icmp ugt i32 %91, 15
  br i1 %95, label %98, label %96

; <label>:96:                                     ; preds = %83
  store i32 %91, i32* %86, align 4, !tbaa !83, !alias.scope !1251
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %89, i8* %93, i32 %91, i32 1, i1 false) #14
  %97 = getelementptr inbounds i8, i8* %89, i32 %91
  store i8 0, i8* %97, align 1, !tbaa !12, !alias.scope !1251
  br label %100

; <label>:98:                                     ; preds = %83
  %99 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %68, i32 %91, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* %93) #14
  br label %100

; <label>:100:                                    ; preds = %98, %96
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %94) #14, !noalias !1251
  %101 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 2
  store %"struct.std::pair.23"* %1, %"struct.std::pair.23"** %101, align 4, !tbaa !1123
  %102 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 3
  store i32 %19, i32* %102, align 4, !tbaa !1247
  %103 = call x86_thiscallcc dereferenceable(56) %struct.File* @"\01??$emplace_back@UFile@@@?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUFile@@@Z"(%"class.std::vector.44"* nonnull @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", %struct.File* nonnull dereferenceable(56) %5) #14
  %104 = load i32, i32* %87, align 4, !tbaa !81
  %105 = icmp ugt i32 %104, 15
  br i1 %105, label %106, label %131

; <label>:106:                                    ; preds = %100
  %107 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %68, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %108 = load i8*, i8** %107, align 4, !tbaa !12
  %109 = add i32 %104, 1
  %110 = icmp ugt i32 %109, 4095
  br i1 %110, label %111, label %128

; <label>:111:                                    ; preds = %106
  %112 = add i32 %104, 36
  %113 = icmp ugt i32 %109, -36
  br i1 %113, label %127, label %114

; <label>:114:                                    ; preds = %111
  %115 = ptrtoint i8* %108 to i32
  %116 = and i32 %115, 31
  %117 = icmp eq i32 %116, 0
  br i1 %117, label %118, label %127

; <label>:118:                                    ; preds = %114
  %119 = add i32 %115, -4
  %120 = inttoptr i32 %119 to i32*
  %121 = load i32, i32* %120, align 4, !tbaa !24
  %122 = icmp ult i32 %121, %115
  br i1 %122, label %123, label %127

; <label>:123:                                    ; preds = %118
  %124 = sub i32 %119, %121
  %125 = icmp ugt i32 %124, 31
  %126 = inttoptr i32 %121 to i8*
  br i1 %125, label %127, label %128

; <label>:127:                                    ; preds = %123, %118, %114, %111
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:128:                                    ; preds = %123, %106
  %129 = phi i8* [ %126, %123 ], [ %108, %106 ]
  %130 = phi i32 [ %112, %123 ], [ %109, %106 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %129, i32 %130) #14
  br label %131

; <label>:131:                                    ; preds = %128, %100
  store i32 0, i32* %86, align 4, !tbaa !83
  store i32 15, i32* %87, align 4, !tbaa !81
  store i8 0, i8* %89, align 4, !tbaa !12
  %132 = load i32, i32* %43, align 4, !tbaa !81
  %133 = icmp ugt i32 %132, 15
  br i1 %133, label %134, label %159

; <label>:134:                                    ; preds = %131
  %135 = getelementptr inbounds %struct.File, %struct.File* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %136 = load i8*, i8** %135, align 4, !tbaa !12
  %137 = add i32 %132, 1
  %138 = icmp ugt i32 %137, 4095
  br i1 %138, label %139, label %156

; <label>:139:                                    ; preds = %134
  %140 = add i32 %132, 36
  %141 = icmp ugt i32 %137, -36
  br i1 %141, label %155, label %142

; <label>:142:                                    ; preds = %139
  %143 = ptrtoint i8* %136 to i32
  %144 = and i32 %143, 31
  %145 = icmp eq i32 %144, 0
  br i1 %145, label %146, label %155

; <label>:146:                                    ; preds = %142
  %147 = add i32 %143, -4
  %148 = inttoptr i32 %147 to i32*
  %149 = load i32, i32* %148, align 4, !tbaa !24
  %150 = icmp ult i32 %149, %143
  br i1 %150, label %151, label %155

; <label>:151:                                    ; preds = %146
  %152 = sub i32 %147, %149
  %153 = icmp ugt i32 %152, 31
  %154 = inttoptr i32 %149 to i8*
  br i1 %153, label %155, label %156

; <label>:155:                                    ; preds = %151, %146, %142, %139
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:156:                                    ; preds = %151, %134
  %157 = phi i8* [ %154, %151 ], [ %136, %134 ]
  %158 = phi i32 [ %140, %151 ], [ %137, %134 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %157, i32 %158) #14
  br label %159

; <label>:159:                                    ; preds = %156, %131
  call void @llvm.lifetime.end.p0i8(i64 56, i8* nonnull %20) #14
  %160 = ptrtoint %"struct.std::pair.23"* %1 to i32
  %161 = zext i32 %19 to i64
  %162 = shl nuw i64 %161, 32
  %163 = zext i32 %160 to i64
  %164 = or i64 %162, %163
  ret i64 %164
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(56) %struct.File* @"\01??$emplace_back@UFile@@@?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUFile@@@Z"(%"class.std::vector.44"*, %struct.File* dereferenceable(56)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.44", %"class.std::vector.44"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %struct.File*, %struct.File** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.44", %"class.std::vector.44"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %struct.File*, %struct.File** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.File* %4, %6
  br i1 %7, label %30, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %9, align 4, !tbaa !83
  %10 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %10, align 4, !tbaa !81
  %11 = bitcast %struct.File* %6 to i8*
  %12 = bitcast %struct.File* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %11, i8* nonnull %12, i32 24, i32 1, i1 false) #14
  %13 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %13, align 4, !tbaa !83
  %14 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %14, align 4, !tbaa !81
  store i8 0, i8* %12, align 1, !tbaa !12
  %15 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 1
  %16 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1
  %17 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %17, align 4, !tbaa !83
  %18 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %18, align 4, !tbaa !81
  %19 = bitcast %"class.std::basic_string"* %15 to i8*
  %20 = bitcast %"class.std::basic_string"* %16 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %19, i8* nonnull %20, i32 24, i32 1, i1 false) #14
  %21 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %21, align 4, !tbaa !83
  %22 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %22, align 4, !tbaa !81
  store i8 0, i8* %20, align 1, !tbaa !12
  %23 = getelementptr inbounds %struct.File, %struct.File* %6, i32 0, i32 2
  %24 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 2
  %25 = bitcast %"struct.std::pair.23"** %24 to i64*
  %26 = bitcast %"struct.std::pair.23"** %23 to i64*
  %27 = load i64, i64* %25, align 4
  store i64 %27, i64* %26, align 4
  %28 = load %struct.File*, %struct.File** %5, align 4, !tbaa !23
  %29 = getelementptr inbounds %struct.File, %struct.File* %28, i32 1
  br label %169

; <label>:30:                                     ; preds = %2
  %31 = ptrtoint %struct.File* %4 to i32
  %32 = ptrtoint %struct.File* %6 to i32
  %33 = bitcast %"class.std::vector.44"* %0 to i32*
  %34 = load i32, i32* %33, align 4, !tbaa !23
  %35 = sub i32 %32, %34
  %36 = sdiv exact i32 %35, 56
  %37 = add nsw i32 %36, 1
  %38 = bitcast %struct.File** %3 to i32*
  %39 = sub i32 %31, %34
  %40 = sdiv exact i32 %39, 56
  %41 = lshr i32 %40, 1
  %42 = sub nsw i32 76695844, %41
  %43 = icmp ugt i32 %40, %42
  br i1 %43, label %48, label %44

; <label>:44:                                     ; preds = %30
  %45 = add i32 %41, %40
  %46 = icmp ult i32 %45, %37
  %47 = select i1 %46, i32 %37, i32 %45
  br label %48

; <label>:48:                                     ; preds = %44, %30
  %49 = phi i32 [ %47, %44 ], [ %37, %30 ]
  %50 = icmp ugt i32 %49, 76695844
  br i1 %50, label %51, label %52

; <label>:51:                                     ; preds = %48
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:52:                                     ; preds = %48
  %53 = mul i32 %49, 56
  %54 = icmp ugt i32 %53, 4095
  br i1 %54, label %55, label %67

; <label>:55:                                     ; preds = %52
  %56 = icmp ugt i32 %53, -36
  br i1 %56, label %57, label %58

; <label>:57:                                     ; preds = %55
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:58:                                     ; preds = %55
  %59 = add i32 %53, 35
  %60 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %59) #14
  %61 = ptrtoint i8* %60 to i32
  %62 = add i32 %61, 35
  %63 = and i32 %62, -32
  %64 = inttoptr i32 %63 to i8*
  %65 = inttoptr i32 %63 to i32*
  %66 = getelementptr inbounds i32, i32* %65, i32 -1
  store i32 %61, i32* %66, align 4, !tbaa !24
  br label %69

; <label>:67:                                     ; preds = %52
  %68 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %53) #14
  br label %69

; <label>:69:                                     ; preds = %67, %58
  %70 = phi i8* [ %64, %58 ], [ %68, %67 ]
  %71 = bitcast i8* %70 to %struct.File*
  %72 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36
  %73 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %73, align 4, !tbaa !83
  %74 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %74, align 4, !tbaa !81
  %75 = bitcast %struct.File* %72 to i8*
  %76 = bitcast %struct.File* %1 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %75, i8* nonnull %76, i32 24, i32 1, i1 false) #14
  %77 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %77, align 4, !tbaa !83
  %78 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %78, align 4, !tbaa !81
  store i8 0, i8* %76, align 1, !tbaa !12
  %79 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 1
  %80 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1
  %81 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %81, align 4, !tbaa !83
  %82 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %82, align 4, !tbaa !81
  %83 = bitcast %"class.std::basic_string"* %79 to i8*
  %84 = bitcast %"class.std::basic_string"* %80 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %83, i8* nonnull %84, i32 24, i32 1, i1 false) #14
  %85 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %85, align 4, !tbaa !83
  %86 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %86, align 4, !tbaa !81
  store i8 0, i8* %84, align 1, !tbaa !12
  %87 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %36, i32 2
  %88 = getelementptr inbounds %struct.File, %struct.File* %1, i32 0, i32 2
  %89 = bitcast %"struct.std::pair.23"** %88 to i64*
  %90 = bitcast %"struct.std::pair.23"** %87 to i64*
  %91 = load i64, i64* %89, align 4
  store i64 %91, i64* %90, align 4
  %92 = load %struct.File*, %struct.File** %5, align 4, !tbaa !23
  %93 = getelementptr inbounds %"class.std::vector.44", %"class.std::vector.44"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %94 = load %struct.File*, %struct.File** %93, align 4, !tbaa !23
  %95 = icmp eq %struct.File* %94, %92
  br i1 %95, label %124, label %96

; <label>:96:                                     ; preds = %69
  br label %97

; <label>:97:                                     ; preds = %97, %96
  %98 = phi %struct.File* [ %119, %97 ], [ %71, %96 ]
  %99 = phi %struct.File* [ %120, %97 ], [ %94, %96 ]
  %100 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %100, align 4, !tbaa !83
  %101 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %101, align 4, !tbaa !81
  %102 = bitcast %struct.File* %98 to i8*
  %103 = bitcast %struct.File* %99 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %102, i8* nonnull %103, i32 24, i32 1, i1 false) #14
  %104 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %104, align 4, !tbaa !83
  %105 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %105, align 4, !tbaa !81
  store i8 0, i8* %103, align 1, !tbaa !12
  %106 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 1
  %107 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 1
  %108 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %108, align 4, !tbaa !83
  %109 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %109, align 4, !tbaa !81
  %110 = bitcast %"class.std::basic_string"* %106 to i8*
  %111 = bitcast %"class.std::basic_string"* %107 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %110, i8* nonnull %111, i32 24, i32 1, i1 false) #14
  %112 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %112, align 4, !tbaa !83
  %113 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %113, align 4, !tbaa !81
  store i8 0, i8* %111, align 1, !tbaa !12
  %114 = getelementptr inbounds %struct.File, %struct.File* %98, i32 0, i32 2
  %115 = getelementptr inbounds %struct.File, %struct.File* %99, i32 0, i32 2
  %116 = bitcast %"struct.std::pair.23"** %115 to i64*
  %117 = bitcast %"struct.std::pair.23"** %114 to i64*
  %118 = load i64, i64* %116, align 4
  store i64 %118, i64* %117, align 4
  %119 = getelementptr inbounds %struct.File, %struct.File* %98, i32 1
  %120 = getelementptr inbounds %struct.File, %struct.File* %99, i32 1
  %121 = icmp eq %struct.File* %120, %92
  br i1 %121, label %122, label %97

; <label>:122:                                    ; preds = %97
  %123 = load %struct.File*, %struct.File** %93, align 4, !tbaa !23
  br label %124

; <label>:124:                                    ; preds = %122, %69
  %125 = phi %struct.File* [ %123, %122 ], [ %92, %69 ]
  %126 = icmp eq %struct.File* %125, null
  br i1 %126, label %165, label %127

; <label>:127:                                    ; preds = %124
  %128 = ptrtoint %struct.File* %125 to i32
  %129 = load %struct.File*, %struct.File** %5, align 4, !tbaa !23
  %130 = icmp eq %struct.File* %125, %129
  br i1 %130, label %138, label %131

; <label>:131:                                    ; preds = %127
  br label %132

; <label>:132:                                    ; preds = %132, %131
  %133 = phi %struct.File* [ %134, %132 ], [ %125, %131 ]
  tail call x86_thiscallcc void @"\01??1File@@QAE@XZ"(%struct.File* %133) #14
  %134 = getelementptr inbounds %struct.File, %struct.File* %133, i32 1
  %135 = icmp eq %struct.File* %134, %129
  br i1 %135, label %136, label %132

; <label>:136:                                    ; preds = %132
  %137 = load i32, i32* %33, align 4, !tbaa !23
  br label %138

; <label>:138:                                    ; preds = %136, %127
  %139 = phi i32 [ %137, %136 ], [ %128, %127 ]
  %140 = load i32, i32* %38, align 4, !tbaa !23
  %141 = sub i32 %140, %139
  %142 = sdiv exact i32 %141, 56
  %143 = icmp ugt i32 %142, 76695844
  br i1 %143, label %160, label %144

; <label>:144:                                    ; preds = %138
  %145 = icmp ugt i32 %141, 4095
  br i1 %145, label %146, label %161

; <label>:146:                                    ; preds = %144
  %147 = icmp ult i32 %141, -35
  %148 = and i32 %139, 31
  %149 = icmp eq i32 %148, 0
  %150 = and i1 %149, %147
  br i1 %150, label %151, label %160

; <label>:151:                                    ; preds = %146
  %152 = add i32 %141, 35
  %153 = add i32 %139, -4
  %154 = inttoptr i32 %153 to i32*
  %155 = load i32, i32* %154, align 4, !tbaa !24
  %156 = icmp uge i32 %155, %139
  %157 = sub i32 %153, %155
  %158 = icmp ugt i32 %157, 31
  %159 = or i1 %156, %158
  br i1 %159, label %160, label %161

; <label>:160:                                    ; preds = %151, %146, %138
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:161:                                    ; preds = %151, %144
  %162 = phi i32 [ %139, %144 ], [ %155, %151 ]
  %163 = phi i32 [ %141, %144 ], [ %152, %151 ]
  %164 = inttoptr i32 %162 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %164, i32 %163) #14
  br label %165

; <label>:165:                                    ; preds = %161, %124
  %166 = bitcast %"class.std::vector.44"* %0 to i8**
  store i8* %70, i8** %166, align 4, !tbaa !23
  %167 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %37
  store %struct.File* %167, %struct.File** %5, align 4, !tbaa !23
  %168 = getelementptr inbounds %struct.File, %struct.File* %71, i32 %49
  br label %169

; <label>:169:                                    ; preds = %165, %8
  %170 = phi %struct.File** [ %3, %165 ], [ %5, %8 ]
  %171 = phi %struct.File* [ %168, %165 ], [ %29, %8 ]
  store %struct.File* %171, %struct.File** %170, align 4, !tbaa !23
  %172 = load %struct.File*, %struct.File** %5, align 4, !tbaa !23
  %173 = getelementptr inbounds %struct.File, %struct.File* %172, i32 -1
  ret %struct.File* %173
}

; Function Attrs: nounwind
define i64 @"\01?createGeneratedFile@@YA?AUSourceText@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"class.std::basic_string", align 4
  %3 = bitcast %"class.std::basic_string"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %3) #14
  %4 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %5, align 4, !tbaa !81
  store i32 11, i32* %4, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %3, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@ECIFEILD@?$DMGENERATED?$DO?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14
  %6 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 7
  store i8 0, i8* %6, align 1, !tbaa !12
  %7 = call i64 @"\01?createFile@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@3@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %2, %"struct.std::pair.23"* nonnull dereferenceable(48) %0)
  %8 = load i32, i32* %5, align 4, !tbaa !81
  %9 = icmp ugt i32 %8, 15
  br i1 %9, label %10, label %35

; <label>:10:                                     ; preds = %1
  %11 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %12 = load i8*, i8** %11, align 4, !tbaa !12
  %13 = add i32 %8, 1
  %14 = icmp ugt i32 %13, 4095
  br i1 %14, label %15, label %32

; <label>:15:                                     ; preds = %10
  %16 = add i32 %8, 36
  %17 = icmp ugt i32 %13, -36
  br i1 %17, label %31, label %18

; <label>:18:                                     ; preds = %15
  %19 = ptrtoint i8* %12 to i32
  %20 = and i32 %19, 31
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %22, label %31

; <label>:22:                                     ; preds = %18
  %23 = add i32 %19, -4
  %24 = inttoptr i32 %23 to i32*
  %25 = load i32, i32* %24, align 4, !tbaa !24
  %26 = icmp ult i32 %25, %19
  br i1 %26, label %27, label %31

; <label>:27:                                     ; preds = %22
  %28 = sub i32 %23, %25
  %29 = icmp ugt i32 %28, 31
  %30 = inttoptr i32 %25 to i8*
  br i1 %29, label %31, label %32

; <label>:31:                                     ; preds = %27, %22, %18, %15
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:32:                                     ; preds = %27, %10
  %33 = phi i8* [ %30, %27 ], [ %12, %10 ]
  %34 = phi i32 [ %16, %27 ], [ %13, %10 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %33, i32 %34) #14
  br label %35

; <label>:35:                                     ; preds = %32, %1
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %3) #14
  %36 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %37 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %38 = sub i32 %36, %37
  %39 = sdiv exact i32 %38, 56
  %40 = add nsw i32 %39, -1
  %41 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 1
  store i32 %40, i32* %41, align 4, !tbaa !1254
  ret i64 %7
}

; Function Attrs: nounwind
define i64 @"\01?generatedText@@YA?AUSourceText@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"class.std::basic_string", align 4
  %3 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 1
  %4 = load i32, i32* %3, align 4, !tbaa !1254
  %5 = icmp eq i32 %4, -1
  br i1 %5, label %10, label %6

; <label>:6:                                      ; preds = %1
  %7 = load %struct.File*, %struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %8 = getelementptr inbounds %struct.File, %struct.File* %7, i32 %4, i32 3
  %9 = load i32, i32* %8, align 4, !tbaa !1247
  br label %53

; <label>:10:                                     ; preds = %1
  %11 = bitcast %"class.std::basic_string"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %11) #14
  %12 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %13, align 4, !tbaa !81
  store i32 11, i32* %12, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %11, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@ECIFEILD@?$DMGENERATED?$DO?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14
  %14 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 7
  store i8 0, i8* %14, align 1, !tbaa !12
  %15 = call i64 @"\01?createFile@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@3@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %2, %"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %16 = load i32, i32* %13, align 4, !tbaa !81
  %17 = icmp ugt i32 %16, 15
  br i1 %17, label %18, label %43

; <label>:18:                                     ; preds = %10
  %19 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %20 = load i8*, i8** %19, align 4, !tbaa !12
  %21 = add i32 %16, 1
  %22 = icmp ugt i32 %21, 4095
  br i1 %22, label %23, label %40

; <label>:23:                                     ; preds = %18
  %24 = add i32 %16, 36
  %25 = icmp ugt i32 %21, -36
  br i1 %25, label %39, label %26

; <label>:26:                                     ; preds = %23
  %27 = ptrtoint i8* %20 to i32
  %28 = and i32 %27, 31
  %29 = icmp eq i32 %28, 0
  br i1 %29, label %30, label %39

; <label>:30:                                     ; preds = %26
  %31 = add i32 %27, -4
  %32 = inttoptr i32 %31 to i32*
  %33 = load i32, i32* %32, align 4, !tbaa !24
  %34 = icmp ult i32 %33, %27
  br i1 %34, label %35, label %39

; <label>:35:                                     ; preds = %30
  %36 = sub i32 %31, %33
  %37 = icmp ugt i32 %36, 31
  %38 = inttoptr i32 %33 to i8*
  br i1 %37, label %39, label %40

; <label>:39:                                     ; preds = %35, %30, %26, %23
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:40:                                     ; preds = %35, %18
  %41 = phi i8* [ %38, %35 ], [ %20, %18 ]
  %42 = phi i32 [ %24, %35 ], [ %21, %18 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %41, i32 %42) #14
  br label %43

; <label>:43:                                     ; preds = %40, %10
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %11) #14
  %44 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %45 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %46 = sub i32 %44, %45
  %47 = sdiv exact i32 %46, 56
  %48 = add nsw i32 %47, -1
  store i32 %48, i32* %3, align 4, !tbaa !1254
  %49 = trunc i64 %15 to i32
  %50 = inttoptr i32 %49 to %"struct.std::pair.23"*
  %51 = lshr i64 %15, 32
  %52 = trunc i64 %51 to i32
  br label %53

; <label>:53:                                     ; preds = %43, %6
  %54 = phi %"struct.std::pair.23"* [ %0, %6 ], [ %50, %43 ]
  %55 = phi i32 [ %9, %6 ], [ %52, %43 ]
  %56 = ptrtoint %"struct.std::pair.23"* %54 to i32
  %57 = zext i32 %55 to i64
  %58 = shl nuw i64 %57, 32
  %59 = zext i32 %56 to i64
  %60 = or i64 %58, %59
  ret i64 %60
}

; Function Attrs: nounwind
define i64 @"\01?generatedText@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"(%"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %2 = alloca %"class.std::basic_string", align 4
  %3 = alloca %"struct.std::pair.148", align 4
  %4 = alloca i8*, align 4
  %5 = bitcast %"struct.std::pair.148"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %5) #14
  %6 = bitcast i8** %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %6) #14
  store i8* null, i8** %4, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %3, %"class.std::basic_string"* nonnull dereferenceable(24) %0, i8** nonnull dereferenceable(4) %4)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %6) #14
  %7 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 1
  %8 = load i8, i8* %7, align 4, !tbaa !1203, !range !382
  %9 = icmp eq i8 %8, 0
  br i1 %9, label %61, label %10

; <label>:10:                                     ; preds = %1
  %11 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  %12 = bitcast %"class.std::basic_string"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %11, i8* nonnull %12, i32 24, i32 1, i1 false) #14
  %13 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %13, align 4, !tbaa !83
  %14 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %14, align 4, !tbaa !81
  store i8 0, i8* %12, align 1, !tbaa !12
  %15 = getelementptr inbounds i8, i8* %11, i32 24
  call void @llvm.memset.p0i8.i64(i8* %15, i8 0, i64 24, i32 4, i1 false) #14
  %16 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %17 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %16, align 4, !tbaa !833
  %18 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %17, i32 0, i32 2, i32 1
  %19 = bitcast %"struct.std::pair.23"** %18 to i8**
  store i8* %11, i8** %19, align 4, !tbaa !1206
  %20 = bitcast i8* %11 to %"struct.std::pair.23"*
  %21 = bitcast %"class.std::basic_string"* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %21) #14
  %22 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %23 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %23, align 4, !tbaa !81
  store i32 11, i32* %22, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %21, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@ECIFEILD@?$DMGENERATED?$DO?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 7
  store i8 0, i8* %24, align 1, !tbaa !12
  %25 = call i64 @"\01?createFile@@YA?AUSourceText@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@3@@Z"(%"class.std::basic_string"* nonnull dereferenceable(24) %2, %"struct.std::pair.23"* nonnull dereferenceable(48) %20) #14
  %26 = load i32, i32* %23, align 4, !tbaa !81
  %27 = icmp ugt i32 %26, 15
  br i1 %27, label %28, label %53

; <label>:28:                                     ; preds = %10
  %29 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %30 = load i8*, i8** %29, align 4, !tbaa !12
  %31 = add i32 %26, 1
  %32 = icmp ugt i32 %31, 4095
  br i1 %32, label %33, label %50

; <label>:33:                                     ; preds = %28
  %34 = add i32 %26, 36
  %35 = icmp ugt i32 %31, -36
  br i1 %35, label %49, label %36

; <label>:36:                                     ; preds = %33
  %37 = ptrtoint i8* %30 to i32
  %38 = and i32 %37, 31
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %49

; <label>:40:                                     ; preds = %36
  %41 = add i32 %37, -4
  %42 = inttoptr i32 %41 to i32*
  %43 = load i32, i32* %42, align 4, !tbaa !24
  %44 = icmp ult i32 %43, %37
  br i1 %44, label %45, label %49

; <label>:45:                                     ; preds = %40
  %46 = sub i32 %41, %43
  %47 = icmp ugt i32 %46, 31
  %48 = inttoptr i32 %43 to i8*
  br i1 %47, label %49, label %50

; <label>:49:                                     ; preds = %45, %40, %36, %33
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:50:                                     ; preds = %45, %28
  %51 = phi i8* [ %48, %45 ], [ %30, %28 ]
  %52 = phi i32 [ %34, %45 ], [ %31, %28 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %51, i32 %52) #14
  br label %53

; <label>:53:                                     ; preds = %50, %10
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %21) #14
  %54 = load i32, i32* bitcast (%struct.File** getelementptr inbounds (%"class.std::vector.44", %"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %55 = load i32, i32* bitcast (%"class.std::vector.44"* @"\01?files@@3V?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %56 = sub i32 %54, %55
  %57 = sdiv exact i32 %56, 56
  %58 = add nsw i32 %57, -1
  %59 = getelementptr inbounds i8, i8* %11, i32 28
  %60 = bitcast i8* %59 to i32*
  store i32 %58, i32* %60, align 4, !tbaa !1254
  br label %67

; <label>:61:                                     ; preds = %1
  %62 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %63 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %62, align 4, !tbaa !833
  %64 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %63, i32 0, i32 2, i32 1
  %65 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %64, align 4, !tbaa !1206
  %66 = call i64 @"\01?generatedText@@YA?AUSourceText@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %65)
  br label %67

; <label>:67:                                     ; preds = %61, %53
  %68 = phi i64 [ %25, %53 ], [ %66, %61 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %5) #14
  ret i64 %68
}

; Function Attrs: nounwind
define zeroext i1 @"\01?parse@@YA_NABUSourceText@@@Z"(%struct.SourceText* nocapture readonly dereferenceable(8)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"class.std::basic_string.101", align 4
  %5 = alloca %"class.ast::ASTBuilder", align 4
  %6 = alloca %"class.parser::Parser", align 4
  %7 = alloca %"struct.parser::Expected", align 4
  %8 = alloca [12 x i8], align 4
  %9 = alloca %"class.std::basic_string", align 4
  %10 = alloca %"class.std::basic_string", align 4
  %11 = alloca %"class.std::basic_string", align 4
  %12 = alloca %"struct.ast::ASTDetailedNodes", align 4
  %13 = alloca %"class.std::vector.4", align 4
  %14 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %0, i32 0, i32 0
  %15 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %14, align 4, !tbaa !542
  %16 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %15, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0
  %17 = load %"class.std::vector.4"*, %"class.std::vector.4"** %16, align 4, !tbaa !23
  %18 = icmp eq %"class.std::vector.4"* %17, null
  br i1 %18, label %21, label %19

; <label>:19:                                     ; preds = %1
  tail call void @_wassert(i16* getelementptr inbounds ([38 x i16], [38 x i16]* @"\01??_C@_1EM@HMJIJEKF@?$AAt?$AAe?$AAx?$AAt?$AA?4?$AAt?$AAe?$AAx?$AAt?$AA?9?$AA?$DO?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?4?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAu@", i32 0, i32 0), i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 412) #14
  %20 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %14, align 4, !tbaa !542
  br label %21

; <label>:21:                                     ; preds = %19, %1
  %22 = phi %"struct.std::pair.23"* [ %20, %19 ], [ %15, %1 ]
  %23 = bitcast %"class.std::basic_string.101"* %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %23) #14
  %24 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %22, i32 0, i32 0
  call void @"\01?fromUtf8@utf8@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z"(%"class.std::basic_string.101"* nonnull sret %4, %"class.std::basic_string"* dereferenceable(24) %24) #14
  %25 = bitcast %"class.ast::ASTBuilder"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 36, i8* nonnull %25) #14
  %26 = call x86_thiscallcc %"class.ast::ASTBuilder"* @"\01??0ASTBuilder@ast@@QAE@AAV?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@AAV?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@I@Z"(%"class.ast::ASTBuilder"* nonnull %5, %class.Interner* nonnull dereferenceable(32) @"\01?externalTexts@@3V?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@A", %class.Interner.5* nonnull dereferenceable(32) @"\01?programs@@3V?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@A", i32 0) #14
  %27 = bitcast %"class.parser::Parser"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 56, i8* nonnull %27) #14
  %28 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %5, i32 0, i32 0
  %29 = bitcast %"class.std::basic_string.101"* %4 to i16*
  %30 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %4, i32 0, i32 0, i32 0, i32 0, i32 2
  %31 = load i32, i32* %30, align 4, !tbaa !54
  %32 = icmp ugt i32 %31, 7
  %33 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %34 = load i16*, i16** %33, align 4
  %35 = select i1 %32, i16* %34, i16* %29
  %36 = call x86_thiscallcc %"class.parser::Parser"* @"\01??0Parser@parser@@QAE@PB_WPAVEventHandler@1@@Z"(%"class.parser::Parser"* nonnull %6, i16* %35, %"class.parser::EventHandler"* nonnull %28) #14
  %37 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %37) #14
  call x86_thiscallcc void @"\01?parse_ProgramWithEOF@Parser@parser@@QAE?AU?$Expected@X@2@XZ"(%"class.parser::Parser"* nonnull %6, %"struct.parser::Expected"* nonnull sret %7) #14
  %38 = load i8, i8* %37, align 4, !tbaa !372, !range !382
  %39 = icmp eq i8 %38, 0
  br i1 %39, label %40, label %267

; <label>:40:                                     ; preds = %21
  %41 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %42 = icmp eq i32 %41, 0
  br i1 %42, label %43, label %392

; <label>:43:                                     ; preds = %40
  %44 = getelementptr inbounds [12 x i8], [12 x i8]* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %44)
  %45 = bitcast %"class.std::basic_string"* %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %45) #14
  %46 = getelementptr inbounds %"struct.parser::Expected", %"struct.parser::Expected"* %7, i32 0, i32 1
  call x86_thiscallcc void @"\01?getErrorMessage@Parser@parser@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABUParseException@2@@Z"(%"class.parser::Parser"* nonnull %6, %"class.std::basic_string"* nonnull sret %9, %"struct.parser::ParseException"* dereferenceable(20) %46) #14
  %47 = bitcast %"class.std::basic_string"* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %47) #14
  %48 = bitcast %"class.std::basic_string"* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %48) #14
  %49 = getelementptr inbounds %struct.SourceText, %struct.SourceText* %0, i32 0, i32 1
  %50 = load i32, i32* %49, align 4, !tbaa !569
  %51 = getelementptr inbounds %"struct.parser::ParseException", %"struct.parser::ParseException"* %46, i32 0, i32 0
  %52 = load i32, i32* %51, align 4, !tbaa !1255
  %53 = add i32 %52, %50
  call void @"\01?translateGlobalOffset@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z"(%"class.std::basic_string"* nonnull sret %11, i32 %53)
  %54 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %54) #14, !noalias !1256
  %55 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 1
  %56 = load i32, i32* %55, align 4, !tbaa !83, !noalias !1256
  %57 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 2
  %58 = load i32, i32* %57, align 4, !tbaa !81, !noalias !1256
  %59 = sub i32 %58, %56
  %60 = icmp ult i32 %59, 2
  br i1 %60, label %70, label %61

; <label>:61:                                     ; preds = %43
  %62 = add i32 %56, 2
  store i32 %62, i32* %55, align 4, !tbaa !83, !noalias !1256
  %63 = icmp ugt i32 %58, 15
  %64 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %65 = load i8*, i8** %64, align 4, !noalias !1256
  %66 = select i1 %63, i8* %65, i8* %48
  %67 = getelementptr inbounds i8, i8* %66, i32 %56
  %68 = bitcast i8* %67 to i16*
  store i16 8250, i16* %68, align 1
  %69 = getelementptr inbounds i8, i8* %66, i32 %62
  store i8 0, i8* %69, align 1, !tbaa !12, !noalias !1256
  br label %72

; <label>:70:                                     ; preds = %43
  %71 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %11, i32 2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @"\01??_C@_02LMMGGCAJ@?3?5?$AA@", i32 0, i32 0), i32 2) #14, !noalias !1256
  br label %72

; <label>:72:                                     ; preds = %70, %61
  %73 = phi %"class.std::basic_string"* [ %11, %61 ], [ %71, %70 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %54) #14, !noalias !1256
  %74 = bitcast %"class.std::basic_string"* %73 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %47, i8* nonnull %74, i32 24, i32 1, i1 false) #14
  %75 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %75, align 4, !tbaa !83, !noalias !1256
  %76 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %73, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %76, align 4, !tbaa !81, !noalias !1256
  store i8 0, i8* %74, align 1, !tbaa !12, !noalias !1256
  %77 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 1
  %78 = load i32, i32* %77, align 4, !tbaa !83, !noalias !1259
  %79 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 2
  %80 = load i32, i32* %79, align 4, !tbaa !81, !noalias !1259
  %81 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 1
  %82 = load i32, i32* %81, align 4, !tbaa !83, !noalias !1259
  %83 = sub i32 %80, %82
  %84 = icmp ugt i32 %78, %83
  %85 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 2
  %86 = load i32, i32* %85, align 4, !tbaa !81, !noalias !1259
  %87 = xor i1 %84, true
  %88 = sub i32 %86, %78
  %89 = icmp ult i32 %88, %82
  %90 = or i1 %89, %87
  br i1 %90, label %91, label %116

; <label>:91:                                     ; preds = %72
  %92 = icmp ugt i32 %86, 15
  %93 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %94 = load i8*, i8** %93, align 4, !noalias !1259
  %95 = select i1 %92, i8* %94, i8* %45
  %96 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %96) #14, !noalias !1259
  br i1 %84, label %105, label %97

; <label>:97:                                     ; preds = %91
  %98 = add i32 %82, %78
  store i32 %98, i32* %81, align 4, !tbaa !83, !noalias !1259
  %99 = icmp ugt i32 %80, 15
  %100 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %101 = load i8*, i8** %100, align 4, !noalias !1259
  %102 = select i1 %99, i8* %101, i8* %47
  %103 = getelementptr inbounds i8, i8* %102, i32 %82
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %103, i8* %95, i32 %78, i32 1, i1 false) #14, !noalias !1259
  %104 = getelementptr inbounds i8, i8* %102, i32 %98
  store i8 0, i8* %104, align 1, !tbaa !12, !noalias !1259
  br label %107

; <label>:105:                                    ; preds = %91
  %106 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %10, i32 %78, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %95, i32 %78) #14, !noalias !1259
  br label %107

; <label>:107:                                    ; preds = %105, %97
  %108 = phi %"class.std::basic_string"* [ %10, %97 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %96) #14, !noalias !1259
  %109 = bitcast %"class.std::basic_string"* %108 to i8*
  %110 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %108, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %111 = load i8*, i8** %110, align 1
  %112 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %108, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %44, i8* %112, i32 12, i32 1, i1 false)
  %113 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %108, i32 0, i32 0, i32 0, i32 0, i32 1
  %114 = load i32, i32* %113, align 1
  %115 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %108, i32 0, i32 0, i32 0, i32 0, i32 2
  br label %147

; <label>:116:                                    ; preds = %72
  %117 = icmp ugt i32 %80, 15
  %118 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %119 = load i8*, i8** %118, align 4, !noalias !1259
  %120 = select i1 %117, i8* %119, i8* %47
  %121 = add i32 %82, %78
  store i32 %121, i32* %77, align 4, !tbaa !83, !noalias !1259
  %122 = icmp ugt i32 %86, 15
  %123 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %124 = load i8*, i8** %123, align 4, !noalias !1259
  %125 = select i1 %122, i8* %124, i8* %45
  %126 = getelementptr inbounds i8, i8* %120, i32 %82
  %127 = icmp ule i8* %126, %125
  %128 = getelementptr inbounds i8, i8* %125, i32 %78
  %129 = icmp ult i8* %128, %120
  %130 = or i1 %127, %129
  br i1 %130, label %137, label %131

; <label>:131:                                    ; preds = %116
  %132 = icmp ugt i8* %125, %120
  br i1 %132, label %133, label %137

; <label>:133:                                    ; preds = %131
  %134 = ptrtoint i8* %125 to i32
  %135 = ptrtoint i8* %120 to i32
  %136 = sub i32 %134, %135
  br label %137

; <label>:137:                                    ; preds = %133, %131, %116
  %138 = phi i32 [ %136, %133 ], [ %82, %116 ], [ 0, %131 ]
  %139 = add i32 %78, 1
  %140 = getelementptr inbounds i8, i8* %125, i32 %82
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %140, i8* %125, i32 %139, i32 1, i1 false) #14, !noalias !1259
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %125, i8* %120, i32 %138, i32 1, i1 false) #14, !noalias !1259
  %141 = sub i32 %82, %138
  %142 = getelementptr inbounds i8, i8* %126, i32 %138
  %143 = getelementptr inbounds i8, i8* %125, i32 %138
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %143, i8* %142, i32 %141, i32 1, i1 false) #14, !noalias !1259
  %144 = load i8*, i8** %123, align 4
  %145 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %44, i8* %145, i32 12, i32 4, i1 false)
  %146 = load i32, i32* %77, align 4
  br label %147

; <label>:147:                                    ; preds = %137, %107
  %148 = phi i32* [ %115, %107 ], [ %85, %137 ]
  %149 = phi i8* [ %111, %107 ], [ %144, %137 ]
  %150 = phi i32 [ %114, %107 ], [ %146, %137 ]
  %151 = phi %"class.std::basic_string"* [ %108, %107 ], [ %9, %137 ]
  %152 = phi i8* [ %109, %107 ], [ %45, %137 ]
  %153 = load i32, i32* %148, align 1
  %154 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %151, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %154, align 4, !tbaa !83, !noalias !1259
  %155 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %151, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %155, align 4, !tbaa !81, !noalias !1259
  store i8 0, i8* %152, align 1, !tbaa !12, !noalias !1259
  %156 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %157 = icmp ugt i32 %156, 15
  br i1 %157, label %158, label %182

; <label>:158:                                    ; preds = %147
  %159 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %160 = add i32 %156, 1
  %161 = icmp ugt i32 %160, 4095
  br i1 %161, label %162, label %179

; <label>:162:                                    ; preds = %158
  %163 = add i32 %156, 36
  %164 = icmp ugt i32 %160, -36
  br i1 %164, label %178, label %165

; <label>:165:                                    ; preds = %162
  %166 = ptrtoint i8* %159 to i32
  %167 = and i32 %166, 31
  %168 = icmp eq i32 %167, 0
  br i1 %168, label %169, label %178

; <label>:169:                                    ; preds = %165
  %170 = add i32 %166, -4
  %171 = inttoptr i32 %170 to i32*
  %172 = load i32, i32* %171, align 4, !tbaa !24
  %173 = icmp ult i32 %172, %166
  br i1 %173, label %174, label %178

; <label>:174:                                    ; preds = %169
  %175 = sub i32 %170, %172
  %176 = icmp ugt i32 %175, 31
  %177 = inttoptr i32 %172 to i8*
  br i1 %176, label %178, label %179

; <label>:178:                                    ; preds = %174, %169, %165, %162
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:179:                                    ; preds = %174, %158
  %180 = phi i8* [ %177, %174 ], [ %159, %158 ]
  %181 = phi i32 [ %163, %174 ], [ %160, %158 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %180, i32 %181) #14
  br label %182

; <label>:182:                                    ; preds = %179, %147
  store i8* %149, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %44, i32 12, i32 4, i1 false)
  store i32 %150, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %153, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %183 = load i32, i32* %79, align 4, !tbaa !81
  %184 = icmp ugt i32 %183, 15
  br i1 %184, label %185, label %210

; <label>:185:                                    ; preds = %182
  %186 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %187 = load i8*, i8** %186, align 4, !tbaa !12
  %188 = add i32 %183, 1
  %189 = icmp ugt i32 %188, 4095
  br i1 %189, label %190, label %207

; <label>:190:                                    ; preds = %185
  %191 = add i32 %183, 36
  %192 = icmp ugt i32 %188, -36
  br i1 %192, label %206, label %193

; <label>:193:                                    ; preds = %190
  %194 = ptrtoint i8* %187 to i32
  %195 = and i32 %194, 31
  %196 = icmp eq i32 %195, 0
  br i1 %196, label %197, label %206

; <label>:197:                                    ; preds = %193
  %198 = add i32 %194, -4
  %199 = inttoptr i32 %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !24
  %201 = icmp ult i32 %200, %194
  br i1 %201, label %202, label %206

; <label>:202:                                    ; preds = %197
  %203 = sub i32 %198, %200
  %204 = icmp ugt i32 %203, 31
  %205 = inttoptr i32 %200 to i8*
  br i1 %204, label %206, label %207

; <label>:206:                                    ; preds = %202, %197, %193, %190
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:207:                                    ; preds = %202, %185
  %208 = phi i8* [ %205, %202 ], [ %187, %185 ]
  %209 = phi i32 [ %191, %202 ], [ %188, %185 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %208, i32 %209) #14
  br label %210

; <label>:210:                                    ; preds = %207, %182
  store i32 0, i32* %81, align 4, !tbaa !83
  store i32 15, i32* %79, align 4, !tbaa !81
  store i8 0, i8* %47, align 4, !tbaa !12
  %211 = load i32, i32* %57, align 4, !tbaa !81
  %212 = icmp ugt i32 %211, 15
  br i1 %212, label %213, label %238

; <label>:213:                                    ; preds = %210
  %214 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %215 = load i8*, i8** %214, align 4, !tbaa !12
  %216 = add i32 %211, 1
  %217 = icmp ugt i32 %216, 4095
  br i1 %217, label %218, label %235

; <label>:218:                                    ; preds = %213
  %219 = add i32 %211, 36
  %220 = icmp ugt i32 %216, -36
  br i1 %220, label %234, label %221

; <label>:221:                                    ; preds = %218
  %222 = ptrtoint i8* %215 to i32
  %223 = and i32 %222, 31
  %224 = icmp eq i32 %223, 0
  br i1 %224, label %225, label %234

; <label>:225:                                    ; preds = %221
  %226 = add i32 %222, -4
  %227 = inttoptr i32 %226 to i32*
  %228 = load i32, i32* %227, align 4, !tbaa !24
  %229 = icmp ult i32 %228, %222
  br i1 %229, label %230, label %234

; <label>:230:                                    ; preds = %225
  %231 = sub i32 %226, %228
  %232 = icmp ugt i32 %231, 31
  %233 = inttoptr i32 %228 to i8*
  br i1 %232, label %234, label %235

; <label>:234:                                    ; preds = %230, %225, %221, %218
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:235:                                    ; preds = %230, %213
  %236 = phi i8* [ %233, %230 ], [ %215, %213 ]
  %237 = phi i32 [ %219, %230 ], [ %216, %213 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %236, i32 %237) #14
  br label %238

; <label>:238:                                    ; preds = %235, %210
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %48) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %47) #14
  %239 = load i32, i32* %85, align 4, !tbaa !81
  %240 = icmp ugt i32 %239, 15
  br i1 %240, label %241, label %266

; <label>:241:                                    ; preds = %238
  %242 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %243 = load i8*, i8** %242, align 4, !tbaa !12
  %244 = add i32 %239, 1
  %245 = icmp ugt i32 %244, 4095
  br i1 %245, label %246, label %263

; <label>:246:                                    ; preds = %241
  %247 = add i32 %239, 36
  %248 = icmp ugt i32 %244, -36
  br i1 %248, label %262, label %249

; <label>:249:                                    ; preds = %246
  %250 = ptrtoint i8* %243 to i32
  %251 = and i32 %250, 31
  %252 = icmp eq i32 %251, 0
  br i1 %252, label %253, label %262

; <label>:253:                                    ; preds = %249
  %254 = add i32 %250, -4
  %255 = inttoptr i32 %254 to i32*
  %256 = load i32, i32* %255, align 4, !tbaa !24
  %257 = icmp ult i32 %256, %250
  br i1 %257, label %258, label %262

; <label>:258:                                    ; preds = %253
  %259 = sub i32 %254, %256
  %260 = icmp ugt i32 %259, 31
  %261 = inttoptr i32 %256 to i8*
  br i1 %260, label %262, label %263

; <label>:262:                                    ; preds = %258, %253, %249, %246
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:263:                                    ; preds = %258, %241
  %264 = phi i8* [ %261, %258 ], [ %243, %241 ]
  %265 = phi i32 [ %247, %258 ], [ %244, %241 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %264, i32 %265) #14
  br label %266

; <label>:266:                                    ; preds = %263, %238
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %45) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %44)
  br label %392

; <label>:267:                                    ; preds = %21
  %268 = bitcast %"struct.ast::ASTDetailedNodes"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %268) #14
  call x86_thiscallcc void @"\01?getProgram@ASTBuilder@ast@@QAE?AUASTDetailedNodes@2@XZ"(%"class.ast::ASTBuilder"* nonnull %5, %"struct.ast::ASTDetailedNodes"* nonnull sret %12) #14
  %269 = bitcast %"class.std::vector.4"* %13 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %269) #14
  %270 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %13, i32 0, i32 0, i32 0, i32 0, i32 0
  store %struct.AstNode* null, %struct.AstNode** %270, align 4, !tbaa !1262
  %271 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  store %struct.AstNode* null, %struct.AstNode** %271, align 4, !tbaa !1264
  %272 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  store %struct.AstNode* null, %struct.AstNode** %272, align 4, !tbaa !1265
  %273 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %12, i32 0, i32 1
  %274 = getelementptr inbounds %"struct.ast::ASTDetailedNodes", %"struct.ast::ASTDetailedNodes"* %12, i32 0, i32 0, i32 0
  %275 = load %"class.std::vector.37"*, %"class.std::vector.37"** %274, align 4
  %276 = call zeroext i1 @"\01?convertParseResult@@YA_NV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@ABV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@AAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@3@@Z"(%"class.std::vector.37"* %275, %"class.std::vector.45"* dereferenceable(12) %273, %"class.std::vector.4"* nonnull dereferenceable(12) %13)
  br i1 %276, label %277, label %346

; <label>:277:                                    ; preds = %267
  %278 = call i8* @"\01??2@YAPAXI@Z"(i32 12) #21, !noalias !1266
  %279 = getelementptr inbounds i8, i8* %278, i32 4
  %280 = getelementptr inbounds i8, i8* %278, i32 8
  %281 = bitcast %"class.std::vector.4"* %13 to i32*
  %282 = load i32, i32* %281, align 4, !tbaa !23, !noalias !1266
  %283 = bitcast i8* %278 to i32*
  store i32 %282, i32* %283, align 4, !tbaa !23, !noalias !1266
  %284 = bitcast %struct.AstNode** %271 to i32*
  %285 = load i32, i32* %284, align 4, !tbaa !23, !noalias !1266
  %286 = bitcast i8* %279 to i32*
  store i32 %285, i32* %286, align 4, !tbaa !23, !noalias !1266
  %287 = bitcast %struct.AstNode** %272 to i32*
  %288 = load i32, i32* %287, align 4, !tbaa !23, !noalias !1266
  %289 = bitcast i8* %280 to i32*
  store i32 %288, i32* %289, align 4, !tbaa !23, !noalias !1266
  store %struct.AstNode* null, %struct.AstNode** %270, align 4, !tbaa !23, !noalias !1266
  store %struct.AstNode* null, %struct.AstNode** %271, align 4, !tbaa !23, !noalias !1266
  store %struct.AstNode* null, %struct.AstNode** %272, align 4, !tbaa !23, !noalias !1266
  %290 = ptrtoint i8* %278 to i32
  %291 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %14, align 4, !tbaa !542
  %292 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %291, i32 0, i32 1, i32 0
  %293 = getelementptr inbounds %"class.std::unique_ptr", %"class.std::unique_ptr"* %292, i32 0, i32 0, i32 0, i32 0
  %294 = load %"class.std::vector.4"*, %"class.std::vector.4"** %293, align 4, !tbaa !23
  %295 = bitcast %"class.std::unique_ptr"* %292 to i32*
  store i32 %290, i32* %295, align 4, !tbaa !23
  %296 = icmp eq %"class.std::vector.4"* %294, null
  br i1 %296, label %346, label %297

; <label>:297:                                    ; preds = %277
  %298 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %294, i32 0, i32 0, i32 0, i32 0, i32 0
  %299 = load %struct.AstNode*, %struct.AstNode** %298, align 4, !tbaa !23
  %300 = icmp eq %struct.AstNode* %299, null
  br i1 %300, label %344, label %301

; <label>:301:                                    ; preds = %297
  %302 = ptrtoint %struct.AstNode* %299 to i32
  %303 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %294, i32 0, i32 0, i32 0, i32 0, i32 1
  %304 = load %struct.AstNode*, %struct.AstNode** %303, align 4, !tbaa !23
  %305 = icmp eq %struct.AstNode* %299, %304
  br i1 %305, label %315, label %306

; <label>:306:                                    ; preds = %301
  br label %307

; <label>:307:                                    ; preds = %307, %306
  %308 = phi %struct.AstNode* [ %310, %307 ], [ %299, %306 ]
  %309 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %308, i32 0, i32 0
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %309) #14
  %310 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %308, i32 1
  %311 = icmp eq %struct.AstNode* %310, %304
  br i1 %311, label %312, label %307

; <label>:312:                                    ; preds = %307
  %313 = bitcast %"class.std::vector.4"* %294 to i32*
  %314 = load i32, i32* %313, align 4, !tbaa !23
  br label %315

; <label>:315:                                    ; preds = %312, %301
  %316 = phi i32 [ %314, %312 ], [ %302, %301 ]
  %317 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %294, i32 0, i32 0, i32 0, i32 0, i32 2
  %318 = bitcast %struct.AstNode** %317 to i32*
  %319 = load i32, i32* %318, align 4, !tbaa !23
  %320 = sub i32 %319, %316
  %321 = ashr exact i32 %320, 5
  %322 = icmp ugt i32 %321, 134217727
  br i1 %322, label %339, label %323

; <label>:323:                                    ; preds = %315
  %324 = icmp ugt i32 %320, 4095
  br i1 %324, label %325, label %340

; <label>:325:                                    ; preds = %323
  %326 = icmp ult i32 %320, -35
  %327 = and i32 %316, 31
  %328 = icmp eq i32 %327, 0
  %329 = and i1 %328, %326
  br i1 %329, label %330, label %339

; <label>:330:                                    ; preds = %325
  %331 = add i32 %320, 35
  %332 = add i32 %316, -4
  %333 = inttoptr i32 %332 to i32*
  %334 = load i32, i32* %333, align 4, !tbaa !24
  %335 = icmp uge i32 %334, %316
  %336 = sub i32 %332, %334
  %337 = icmp ugt i32 %336, 31
  %338 = or i1 %335, %337
  br i1 %338, label %339, label %340

; <label>:339:                                    ; preds = %330, %325, %315
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:340:                                    ; preds = %330, %323
  %341 = phi i32 [ %316, %323 ], [ %334, %330 ]
  %342 = phi i32 [ %320, %323 ], [ %331, %330 ]
  %343 = inttoptr i32 %341 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %343, i32 %342) #14
  br label %344

; <label>:344:                                    ; preds = %340, %297
  %345 = bitcast %"class.std::vector.4"* %294 to i8*
  call void @"\01??3@YAXPAX@Z"(i8* %345) #21
  br label %346

; <label>:346:                                    ; preds = %344, %277, %267
  %347 = phi i1 [ false, %267 ], [ true, %344 ], [ true, %277 ]
  %348 = load %struct.AstNode*, %struct.AstNode** %270, align 4, !tbaa !23
  %349 = icmp eq %struct.AstNode* %348, null
  br i1 %349, label %391, label %350

; <label>:350:                                    ; preds = %346
  %351 = ptrtoint %struct.AstNode* %348 to i32
  %352 = load %struct.AstNode*, %struct.AstNode** %271, align 4, !tbaa !23
  %353 = icmp eq %struct.AstNode* %348, %352
  br i1 %353, label %363, label %354

; <label>:354:                                    ; preds = %350
  br label %355

; <label>:355:                                    ; preds = %355, %354
  %356 = phi %struct.AstNode* [ %358, %355 ], [ %348, %354 ]
  %357 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %356, i32 0, i32 0
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %357) #14
  %358 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %356, i32 1
  %359 = icmp eq %struct.AstNode* %358, %352
  br i1 %359, label %360, label %355

; <label>:360:                                    ; preds = %355
  %361 = bitcast %"class.std::vector.4"* %13 to i32*
  %362 = load i32, i32* %361, align 4, !tbaa !23
  br label %363

; <label>:363:                                    ; preds = %360, %350
  %364 = phi i32 [ %362, %360 ], [ %351, %350 ]
  %365 = bitcast %struct.AstNode** %272 to i32*
  %366 = load i32, i32* %365, align 4, !tbaa !23
  %367 = sub i32 %366, %364
  %368 = ashr exact i32 %367, 5
  %369 = icmp ugt i32 %368, 134217727
  br i1 %369, label %386, label %370

; <label>:370:                                    ; preds = %363
  %371 = icmp ugt i32 %367, 4095
  br i1 %371, label %372, label %387

; <label>:372:                                    ; preds = %370
  %373 = icmp ult i32 %367, -35
  %374 = and i32 %364, 31
  %375 = icmp eq i32 %374, 0
  %376 = and i1 %375, %373
  br i1 %376, label %377, label %386

; <label>:377:                                    ; preds = %372
  %378 = add i32 %367, 35
  %379 = add i32 %364, -4
  %380 = inttoptr i32 %379 to i32*
  %381 = load i32, i32* %380, align 4, !tbaa !24
  %382 = icmp uge i32 %381, %364
  %383 = sub i32 %379, %381
  %384 = icmp ugt i32 %383, 31
  %385 = or i1 %382, %384
  br i1 %385, label %386, label %387

; <label>:386:                                    ; preds = %377, %372, %363
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:387:                                    ; preds = %377, %370
  %388 = phi i32 [ %364, %370 ], [ %381, %377 ]
  %389 = phi i32 [ %367, %370 ], [ %378, %377 ]
  %390 = inttoptr i32 %388 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %390, i32 %389) #14
  store %struct.AstNode* null, %struct.AstNode** %270, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %271, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %272, align 4, !tbaa !23
  br label %391

; <label>:391:                                    ; preds = %387, %346
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %269) #14
  call x86_thiscallcc void @"\01??1?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@QAE@XZ"(%"class.std::vector.45"* nonnull %273) #14
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %268) #14
  br label %392

; <label>:392:                                    ; preds = %391, %266, %40
  %393 = phi i1 [ %347, %391 ], [ false, %266 ], [ false, %40 ]
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %37) #14
  call x86_thiscallcc void @"\01??1Parser@parser@@UAE@XZ"(%"class.parser::Parser"* nonnull %6) #14
  call void @llvm.lifetime.end.p0i8(i64 56, i8* nonnull %27) #14
  %394 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %5, i32 0, i32 0, i32 0
  store i32 (...)** bitcast (i8** @"\01??_7ASTBuilder@ast@@6B@" to i32 (...)**), i32 (...)*** %394, align 4, !tbaa !9
  %395 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %5, i32 0, i32 4, i32 0, i32 0, i32 0, i32 0
  %396 = load %class.variant*, %class.variant** %395, align 4, !tbaa !23
  %397 = icmp eq %class.variant* %396, null
  %398 = ptrtoint %class.variant* %396 to i32
  br i1 %397, label %429, label %399

; <label>:399:                                    ; preds = %392
  %400 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %5, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %401 = getelementptr inbounds %"class.ast::ASTBuilder", %"class.ast::ASTBuilder"* %5, i32 0, i32 4, i32 0, i32 0, i32 0, i32 2
  %402 = bitcast %class.variant** %401 to i32*
  %403 = load i32, i32* %402, align 4, !tbaa !23
  %404 = sub i32 %403, %398
  %405 = ashr exact i32 %404, 4
  %406 = icmp ugt i32 %405, 268435455
  br i1 %406, label %425, label %407

; <label>:407:                                    ; preds = %399
  %408 = bitcast %class.variant* %396 to i8*
  %409 = icmp ugt i32 %404, 4095
  br i1 %409, label %410, label %426

; <label>:410:                                    ; preds = %407
  %411 = add i32 %404, 35
  %412 = icmp ult i32 %404, -35
  %413 = and i32 %398, 31
  %414 = icmp eq i32 %413, 0
  %415 = and i1 %414, %412
  br i1 %415, label %416, label %425

; <label>:416:                                    ; preds = %410
  %417 = add i32 %398, -4
  %418 = inttoptr i32 %417 to i32*
  %419 = load i32, i32* %418, align 4, !tbaa !24
  %420 = icmp ult i32 %419, %398
  br i1 %420, label %421, label %425

; <label>:421:                                    ; preds = %416
  %422 = sub i32 %417, %419
  %423 = icmp ugt i32 %422, 31
  %424 = inttoptr i32 %419 to i8*
  br i1 %423, label %425, label %426

; <label>:425:                                    ; preds = %421, %416, %410, %399
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:426:                                    ; preds = %421, %407
  %427 = phi i8* [ %424, %421 ], [ %408, %407 ]
  %428 = phi i32 [ %411, %421 ], [ %404, %407 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %427, i32 %428) #14
  store %class.variant* null, %class.variant** %395, align 4, !tbaa !23
  store %class.variant* null, %class.variant** %400, align 4, !tbaa !23
  store %class.variant* null, %class.variant** %401, align 4, !tbaa !23
  br label %429

; <label>:429:                                    ; preds = %426, %392
  call x86_thiscallcc void @"\01??1EventHandler@parser@@UAE@XZ"(%"class.parser::EventHandler"* nonnull %28) #14
  call void @llvm.lifetime.end.p0i8(i64 36, i8* nonnull %25) #14
  %430 = load i32, i32* %30, align 4, !tbaa !54
  %431 = icmp ugt i32 %430, 7
  br i1 %431, label %432, label %460

; <label>:432:                                    ; preds = %429
  %433 = load i16*, i16** %33, align 4, !tbaa !12
  %434 = add i32 %430, 1
  %435 = icmp slt i32 %434, 0
  br i1 %435, label %456, label %436

; <label>:436:                                    ; preds = %432
  %437 = bitcast i16* %433 to i8*
  %438 = shl i32 %434, 1
  %439 = icmp ugt i32 %438, 4095
  br i1 %439, label %440, label %457

; <label>:440:                                    ; preds = %436
  %441 = add i32 %438, 35
  %442 = icmp ugt i32 %438, -36
  br i1 %442, label %456, label %443

; <label>:443:                                    ; preds = %440
  %444 = ptrtoint i16* %433 to i32
  %445 = and i32 %444, 31
  %446 = icmp eq i32 %445, 0
  br i1 %446, label %447, label %456

; <label>:447:                                    ; preds = %443
  %448 = add i32 %444, -4
  %449 = inttoptr i32 %448 to i32*
  %450 = load i32, i32* %449, align 4, !tbaa !24
  %451 = icmp ult i32 %450, %444
  br i1 %451, label %452, label %456

; <label>:452:                                    ; preds = %447
  %453 = sub i32 %448, %450
  %454 = icmp ugt i32 %453, 31
  %455 = inttoptr i32 %450 to i8*
  br i1 %454, label %456, label %457

; <label>:456:                                    ; preds = %452, %447, %443, %440, %432
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:457:                                    ; preds = %452, %436
  %458 = phi i8* [ %455, %452 ], [ %437, %436 ]
  %459 = phi i32 [ %441, %452 ], [ %438, %436 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %458, i32 %459) #14
  br label %460

; <label>:460:                                    ; preds = %457, %429
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %23) #14
  ret i1 %393
}

; Function Attrs: nounwind
define zeroext i1 @"\01?convertParseResult@@YA_NV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@ABV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@AAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@3@@Z"(%"class.std::vector.37"*, %"class.std::vector.45"* readonly dereferenceable(12), %"class.std::vector.4"* dereferenceable(12)) local_unnamed_addr #2 {
  %4 = alloca %"struct.std::pair.148", align 4
  %5 = alloca i8*, align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::pair.148", align 4
  %8 = alloca i8*, align 4
  %9 = alloca %"struct.std::pair.148", align 4
  %10 = alloca i8*, align 4
  %11 = alloca %"struct.std::pair.148", align 4
  %12 = alloca i8*, align 4
  %13 = alloca %"struct.std::pair.148", align 4
  %14 = alloca i8*, align 4
  %15 = alloca %"struct.std::pair.148", align 4
  %16 = alloca i8*, align 4
  %17 = alloca %"struct.std::pair.148", align 4
  %18 = alloca i8*, align 4
  %19 = alloca %"struct.std::pair.148", align 4
  %20 = alloca i8*, align 4
  %21 = alloca %struct.AstNode, align 8
  %22 = alloca %struct.AstNode, align 8
  %23 = alloca %struct.AstNode, align 8
  %24 = alloca %struct.AstNode, align 8
  %25 = alloca %struct.AstNode, align 8
  %26 = alloca %struct.AstNode, align 8
  %27 = alloca %struct.AstNode, align 8
  %28 = alloca %struct.AstNode, align 8
  %29 = alloca %struct.AstNode, align 8
  %30 = alloca %struct.AstNode, align 8
  %31 = alloca %struct.AstNode, align 8
  %32 = alloca %struct.AstNode, align 8
  %33 = alloca %struct.AstNode, align 8
  %34 = alloca %"class.std::basic_string", align 4
  %35 = alloca %"class.std::vector.4", align 4
  %36 = alloca %struct.AstNode, align 8
  %37 = alloca %"class.std::vector.4", align 4
  %38 = alloca %struct.AstNode, align 8
  %39 = alloca %"class.std::vector.4", align 4
  %40 = alloca %struct.AstNode, align 8
  %41 = alloca %struct.AstNode, align 8
  %42 = alloca %"class.std::basic_string", align 4
  %43 = alloca %struct.AstNode, align 8
  %44 = alloca %"class.std::basic_string", align 4
  %45 = alloca %struct.AstNode, align 8
  %46 = alloca %"class.std::basic_string", align 4
  %47 = alloca %struct.AstNode, align 8
  %48 = alloca %"class.std::basic_string", align 4
  %49 = alloca %struct.AstNode, align 8
  %50 = alloca %"class.std::basic_string", align 4
  %51 = alloca %struct.AstNode, align 8
  %52 = alloca %"class.std::basic_string", align 4
  %53 = alloca %struct.AstNode, align 8
  %54 = alloca %"class.std::basic_string", align 4
  %55 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %56 = bitcast %"struct.ast::ASTNodeInfo"** %55 to i32*
  %57 = load i32, i32* %56, align 4, !tbaa !23
  %58 = bitcast %"class.std::vector.45"* %1 to i32*
  %59 = load i32, i32* %58, align 4, !tbaa !23
  %60 = sub i32 %57, %59
  %61 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %62 = bitcast %class.variant.43** %61 to i32*
  %63 = load i32, i32* %62, align 4, !tbaa !23
  %64 = bitcast %"class.std::vector.37"* %0 to i32*
  %65 = load i32, i32* %64, align 4, !tbaa !23
  %66 = sub i32 %63, %65
  %67 = icmp eq i32 %60, %66
  br i1 %67, label %71, label %68

; <label>:68:                                     ; preds = %3
  tail call void @_wassert(i16* getelementptr inbounds ([40 x i16], [40 x i16]* @"\01??_C@_1FA@KKJNNKNK@?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAI?$AAn?$AAf?$AAo?$AAs?$AA?4?$AAs?$AAi?$AAz?$AAe?$AA?$CI?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAa?$AAs?$AAt?$AAN?$AAo?$AAd?$AAe?$AAs?$AA?9@", i32 0, i32 0), i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 656) #14
  %69 = load i32, i32* %62, align 4, !tbaa !23
  %70 = load i32, i32* %64, align 4, !tbaa !23
  br label %71

; <label>:71:                                     ; preds = %68, %3
  %72 = phi i32 [ %70, %68 ], [ %65, %3 ]
  %73 = phi i32 [ %69, %68 ], [ %63, %3 ]
  %74 = icmp eq i32 %73, %72
  br i1 %74, label %1262, label %75

; <label>:75:                                     ; preds = %71
  %76 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %77 = bitcast %struct.AstNode* %21 to i8*
  %78 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %21, i32 0, i32 0
  %79 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %21, i32 0, i32 0, i32 1
  %80 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %21, i32 0, i32 1
  %81 = getelementptr inbounds %"class.std::vector.45", %"class.std::vector.45"* %1, i32 0, i32 0, i32 0, i32 0, i32 0
  %82 = bitcast %struct.AstNode* %22 to i8*
  %83 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %22, i32 0, i32 0
  %84 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %22, i32 0, i32 0, i32 1
  %85 = bitcast %struct.AstNode* %22 to i16*
  %86 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %22, i32 0, i32 1
  %87 = bitcast %struct.AstNode* %23 to i8*
  %88 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %23, i32 0, i32 0
  %89 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %23, i32 0, i32 0, i32 1
  %90 = bitcast %struct.AstNode* %23 to i32*
  %91 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %23, i32 0, i32 1
  %92 = bitcast %struct.AstNode* %24 to i8*
  %93 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %24, i32 0, i32 0
  %94 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %24, i32 0, i32 0, i32 1
  %95 = bitcast %struct.AstNode* %24 to i64*
  %96 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %24, i32 0, i32 1
  %97 = bitcast %struct.AstNode* %25 to i8*
  %98 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %25, i32 0, i32 0
  %99 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %25, i32 0, i32 0, i32 1
  %100 = bitcast %struct.AstNode* %25 to i32*
  %101 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %25, i32 0, i32 1
  %102 = bitcast %struct.AstNode* %26 to i8*
  %103 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %26, i32 0, i32 0
  %104 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %26, i32 0, i32 0, i32 1
  %105 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %26, i32 0, i32 1
  %106 = bitcast %struct.AstNode* %27 to i8*
  %107 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %27, i32 0, i32 0
  %108 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %27, i32 0, i32 0, i32 1
  %109 = bitcast %struct.AstNode* %27 to i16*
  %110 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %27, i32 0, i32 1
  %111 = bitcast %struct.AstNode* %28 to i8*
  %112 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %28, i32 0, i32 0
  %113 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %28, i32 0, i32 0, i32 1
  %114 = bitcast %struct.AstNode* %28 to i32*
  %115 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %28, i32 0, i32 1
  %116 = bitcast %struct.AstNode* %29 to i8*
  %117 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %29, i32 0, i32 0
  %118 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %29, i32 0, i32 0, i32 1
  %119 = bitcast %struct.AstNode* %29 to i64*
  %120 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %29, i32 0, i32 1
  %121 = bitcast %struct.AstNode* %30 to i8*
  %122 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %30, i32 0, i32 0
  %123 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %30, i32 0, i32 0, i32 1
  %124 = bitcast %struct.AstNode* %30 to i32*
  %125 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %30, i32 0, i32 1
  %126 = bitcast %struct.AstNode* %31 to i8*
  %127 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %31, i32 0, i32 0
  %128 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %31, i32 0, i32 0, i32 1
  %129 = bitcast %struct.AstNode* %31 to i32*
  %130 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %31, i32 0, i32 1
  %131 = bitcast %struct.AstNode* %32 to i8*
  %132 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %32, i32 0, i32 0
  %133 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %32, i32 0, i32 0, i32 1
  %134 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %32, i32 0, i32 0, i32 0, i32 0, i32 0
  %135 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %32, i32 0, i32 1
  %136 = bitcast %struct.AstNode* %33 to i8*
  %137 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %33, i32 0, i32 0
  %138 = bitcast %"class.std::basic_string"* %34 to i8*
  %139 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 1
  %140 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 2
  %141 = bitcast %"struct.std::pair.148"* %7 to i8*
  %142 = bitcast i8** %8 to i8*
  %143 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %7, i32 0, i32 1
  %144 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %7, i32 0, i32 0, i32 0, i32 0, i32 0
  %145 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %33, i32 0, i32 0, i32 1
  %146 = bitcast %struct.AstNode* %33 to i32*
  %147 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %33, i32 0, i32 1
  %148 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %149 = bitcast %"class.std::basic_string"* %34 to i32*
  %150 = bitcast %"class.std::vector.4"* %35 to i8*
  %151 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %35, i32 0, i32 0, i32 0, i32 0, i32 0
  %152 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %35, i32 0, i32 0, i32 0, i32 0, i32 1
  %153 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %35, i32 0, i32 0, i32 0, i32 0, i32 2
  %154 = bitcast %struct.AstNode* %36 to i8*
  %155 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %36, i32 0, i32 0
  %156 = bitcast %"class.std::vector.4"* %35 to i32*
  %157 = bitcast %struct.AstNode** %152 to i32*
  %158 = bitcast %struct.AstNode** %153 to i32*
  %159 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %36, i32 0, i32 0, i32 1
  %160 = bitcast %struct.AstNode* %36 to %struct.ListBegin*
  %161 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %160, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %162 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %36, i32 0, i32 0, i32 0, i32 0, i32 1
  %163 = bitcast %struct.AstNode* %36 to i32*
  %164 = bitcast %struct.AstNode** %161 to i32*
  %165 = bitcast [8 x i8]* %162 to i32*
  %166 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %36, i32 0, i32 1
  %167 = bitcast %struct.AstNode* %53 to i8*
  %168 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %53, i32 0, i32 0
  %169 = bitcast %"class.std::basic_string"* %54 to i8*
  %170 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 1
  %171 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 2
  %172 = bitcast %"struct.std::pair.148"* %19 to i8*
  %173 = bitcast i8** %20 to i8*
  %174 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %19, i32 0, i32 1
  %175 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %19, i32 0, i32 0, i32 0, i32 0, i32 0
  %176 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %53, i32 0, i32 0, i32 1
  %177 = bitcast %struct.AstNode* %53 to i32*
  %178 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %53, i32 0, i32 1
  %179 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %180 = bitcast %"class.std::basic_string"* %54 to i32*
  %181 = bitcast %"class.std::vector.4"* %37 to i8*
  %182 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %37, i32 0, i32 0, i32 0, i32 0, i32 0
  %183 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %37, i32 0, i32 0, i32 0, i32 0, i32 1
  %184 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %37, i32 0, i32 0, i32 0, i32 0, i32 2
  %185 = bitcast %struct.AstNode* %38 to i8*
  %186 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %38, i32 0, i32 0
  %187 = bitcast %"class.std::vector.4"* %37 to i32*
  %188 = bitcast %struct.AstNode** %183 to i32*
  %189 = bitcast %struct.AstNode** %184 to i32*
  %190 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %38, i32 0, i32 0, i32 1
  %191 = bitcast %struct.AstNode* %38 to %struct.ListBegin*
  %192 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %191, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %193 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %38, i32 0, i32 0, i32 0, i32 0, i32 1
  %194 = bitcast %struct.AstNode* %38 to i32*
  %195 = bitcast %struct.AstNode** %192 to i32*
  %196 = bitcast [8 x i8]* %193 to i32*
  %197 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %38, i32 0, i32 1
  %198 = bitcast %struct.AstNode* %51 to i8*
  %199 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %51, i32 0, i32 0
  %200 = bitcast %"class.std::basic_string"* %52 to i8*
  %201 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 1
  %202 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 2
  %203 = bitcast %"struct.std::pair.148"* %17 to i8*
  %204 = bitcast i8** %18 to i8*
  %205 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %17, i32 0, i32 1
  %206 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %17, i32 0, i32 0, i32 0, i32 0, i32 0
  %207 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %51, i32 0, i32 0, i32 1
  %208 = bitcast %struct.AstNode* %51 to i32*
  %209 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %51, i32 0, i32 1
  %210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %211 = bitcast %"class.std::basic_string"* %52 to i32*
  %212 = bitcast %"class.std::vector.4"* %39 to i8*
  %213 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %39, i32 0, i32 0, i32 0, i32 0, i32 0
  %214 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %39, i32 0, i32 0, i32 0, i32 0, i32 1
  %215 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %39, i32 0, i32 0, i32 0, i32 0, i32 2
  %216 = bitcast %struct.AstNode* %40 to i8*
  %217 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %40, i32 0, i32 0
  %218 = bitcast %"class.std::vector.4"* %39 to i32*
  %219 = bitcast %struct.AstNode** %214 to i32*
  %220 = bitcast %struct.AstNode** %215 to i32*
  %221 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %40, i32 0, i32 0, i32 1
  %222 = bitcast %struct.AstNode* %40 to %struct.ListBegin*
  %223 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %222, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %224 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %40, i32 0, i32 0, i32 0, i32 0, i32 1
  %225 = bitcast %struct.AstNode* %40 to i32*
  %226 = bitcast %struct.AstNode** %223 to i32*
  %227 = bitcast [8 x i8]* %224 to i32*
  %228 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %40, i32 0, i32 1
  %229 = bitcast %struct.AstNode* %41 to i8*
  %230 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %41, i32 0, i32 0
  %231 = bitcast %"class.std::basic_string"* %42 to i8*
  %232 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 1
  %233 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 2
  %234 = bitcast %"struct.std::pair.148"* %4 to i8*
  %235 = bitcast i8** %5 to i8*
  %236 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %4, i32 0, i32 1
  %237 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %4, i32 0, i32 0, i32 0, i32 0, i32 0
  %238 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %41, i32 0, i32 0, i32 1
  %239 = bitcast %struct.AstNode* %41 to i32*
  %240 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %41, i32 0, i32 1
  %241 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %242 = bitcast %"class.std::basic_string"* %42 to i32*
  %243 = bitcast %struct.AstNode* %43 to i8*
  %244 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %43, i32 0, i32 0
  %245 = bitcast %"class.std::basic_string"* %44 to i8*
  %246 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 1
  %247 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 2
  %248 = bitcast %"struct.std::pair.148"* %9 to i8*
  %249 = bitcast i8** %10 to i8*
  %250 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %9, i32 0, i32 1
  %251 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %9, i32 0, i32 0, i32 0, i32 0, i32 0
  %252 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %43, i32 0, i32 0, i32 1
  %253 = bitcast %struct.AstNode* %43 to i32*
  %254 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %43, i32 0, i32 1
  %255 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %256 = bitcast %"class.std::basic_string"* %44 to i32*
  %257 = bitcast %struct.AstNode* %45 to i8*
  %258 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %45, i32 0, i32 0
  %259 = bitcast %"class.std::basic_string"* %46 to i8*
  %260 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 1
  %261 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 2
  %262 = bitcast %"struct.std::pair.148"* %11 to i8*
  %263 = bitcast i8** %12 to i8*
  %264 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %11, i32 0, i32 1
  %265 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %11, i32 0, i32 0, i32 0, i32 0, i32 0
  %266 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %45, i32 0, i32 0, i32 1
  %267 = bitcast %struct.AstNode* %45 to i32*
  %268 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %45, i32 0, i32 1
  %269 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %270 = bitcast %"class.std::basic_string"* %46 to i32*
  %271 = bitcast %struct.AstNode* %47 to i8*
  %272 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %47, i32 0, i32 0
  %273 = bitcast %"class.std::basic_string"* %48 to i8*
  %274 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 1
  %275 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 2
  %276 = bitcast %"struct.std::pair.148"* %13 to i8*
  %277 = bitcast i8** %14 to i8*
  %278 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %13, i32 0, i32 1
  %279 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %13, i32 0, i32 0, i32 0, i32 0, i32 0
  %280 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %47, i32 0, i32 0, i32 1
  %281 = bitcast %struct.AstNode* %47 to i32*
  %282 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %47, i32 0, i32 1
  %283 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %284 = bitcast %"class.std::basic_string"* %48 to i32*
  %285 = bitcast %struct.AstNode* %49 to i8*
  %286 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %49, i32 0, i32 0
  %287 = bitcast %"class.std::basic_string"* %50 to i8*
  %288 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 1
  %289 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 2
  %290 = bitcast %"struct.std::pair.148"* %15 to i8*
  %291 = bitcast i8** %16 to i8*
  %292 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %15, i32 0, i32 1
  %293 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %15, i32 0, i32 0, i32 0, i32 0, i32 0
  %294 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %49, i32 0, i32 0, i32 1
  %295 = bitcast %struct.AstNode* %49 to i32*
  %296 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %49, i32 0, i32 1
  %297 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %298 = bitcast %"class.std::basic_string"* %50 to i32*
  %299 = load %class.variant.43*, %class.variant.43** %76, align 4, !tbaa !23
  br label %300

; <label>:300:                                    ; preds = %1254, %75
  %301 = phi %class.variant.43* [ %299, %75 ], [ %1261, %1254 ]
  %302 = phi i32 [ 0, %75 ], [ %1255, %1254 ]
  %303 = getelementptr inbounds %class.variant.43, %class.variant.43* %301, i32 %302
  %304 = getelementptr inbounds %class.variant.43, %class.variant.43* %301, i32 %302, i32 1
  %305 = load i32, i32* %304, align 8, !tbaa !135
  switch i32 %305, label %1254 [
    i32 0, label %306
    i32 1, label %313
    i32 2, label %320
    i32 3, label %327
    i32 4, label %334
    i32 5, label %342
    i32 6, label %349
    i32 7, label %356
    i32 8, label %363
    i32 9, label %370
    i32 10, label %378
    i32 11, label %385
    i32 12, label %392
    i32 13, label %476
    i32 25, label %1170
    i32 15, label %535
    i32 24, label %1086
    i32 17, label %594
    i32 18, label %653
    i32 19, label %737
    i32 20, label %750
    i32 21, label %834
    i32 22, label %918
    i32 23, label %1002
  ]

; <label>:306:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %77) #14
  %307 = bitcast %class.variant.43* %303 to i8*
  store i32 0, i32* %79, align 8, !tbaa !1015
  %308 = load i8, i8* %307, align 1, !tbaa !12
  store i8 %308, i8* %77, align 8, !tbaa !12
  %309 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %310 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %309, i32 %302, i32 0
  %311 = load i32, i32* %310, align 4, !tbaa !67
  store i32 %311, i32* %80, align 8, !tbaa !1091
  %312 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %21) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %78) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %77) #14
  br label %1254

; <label>:313:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %82) #14
  %314 = bitcast %class.variant.43* %303 to i16*
  store i32 1, i32* %84, align 8, !tbaa !1015
  %315 = load i16, i16* %314, align 2, !tbaa !59
  store i16 %315, i16* %85, align 8, !tbaa !59
  %316 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %317 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %316, i32 %302, i32 0
  %318 = load i32, i32* %317, align 4, !tbaa !67
  store i32 %318, i32* %86, align 8, !tbaa !1091
  %319 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %22) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %83) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %82) #14
  br label %1254

; <label>:320:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %87) #14
  %321 = bitcast %class.variant.43* %303 to i32*
  store i32 2, i32* %89, align 8, !tbaa !1015
  %322 = load i32, i32* %321, align 4, !tbaa !24
  store i32 %322, i32* %90, align 8, !tbaa !24
  %323 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %324 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %323, i32 %302, i32 0
  %325 = load i32, i32* %324, align 4, !tbaa !67
  store i32 %325, i32* %91, align 8, !tbaa !1091
  %326 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %23) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %88) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %87) #14
  br label %1254

; <label>:327:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %92) #14
  %328 = bitcast %class.variant.43* %303 to i64*
  store i32 3, i32* %94, align 8, !tbaa !1015
  %329 = load i64, i64* %328, align 8, !tbaa !61
  store i64 %329, i64* %95, align 8, !tbaa !61
  %330 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %331 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %330, i32 %302, i32 0
  %332 = load i32, i32* %331, align 4, !tbaa !67
  store i32 %332, i32* %96, align 8, !tbaa !1091
  %333 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %24) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %93) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %92) #14
  br label %1254

; <label>:334:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %97) #14
  %335 = bitcast %class.variant.43* %303 to i64*
  %336 = load i64, i64* %335, align 8, !tbaa !63
  %337 = trunc i64 %336 to i32
  store i32 4, i32* %99, align 8, !tbaa !1015
  store i32 %337, i32* %100, align 8, !tbaa !24
  %338 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %339 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %338, i32 %302, i32 0
  %340 = load i32, i32* %339, align 4, !tbaa !67
  store i32 %340, i32* %101, align 8, !tbaa !1091
  %341 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %25) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %98) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %97) #14
  br label %1254

; <label>:342:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %102) #14
  %343 = bitcast %class.variant.43* %303 to i8*
  store i32 5, i32* %104, align 8, !tbaa !1015
  %344 = load i8, i8* %343, align 1, !tbaa !12
  store i8 %344, i8* %102, align 8, !tbaa !12
  %345 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %346 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %345, i32 %302, i32 0
  %347 = load i32, i32* %346, align 4, !tbaa !67
  store i32 %347, i32* %105, align 8, !tbaa !1091
  %348 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %26) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %103) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %102) #14
  br label %1254

; <label>:349:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %106) #14
  %350 = bitcast %class.variant.43* %303 to i16*
  store i32 6, i32* %108, align 8, !tbaa !1015
  %351 = load i16, i16* %350, align 2, !tbaa !59
  store i16 %351, i16* %109, align 8, !tbaa !59
  %352 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %353 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %352, i32 %302, i32 0
  %354 = load i32, i32* %353, align 4, !tbaa !67
  store i32 %354, i32* %110, align 8, !tbaa !1091
  %355 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %27) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %107) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %106) #14
  br label %1254

; <label>:356:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %111) #14
  %357 = bitcast %class.variant.43* %303 to i32*
  store i32 7, i32* %113, align 8, !tbaa !1015
  %358 = load i32, i32* %357, align 4, !tbaa !24
  store i32 %358, i32* %114, align 8, !tbaa !24
  %359 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %360 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %359, i32 %302, i32 0
  %361 = load i32, i32* %360, align 4, !tbaa !67
  store i32 %361, i32* %115, align 8, !tbaa !1091
  %362 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %28) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %112) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %111) #14
  br label %1254

; <label>:363:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %116) #14
  %364 = bitcast %class.variant.43* %303 to i64*
  store i32 8, i32* %118, align 8, !tbaa !1015
  %365 = load i64, i64* %364, align 8, !tbaa !61
  store i64 %365, i64* %119, align 8, !tbaa !61
  %366 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %367 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %366, i32 %302, i32 0
  %368 = load i32, i32* %367, align 4, !tbaa !67
  store i32 %368, i32* %120, align 8, !tbaa !1091
  %369 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %29) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %117) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %116) #14
  br label %1254

; <label>:370:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %121) #14
  %371 = bitcast %class.variant.43* %303 to i64*
  %372 = load i64, i64* %371, align 8, !tbaa !65
  %373 = trunc i64 %372 to i32
  store i32 9, i32* %123, align 8, !tbaa !1015
  store i32 %373, i32* %124, align 8, !tbaa !24
  %374 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %375 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %374, i32 %302, i32 0
  %376 = load i32, i32* %375, align 4, !tbaa !67
  store i32 %376, i32* %125, align 8, !tbaa !1091
  %377 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %30) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %122) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %121) #14
  br label %1254

; <label>:378:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %126) #14
  store i32 10, i32* %128, align 8, !tbaa !1015
  %379 = bitcast %class.variant.43* %303 to i32*
  %380 = load i32, i32* %379, align 4, !tbaa !70
  store i32 %380, i32* %129, align 8, !tbaa !70
  %381 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %382 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %381, i32 %302, i32 0
  %383 = load i32, i32* %382, align 4, !tbaa !67
  store i32 %383, i32* %130, align 8, !tbaa !1091
  %384 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %31) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %127) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %126) #14
  br label %1254

; <label>:385:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %131) #14
  %386 = getelementptr inbounds %class.variant.43, %class.variant.43* %303, i32 0, i32 0, i32 0, i32 0
  store i32 11, i32* %133, align 8, !tbaa !1015
  %387 = load double, double* %386, align 8, !tbaa !72
  store double %387, double* %134, align 8, !tbaa !72
  %388 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %389 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %388, i32 %302, i32 0
  %390 = load i32, i32* %389, align 4, !tbaa !67
  store i32 %390, i32* %135, align 8, !tbaa !1091
  %391 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %32) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %132) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %131) #14
  br label %1254

; <label>:392:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %136) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %138) #14
  %393 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %394 = load %"class.std::basic_string"*, %"class.std::basic_string"** %393, align 4, !tbaa !74
  store i32 0, i32* %139, align 4, !tbaa !83
  store i32 0, i32* %140, align 4, !tbaa !81
  %395 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %394, i32 0, i32 0, i32 0, i32 0, i32 1
  %396 = load i32, i32* %395, align 4, !tbaa !83
  %397 = bitcast %"class.std::basic_string"* %394 to i8*
  %398 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %394, i32 0, i32 0, i32 0, i32 0, i32 2
  %399 = load i32, i32* %398, align 4, !tbaa !81
  %400 = icmp ugt i32 %399, 15
  %401 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %394, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %402 = load i8*, i8** %401, align 4
  %403 = select i1 %400, i8* %402, i8* %397
  %404 = icmp ult i32 %396, 16
  br i1 %404, label %405, label %406

; <label>:405:                                    ; preds = %392
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %138, i8* %403, i32 16, i32 1, i1 false) #14
  br label %427

; <label>:406:                                    ; preds = %392
  %407 = or i32 %396, 15
  %408 = icmp ult i32 %407, 2147483647
  %409 = select i1 %408, i32 %407, i32 2147483647
  %410 = icmp ugt i32 %409, 4094
  br i1 %410, label %411, label %420

; <label>:411:                                    ; preds = %406
  %412 = add nuw i32 %409, 36
  %413 = call i8* @"\01??2@YAPAXI@Z"(i32 %412) #14
  %414 = ptrtoint i8* %413 to i32
  %415 = add i32 %414, 35
  %416 = and i32 %415, -32
  %417 = inttoptr i32 %416 to i8*
  %418 = inttoptr i32 %416 to i32*
  %419 = getelementptr inbounds i32, i32* %418, i32 -1
  store i32 %414, i32* %419, align 4, !tbaa !24
  br label %423

; <label>:420:                                    ; preds = %406
  %421 = add nuw i32 %409, 1
  %422 = call i8* @"\01??2@YAPAXI@Z"(i32 %421) #14
  br label %423

; <label>:423:                                    ; preds = %420, %411
  %424 = phi i8* [ %417, %411 ], [ %422, %420 ]
  %425 = ptrtoint i8* %424 to i32
  store i32 %425, i32* %149, align 4, !tbaa !23
  %426 = add i32 %396, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %424, i8* %403, i32 %426, i32 1, i1 false) #14
  br label %427

; <label>:427:                                    ; preds = %423, %405
  %428 = phi i32 [ %409, %423 ], [ 15, %405 ]
  store i32 %396, i32* %139, align 4, !tbaa !83
  store i32 %428, i32* %140, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %141) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %142) #14
  store i8* null, i8** %8, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %7, %"class.std::basic_string"* nonnull dereferenceable(24) %34, i8** nonnull dereferenceable(4) %8) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %142) #14
  %429 = load i8, i8* %143, align 4, !tbaa !1203, !range !382
  %430 = icmp eq i8 %429, 0
  br i1 %430, label %431, label %435

; <label>:431:                                    ; preds = %427
  %432 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %144, align 4, !tbaa !833
  %433 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %432, i32 0, i32 2, i32 1
  %434 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %433, align 4, !tbaa !1206
  br label %442

; <label>:435:                                    ; preds = %427
  %436 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %436, i8* nonnull %138, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %139, align 4, !tbaa !83
  store i32 15, i32* %140, align 4, !tbaa !81
  store i8 0, i8* %138, align 4, !tbaa !12
  %437 = getelementptr inbounds i8, i8* %436, i32 24
  call void @llvm.memset.p0i8.i64(i8* %437, i8 0, i64 24, i32 4, i1 false) #14
  %438 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %144, align 4, !tbaa !833
  %439 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %438, i32 0, i32 2, i32 1
  %440 = bitcast %"struct.std::pair.23"** %439 to i8**
  store i8* %436, i8** %440, align 4, !tbaa !1206
  %441 = bitcast i8* %436 to %"struct.std::pair.23"*
  br label %442

; <label>:442:                                    ; preds = %435, %431
  %443 = phi %"struct.std::pair.23"* [ %434, %431 ], [ %441, %435 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %141) #14
  %444 = ptrtoint %"struct.std::pair.23"* %443 to i32
  store i32 12, i32* %145, align 8, !tbaa !1015
  store i32 %444, i32* %146, align 8, !tbaa !23
  %445 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %446 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %445, i32 %302, i32 0
  %447 = load i32, i32* %446, align 4, !tbaa !67
  store i32 %447, i32* %147, align 8, !tbaa !1091
  %448 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %33) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %137) #14
  %449 = load i32, i32* %140, align 4, !tbaa !81
  %450 = icmp ugt i32 %449, 15
  br i1 %450, label %451, label %475

; <label>:451:                                    ; preds = %442
  %452 = load i8*, i8** %148, align 4, !tbaa !12
  %453 = add i32 %449, 1
  %454 = icmp ugt i32 %453, 4095
  br i1 %454, label %455, label %472

; <label>:455:                                    ; preds = %451
  %456 = add i32 %449, 36
  %457 = icmp ugt i32 %453, -36
  br i1 %457, label %471, label %458

; <label>:458:                                    ; preds = %455
  %459 = ptrtoint i8* %452 to i32
  %460 = and i32 %459, 31
  %461 = icmp eq i32 %460, 0
  br i1 %461, label %462, label %471

; <label>:462:                                    ; preds = %458
  %463 = add i32 %459, -4
  %464 = inttoptr i32 %463 to i32*
  %465 = load i32, i32* %464, align 4, !tbaa !24
  %466 = icmp ult i32 %465, %459
  br i1 %466, label %467, label %471

; <label>:467:                                    ; preds = %462
  %468 = sub i32 %463, %465
  %469 = icmp ugt i32 %468, 31
  %470 = inttoptr i32 %465 to i8*
  br i1 %469, label %471, label %472

; <label>:471:                                    ; preds = %467, %462, %458, %455
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:472:                                    ; preds = %467, %451
  %473 = phi i8* [ %470, %467 ], [ %452, %451 ]
  %474 = phi i32 [ %456, %467 ], [ %453, %451 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %473, i32 %474) #14
  br label %475

; <label>:475:                                    ; preds = %472, %442
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %138) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %136) #14
  br label %1254

; <label>:476:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %150) #14
  store %struct.AstNode* null, %struct.AstNode** %151, align 4, !tbaa !1262
  store %struct.AstNode* null, %struct.AstNode** %152, align 4, !tbaa !1264
  store %struct.AstNode* null, %struct.AstNode** %153, align 4, !tbaa !1265
  %477 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %478 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %477, i32 %302, i32 1
  %479 = bitcast %class.variant.43* %303 to %"class.std::vector.37"**
  %480 = load %"class.std::vector.37"*, %"class.std::vector.37"** %479, align 4
  %481 = call zeroext i1 @"\01?convertParseResult@@YA_NV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@ABV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@AAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@3@@Z"(%"class.std::vector.37"* %480, %"class.std::vector.45"* dereferenceable(12) %478, %"class.std::vector.4"* nonnull dereferenceable(12) %35)
  br i1 %481, label %482, label %490

; <label>:482:                                    ; preds = %476
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %154) #14
  %483 = load i32, i32* %156, align 4, !tbaa !23
  %484 = load i32, i32* %157, align 4, !tbaa !23
  %485 = load i32, i32* %158, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %151, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %152, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %153, align 4, !tbaa !23
  store i32 13, i32* %159, align 8, !tbaa !1015
  store i32 %483, i32* %163, align 8, !tbaa !23
  store i32 %484, i32* %164, align 4, !tbaa !23
  store i32 %485, i32* %165, align 8, !tbaa !23
  %486 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %487 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %486, i32 %302, i32 0
  %488 = load i32, i32* %487, align 4, !tbaa !67
  store i32 %488, i32* %166, align 8, !tbaa !1091
  %489 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %36) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %155) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %154) #14
  br label %490

; <label>:490:                                    ; preds = %482, %476
  %491 = phi i32 [ 5, %482 ], [ 1, %476 ]
  %492 = load %struct.AstNode*, %struct.AstNode** %151, align 4, !tbaa !23
  %493 = icmp eq %struct.AstNode* %492, null
  br i1 %493, label %533, label %494

; <label>:494:                                    ; preds = %490
  %495 = ptrtoint %struct.AstNode* %492 to i32
  %496 = load %struct.AstNode*, %struct.AstNode** %152, align 4, !tbaa !23
  %497 = icmp eq %struct.AstNode* %492, %496
  br i1 %497, label %506, label %498

; <label>:498:                                    ; preds = %494
  br label %499

; <label>:499:                                    ; preds = %499, %498
  %500 = phi %struct.AstNode* [ %502, %499 ], [ %492, %498 ]
  %501 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %500, i32 0, i32 0
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %501) #14
  %502 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %500, i32 1
  %503 = icmp eq %struct.AstNode* %502, %496
  br i1 %503, label %504, label %499

; <label>:504:                                    ; preds = %499
  %505 = load i32, i32* %156, align 4, !tbaa !23
  br label %506

; <label>:506:                                    ; preds = %504, %494
  %507 = phi i32 [ %505, %504 ], [ %495, %494 ]
  %508 = load i32, i32* %158, align 4, !tbaa !23
  %509 = sub i32 %508, %507
  %510 = ashr exact i32 %509, 5
  %511 = icmp ugt i32 %510, 134217727
  br i1 %511, label %528, label %512

; <label>:512:                                    ; preds = %506
  %513 = icmp ugt i32 %509, 4095
  br i1 %513, label %514, label %529

; <label>:514:                                    ; preds = %512
  %515 = icmp ult i32 %509, -35
  %516 = and i32 %507, 31
  %517 = icmp eq i32 %516, 0
  %518 = and i1 %517, %515
  br i1 %518, label %519, label %528

; <label>:519:                                    ; preds = %514
  %520 = add i32 %509, 35
  %521 = add i32 %507, -4
  %522 = inttoptr i32 %521 to i32*
  %523 = load i32, i32* %522, align 4, !tbaa !24
  %524 = icmp uge i32 %523, %507
  %525 = sub i32 %521, %523
  %526 = icmp ugt i32 %525, 31
  %527 = or i1 %524, %526
  br i1 %527, label %528, label %529

; <label>:528:                                    ; preds = %519, %514, %506
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:529:                                    ; preds = %519, %512
  %530 = phi i32 [ %507, %512 ], [ %523, %519 ]
  %531 = phi i32 [ %509, %512 ], [ %520, %519 ]
  %532 = inttoptr i32 %530 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %532, i32 %531) #14
  store %struct.AstNode* null, %struct.AstNode** %151, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %152, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %153, align 4, !tbaa !23
  br label %533

; <label>:533:                                    ; preds = %529, %490
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %150) #14
  %534 = icmp eq i32 %491, 5
  br i1 %534, label %1254, label %1262

; <label>:535:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %181) #14
  store %struct.AstNode* null, %struct.AstNode** %182, align 4, !tbaa !1262
  store %struct.AstNode* null, %struct.AstNode** %183, align 4, !tbaa !1264
  store %struct.AstNode* null, %struct.AstNode** %184, align 4, !tbaa !1265
  %536 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %537 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %536, i32 %302, i32 1
  %538 = bitcast %class.variant.43* %303 to %"class.std::vector.37"**
  %539 = load %"class.std::vector.37"*, %"class.std::vector.37"** %538, align 4
  %540 = call zeroext i1 @"\01?convertParseResult@@YA_NV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@ABV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@AAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@3@@Z"(%"class.std::vector.37"* %539, %"class.std::vector.45"* dereferenceable(12) %537, %"class.std::vector.4"* nonnull dereferenceable(12) %37)
  br i1 %540, label %541, label %549

; <label>:541:                                    ; preds = %535
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %185) #14
  %542 = load i32, i32* %187, align 4, !tbaa !23
  %543 = load i32, i32* %188, align 4, !tbaa !23
  %544 = load i32, i32* %189, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %182, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %183, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %184, align 4, !tbaa !23
  store i32 14, i32* %190, align 8, !tbaa !1015
  store i32 %542, i32* %194, align 8, !tbaa !23
  store i32 %543, i32* %195, align 4, !tbaa !23
  store i32 %544, i32* %196, align 8, !tbaa !23
  %545 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %546 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %545, i32 %302, i32 0
  %547 = load i32, i32* %546, align 4, !tbaa !67
  store i32 %547, i32* %197, align 8, !tbaa !1091
  %548 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %38) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %186) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %185) #14
  br label %549

; <label>:549:                                    ; preds = %541, %535
  %550 = phi i32 [ 5, %541 ], [ 1, %535 ]
  %551 = load %struct.AstNode*, %struct.AstNode** %182, align 4, !tbaa !23
  %552 = icmp eq %struct.AstNode* %551, null
  br i1 %552, label %592, label %553

; <label>:553:                                    ; preds = %549
  %554 = ptrtoint %struct.AstNode* %551 to i32
  %555 = load %struct.AstNode*, %struct.AstNode** %183, align 4, !tbaa !23
  %556 = icmp eq %struct.AstNode* %551, %555
  br i1 %556, label %565, label %557

; <label>:557:                                    ; preds = %553
  br label %558

; <label>:558:                                    ; preds = %558, %557
  %559 = phi %struct.AstNode* [ %561, %558 ], [ %551, %557 ]
  %560 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %559, i32 0, i32 0
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %560) #14
  %561 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %559, i32 1
  %562 = icmp eq %struct.AstNode* %561, %555
  br i1 %562, label %563, label %558

; <label>:563:                                    ; preds = %558
  %564 = load i32, i32* %187, align 4, !tbaa !23
  br label %565

; <label>:565:                                    ; preds = %563, %553
  %566 = phi i32 [ %564, %563 ], [ %554, %553 ]
  %567 = load i32, i32* %189, align 4, !tbaa !23
  %568 = sub i32 %567, %566
  %569 = ashr exact i32 %568, 5
  %570 = icmp ugt i32 %569, 134217727
  br i1 %570, label %587, label %571

; <label>:571:                                    ; preds = %565
  %572 = icmp ugt i32 %568, 4095
  br i1 %572, label %573, label %588

; <label>:573:                                    ; preds = %571
  %574 = icmp ult i32 %568, -35
  %575 = and i32 %566, 31
  %576 = icmp eq i32 %575, 0
  %577 = and i1 %576, %574
  br i1 %577, label %578, label %587

; <label>:578:                                    ; preds = %573
  %579 = add i32 %568, 35
  %580 = add i32 %566, -4
  %581 = inttoptr i32 %580 to i32*
  %582 = load i32, i32* %581, align 4, !tbaa !24
  %583 = icmp uge i32 %582, %566
  %584 = sub i32 %580, %582
  %585 = icmp ugt i32 %584, 31
  %586 = or i1 %583, %585
  br i1 %586, label %587, label %588

; <label>:587:                                    ; preds = %578, %573, %565
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:588:                                    ; preds = %578, %571
  %589 = phi i32 [ %566, %571 ], [ %582, %578 ]
  %590 = phi i32 [ %568, %571 ], [ %579, %578 ]
  %591 = inttoptr i32 %589 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %591, i32 %590) #14
  store %struct.AstNode* null, %struct.AstNode** %182, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %183, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %184, align 4, !tbaa !23
  br label %592

; <label>:592:                                    ; preds = %588, %549
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %181) #14
  %593 = icmp eq i32 %550, 5
  br i1 %593, label %1254, label %1262

; <label>:594:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %212) #14
  store %struct.AstNode* null, %struct.AstNode** %213, align 4, !tbaa !1262
  store %struct.AstNode* null, %struct.AstNode** %214, align 4, !tbaa !1264
  store %struct.AstNode* null, %struct.AstNode** %215, align 4, !tbaa !1265
  %595 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %596 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %595, i32 %302, i32 1
  %597 = bitcast %class.variant.43* %303 to %"class.std::vector.37"**
  %598 = load %"class.std::vector.37"*, %"class.std::vector.37"** %597, align 4
  %599 = call zeroext i1 @"\01?convertParseResult@@YA_NV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@ABV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@AAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@3@@Z"(%"class.std::vector.37"* %598, %"class.std::vector.45"* dereferenceable(12) %596, %"class.std::vector.4"* nonnull dereferenceable(12) %39)
  br i1 %599, label %600, label %608

; <label>:600:                                    ; preds = %594
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %216) #14
  %601 = load i32, i32* %218, align 4, !tbaa !23
  %602 = load i32, i32* %219, align 4, !tbaa !23
  %603 = load i32, i32* %220, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %213, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %214, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %215, align 4, !tbaa !23
  store i32 15, i32* %221, align 8, !tbaa !1015
  store i32 %601, i32* %225, align 8, !tbaa !23
  store i32 %602, i32* %226, align 4, !tbaa !23
  store i32 %603, i32* %227, align 8, !tbaa !23
  %604 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %605 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %604, i32 %302, i32 0
  %606 = load i32, i32* %605, align 4, !tbaa !67
  store i32 %606, i32* %228, align 8, !tbaa !1091
  %607 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %40) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %217) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %216) #14
  br label %608

; <label>:608:                                    ; preds = %600, %594
  %609 = phi i32 [ 5, %600 ], [ 1, %594 ]
  %610 = load %struct.AstNode*, %struct.AstNode** %213, align 4, !tbaa !23
  %611 = icmp eq %struct.AstNode* %610, null
  br i1 %611, label %651, label %612

; <label>:612:                                    ; preds = %608
  %613 = ptrtoint %struct.AstNode* %610 to i32
  %614 = load %struct.AstNode*, %struct.AstNode** %214, align 4, !tbaa !23
  %615 = icmp eq %struct.AstNode* %610, %614
  br i1 %615, label %624, label %616

; <label>:616:                                    ; preds = %612
  br label %617

; <label>:617:                                    ; preds = %617, %616
  %618 = phi %struct.AstNode* [ %620, %617 ], [ %610, %616 ]
  %619 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %618, i32 0, i32 0
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %619) #14
  %620 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %618, i32 1
  %621 = icmp eq %struct.AstNode* %620, %614
  br i1 %621, label %622, label %617

; <label>:622:                                    ; preds = %617
  %623 = load i32, i32* %218, align 4, !tbaa !23
  br label %624

; <label>:624:                                    ; preds = %622, %612
  %625 = phi i32 [ %623, %622 ], [ %613, %612 ]
  %626 = load i32, i32* %220, align 4, !tbaa !23
  %627 = sub i32 %626, %625
  %628 = ashr exact i32 %627, 5
  %629 = icmp ugt i32 %628, 134217727
  br i1 %629, label %646, label %630

; <label>:630:                                    ; preds = %624
  %631 = icmp ugt i32 %627, 4095
  br i1 %631, label %632, label %647

; <label>:632:                                    ; preds = %630
  %633 = icmp ult i32 %627, -35
  %634 = and i32 %625, 31
  %635 = icmp eq i32 %634, 0
  %636 = and i1 %635, %633
  br i1 %636, label %637, label %646

; <label>:637:                                    ; preds = %632
  %638 = add i32 %627, 35
  %639 = add i32 %625, -4
  %640 = inttoptr i32 %639 to i32*
  %641 = load i32, i32* %640, align 4, !tbaa !24
  %642 = icmp uge i32 %641, %625
  %643 = sub i32 %639, %641
  %644 = icmp ugt i32 %643, 31
  %645 = or i1 %642, %644
  br i1 %645, label %646, label %647

; <label>:646:                                    ; preds = %637, %632, %624
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:647:                                    ; preds = %637, %630
  %648 = phi i32 [ %625, %630 ], [ %641, %637 ]
  %649 = phi i32 [ %627, %630 ], [ %638, %637 ]
  %650 = inttoptr i32 %648 to i8*
  call void @"\01??3@YAXPAXI@Z"(i8* %650, i32 %649) #14
  store %struct.AstNode* null, %struct.AstNode** %213, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %214, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %215, align 4, !tbaa !23
  br label %651

; <label>:651:                                    ; preds = %647, %608
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %212) #14
  %652 = icmp eq i32 %609, 5
  br i1 %652, label %1254, label %1262

; <label>:653:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %229) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %231) #14
  %654 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %655 = load %"class.std::basic_string"*, %"class.std::basic_string"** %654, align 4, !tbaa !74
  store i32 0, i32* %232, align 4, !tbaa !83
  store i32 0, i32* %233, align 4, !tbaa !81
  %656 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %655, i32 0, i32 0, i32 0, i32 0, i32 1
  %657 = load i32, i32* %656, align 4, !tbaa !83
  %658 = bitcast %"class.std::basic_string"* %655 to i8*
  %659 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %655, i32 0, i32 0, i32 0, i32 0, i32 2
  %660 = load i32, i32* %659, align 4, !tbaa !81
  %661 = icmp ugt i32 %660, 15
  %662 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %655, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %663 = load i8*, i8** %662, align 4
  %664 = select i1 %661, i8* %663, i8* %658
  %665 = icmp ult i32 %657, 16
  br i1 %665, label %666, label %667

; <label>:666:                                    ; preds = %653
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %231, i8* %664, i32 16, i32 1, i1 false) #14
  br label %688

; <label>:667:                                    ; preds = %653
  %668 = or i32 %657, 15
  %669 = icmp ult i32 %668, 2147483647
  %670 = select i1 %669, i32 %668, i32 2147483647
  %671 = icmp ugt i32 %670, 4094
  br i1 %671, label %672, label %681

; <label>:672:                                    ; preds = %667
  %673 = add nuw i32 %670, 36
  %674 = call i8* @"\01??2@YAPAXI@Z"(i32 %673) #14
  %675 = ptrtoint i8* %674 to i32
  %676 = add i32 %675, 35
  %677 = and i32 %676, -32
  %678 = inttoptr i32 %677 to i8*
  %679 = inttoptr i32 %677 to i32*
  %680 = getelementptr inbounds i32, i32* %679, i32 -1
  store i32 %675, i32* %680, align 4, !tbaa !24
  br label %684

; <label>:681:                                    ; preds = %667
  %682 = add nuw i32 %670, 1
  %683 = call i8* @"\01??2@YAPAXI@Z"(i32 %682) #14
  br label %684

; <label>:684:                                    ; preds = %681, %672
  %685 = phi i8* [ %678, %672 ], [ %683, %681 ]
  %686 = ptrtoint i8* %685 to i32
  store i32 %686, i32* %242, align 4, !tbaa !23
  %687 = add i32 %657, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %685, i8* %664, i32 %687, i32 1, i1 false) #14
  br label %688

; <label>:688:                                    ; preds = %684, %666
  %689 = phi i32 [ %670, %684 ], [ 15, %666 ]
  store i32 %657, i32* %232, align 4, !tbaa !83
  store i32 %689, i32* %233, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %234) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %235) #14
  store i8* null, i8** %5, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %4, %"class.std::basic_string"* nonnull dereferenceable(24) %42, i8** nonnull dereferenceable(4) %5) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %235) #14
  %690 = load i8, i8* %236, align 4, !tbaa !1203, !range !382
  %691 = icmp eq i8 %690, 0
  br i1 %691, label %692, label %696

; <label>:692:                                    ; preds = %688
  %693 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %237, align 4, !tbaa !833
  %694 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %693, i32 0, i32 2, i32 1
  %695 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %694, align 4, !tbaa !1206
  br label %703

; <label>:696:                                    ; preds = %688
  %697 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %697, i8* nonnull %231, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %232, align 4, !tbaa !83
  store i32 15, i32* %233, align 4, !tbaa !81
  store i8 0, i8* %231, align 4, !tbaa !12
  %698 = getelementptr inbounds i8, i8* %697, i32 24
  call void @llvm.memset.p0i8.i64(i8* %698, i8 0, i64 24, i32 4, i1 false) #14
  %699 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %237, align 4, !tbaa !833
  %700 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %699, i32 0, i32 2, i32 1
  %701 = bitcast %"struct.std::pair.23"** %700 to i8**
  store i8* %697, i8** %701, align 4, !tbaa !1206
  %702 = bitcast i8* %697 to %"struct.std::pair.23"*
  br label %703

; <label>:703:                                    ; preds = %696, %692
  %704 = phi %"struct.std::pair.23"* [ %695, %692 ], [ %702, %696 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %234) #14
  %705 = ptrtoint %"struct.std::pair.23"* %704 to i32
  store i32 16, i32* %238, align 8, !tbaa !1015
  store i32 %705, i32* %239, align 8, !tbaa !23
  %706 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %707 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %706, i32 %302, i32 0
  %708 = load i32, i32* %707, align 4, !tbaa !67
  store i32 %708, i32* %240, align 8, !tbaa !1091
  %709 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %41) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %230) #14
  %710 = load i32, i32* %233, align 4, !tbaa !81
  %711 = icmp ugt i32 %710, 15
  br i1 %711, label %712, label %736

; <label>:712:                                    ; preds = %703
  %713 = load i8*, i8** %241, align 4, !tbaa !12
  %714 = add i32 %710, 1
  %715 = icmp ugt i32 %714, 4095
  br i1 %715, label %716, label %733

; <label>:716:                                    ; preds = %712
  %717 = add i32 %710, 36
  %718 = icmp ugt i32 %714, -36
  br i1 %718, label %732, label %719

; <label>:719:                                    ; preds = %716
  %720 = ptrtoint i8* %713 to i32
  %721 = and i32 %720, 31
  %722 = icmp eq i32 %721, 0
  br i1 %722, label %723, label %732

; <label>:723:                                    ; preds = %719
  %724 = add i32 %720, -4
  %725 = inttoptr i32 %724 to i32*
  %726 = load i32, i32* %725, align 4, !tbaa !24
  %727 = icmp ult i32 %726, %720
  br i1 %727, label %728, label %732

; <label>:728:                                    ; preds = %723
  %729 = sub i32 %724, %726
  %730 = icmp ugt i32 %729, 31
  %731 = inttoptr i32 %726 to i8*
  br i1 %730, label %732, label %733

; <label>:732:                                    ; preds = %728, %723, %719, %716
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:733:                                    ; preds = %728, %712
  %734 = phi i8* [ %731, %728 ], [ %713, %712 ]
  %735 = phi i32 [ %717, %728 ], [ %714, %712 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %734, i32 %735) #14
  br label %736

; <label>:736:                                    ; preds = %733, %703
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %231) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %229) #14
  br label %1254

; <label>:737:                                    ; preds = %300
  %738 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %739 = icmp eq i32 %738, 0
  br i1 %739, label %740, label %1262

; <label>:740:                                    ; preds = %737
  %741 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %741) #14
  %742 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %743 = icmp ult i32 %742, 20
  br i1 %743, label %747, label %744

; <label>:744:                                    ; preds = %740
  %745 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 20, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %745, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@MIAPDANG@unsupported?5AST?5node?$AA@", i32 0, i32 0), i32 20, i32 1, i1 false) #14
  %746 = getelementptr inbounds i8, i8* %745, i32 20
  store i8 0, i8* %746, align 1, !tbaa !12
  br label %749

; <label>:747:                                    ; preds = %740
  %748 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 20, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@MIAPDANG@unsupported?5AST?5node?$AA@", i32 0, i32 0)) #14
  br label %749

; <label>:749:                                    ; preds = %747, %744
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %741) #14
  br label %1262

; <label>:750:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %243) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %245) #14
  %751 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %752 = load %"class.std::basic_string"*, %"class.std::basic_string"** %751, align 4, !tbaa !74
  store i32 0, i32* %246, align 4, !tbaa !83
  store i32 0, i32* %247, align 4, !tbaa !81
  %753 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %752, i32 0, i32 0, i32 0, i32 0, i32 1
  %754 = load i32, i32* %753, align 4, !tbaa !83
  %755 = bitcast %"class.std::basic_string"* %752 to i8*
  %756 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %752, i32 0, i32 0, i32 0, i32 0, i32 2
  %757 = load i32, i32* %756, align 4, !tbaa !81
  %758 = icmp ugt i32 %757, 15
  %759 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %752, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %760 = load i8*, i8** %759, align 4
  %761 = select i1 %758, i8* %760, i8* %755
  %762 = icmp ult i32 %754, 16
  br i1 %762, label %763, label %764

; <label>:763:                                    ; preds = %750
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %245, i8* %761, i32 16, i32 1, i1 false) #14
  br label %785

; <label>:764:                                    ; preds = %750
  %765 = or i32 %754, 15
  %766 = icmp ult i32 %765, 2147483647
  %767 = select i1 %766, i32 %765, i32 2147483647
  %768 = icmp ugt i32 %767, 4094
  br i1 %768, label %769, label %778

; <label>:769:                                    ; preds = %764
  %770 = add nuw i32 %767, 36
  %771 = call i8* @"\01??2@YAPAXI@Z"(i32 %770) #14
  %772 = ptrtoint i8* %771 to i32
  %773 = add i32 %772, 35
  %774 = and i32 %773, -32
  %775 = inttoptr i32 %774 to i8*
  %776 = inttoptr i32 %774 to i32*
  %777 = getelementptr inbounds i32, i32* %776, i32 -1
  store i32 %772, i32* %777, align 4, !tbaa !24
  br label %781

; <label>:778:                                    ; preds = %764
  %779 = add nuw i32 %767, 1
  %780 = call i8* @"\01??2@YAPAXI@Z"(i32 %779) #14
  br label %781

; <label>:781:                                    ; preds = %778, %769
  %782 = phi i8* [ %775, %769 ], [ %780, %778 ]
  %783 = ptrtoint i8* %782 to i32
  store i32 %783, i32* %256, align 4, !tbaa !23
  %784 = add i32 %754, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %782, i8* %761, i32 %784, i32 1, i1 false) #14
  br label %785

; <label>:785:                                    ; preds = %781, %763
  %786 = phi i32 [ %767, %781 ], [ 15, %763 ]
  store i32 %754, i32* %246, align 4, !tbaa !83
  store i32 %786, i32* %247, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %248) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %249) #14
  store i8* null, i8** %10, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %9, %"class.std::basic_string"* nonnull dereferenceable(24) %44, i8** nonnull dereferenceable(4) %10) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %249) #14
  %787 = load i8, i8* %250, align 4, !tbaa !1203, !range !382
  %788 = icmp eq i8 %787, 0
  br i1 %788, label %789, label %793

; <label>:789:                                    ; preds = %785
  %790 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %251, align 4, !tbaa !833
  %791 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %790, i32 0, i32 2, i32 1
  %792 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %791, align 4, !tbaa !1206
  br label %800

; <label>:793:                                    ; preds = %785
  %794 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %794, i8* nonnull %245, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %246, align 4, !tbaa !83
  store i32 15, i32* %247, align 4, !tbaa !81
  store i8 0, i8* %245, align 4, !tbaa !12
  %795 = getelementptr inbounds i8, i8* %794, i32 24
  call void @llvm.memset.p0i8.i64(i8* %795, i8 0, i64 24, i32 4, i1 false) #14
  %796 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %251, align 4, !tbaa !833
  %797 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %796, i32 0, i32 2, i32 1
  %798 = bitcast %"struct.std::pair.23"** %797 to i8**
  store i8* %794, i8** %798, align 4, !tbaa !1206
  %799 = bitcast i8* %794 to %"struct.std::pair.23"*
  br label %800

; <label>:800:                                    ; preds = %793, %789
  %801 = phi %"struct.std::pair.23"* [ %792, %789 ], [ %799, %793 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %248) #14
  %802 = ptrtoint %"struct.std::pair.23"* %801 to i32
  store i32 17, i32* %252, align 8, !tbaa !1015
  store i32 %802, i32* %253, align 8, !tbaa !23
  %803 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %804 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %803, i32 %302, i32 0
  %805 = load i32, i32* %804, align 4, !tbaa !67
  store i32 %805, i32* %254, align 8, !tbaa !1091
  %806 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %43) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %244) #14
  %807 = load i32, i32* %247, align 4, !tbaa !81
  %808 = icmp ugt i32 %807, 15
  br i1 %808, label %809, label %833

; <label>:809:                                    ; preds = %800
  %810 = load i8*, i8** %255, align 4, !tbaa !12
  %811 = add i32 %807, 1
  %812 = icmp ugt i32 %811, 4095
  br i1 %812, label %813, label %830

; <label>:813:                                    ; preds = %809
  %814 = add i32 %807, 36
  %815 = icmp ugt i32 %811, -36
  br i1 %815, label %829, label %816

; <label>:816:                                    ; preds = %813
  %817 = ptrtoint i8* %810 to i32
  %818 = and i32 %817, 31
  %819 = icmp eq i32 %818, 0
  br i1 %819, label %820, label %829

; <label>:820:                                    ; preds = %816
  %821 = add i32 %817, -4
  %822 = inttoptr i32 %821 to i32*
  %823 = load i32, i32* %822, align 4, !tbaa !24
  %824 = icmp ult i32 %823, %817
  br i1 %824, label %825, label %829

; <label>:825:                                    ; preds = %820
  %826 = sub i32 %821, %823
  %827 = icmp ugt i32 %826, 31
  %828 = inttoptr i32 %823 to i8*
  br i1 %827, label %829, label %830

; <label>:829:                                    ; preds = %825, %820, %816, %813
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:830:                                    ; preds = %825, %809
  %831 = phi i8* [ %828, %825 ], [ %810, %809 ]
  %832 = phi i32 [ %814, %825 ], [ %811, %809 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %831, i32 %832) #14
  br label %833

; <label>:833:                                    ; preds = %830, %800
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %245) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %243) #14
  br label %1254

; <label>:834:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %257) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %259) #14
  %835 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %836 = load %"class.std::basic_string"*, %"class.std::basic_string"** %835, align 4, !tbaa !74
  store i32 0, i32* %260, align 4, !tbaa !83
  store i32 0, i32* %261, align 4, !tbaa !81
  %837 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %836, i32 0, i32 0, i32 0, i32 0, i32 1
  %838 = load i32, i32* %837, align 4, !tbaa !83
  %839 = bitcast %"class.std::basic_string"* %836 to i8*
  %840 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %836, i32 0, i32 0, i32 0, i32 0, i32 2
  %841 = load i32, i32* %840, align 4, !tbaa !81
  %842 = icmp ugt i32 %841, 15
  %843 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %836, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %844 = load i8*, i8** %843, align 4
  %845 = select i1 %842, i8* %844, i8* %839
  %846 = icmp ult i32 %838, 16
  br i1 %846, label %847, label %848

; <label>:847:                                    ; preds = %834
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %259, i8* %845, i32 16, i32 1, i1 false) #14
  br label %869

; <label>:848:                                    ; preds = %834
  %849 = or i32 %838, 15
  %850 = icmp ult i32 %849, 2147483647
  %851 = select i1 %850, i32 %849, i32 2147483647
  %852 = icmp ugt i32 %851, 4094
  br i1 %852, label %853, label %862

; <label>:853:                                    ; preds = %848
  %854 = add nuw i32 %851, 36
  %855 = call i8* @"\01??2@YAPAXI@Z"(i32 %854) #14
  %856 = ptrtoint i8* %855 to i32
  %857 = add i32 %856, 35
  %858 = and i32 %857, -32
  %859 = inttoptr i32 %858 to i8*
  %860 = inttoptr i32 %858 to i32*
  %861 = getelementptr inbounds i32, i32* %860, i32 -1
  store i32 %856, i32* %861, align 4, !tbaa !24
  br label %865

; <label>:862:                                    ; preds = %848
  %863 = add nuw i32 %851, 1
  %864 = call i8* @"\01??2@YAPAXI@Z"(i32 %863) #14
  br label %865

; <label>:865:                                    ; preds = %862, %853
  %866 = phi i8* [ %859, %853 ], [ %864, %862 ]
  %867 = ptrtoint i8* %866 to i32
  store i32 %867, i32* %270, align 4, !tbaa !23
  %868 = add i32 %838, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %866, i8* %845, i32 %868, i32 1, i1 false) #14
  br label %869

; <label>:869:                                    ; preds = %865, %847
  %870 = phi i32 [ %851, %865 ], [ 15, %847 ]
  store i32 %838, i32* %260, align 4, !tbaa !83
  store i32 %870, i32* %261, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %262) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %263) #14
  store i8* null, i8** %12, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %11, %"class.std::basic_string"* nonnull dereferenceable(24) %46, i8** nonnull dereferenceable(4) %12) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %263) #14
  %871 = load i8, i8* %264, align 4, !tbaa !1203, !range !382
  %872 = icmp eq i8 %871, 0
  br i1 %872, label %873, label %877

; <label>:873:                                    ; preds = %869
  %874 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %265, align 4, !tbaa !833
  %875 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %874, i32 0, i32 2, i32 1
  %876 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %875, align 4, !tbaa !1206
  br label %884

; <label>:877:                                    ; preds = %869
  %878 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %878, i8* nonnull %259, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %260, align 4, !tbaa !83
  store i32 15, i32* %261, align 4, !tbaa !81
  store i8 0, i8* %259, align 4, !tbaa !12
  %879 = getelementptr inbounds i8, i8* %878, i32 24
  call void @llvm.memset.p0i8.i64(i8* %879, i8 0, i64 24, i32 4, i1 false) #14
  %880 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %265, align 4, !tbaa !833
  %881 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %880, i32 0, i32 2, i32 1
  %882 = bitcast %"struct.std::pair.23"** %881 to i8**
  store i8* %878, i8** %882, align 4, !tbaa !1206
  %883 = bitcast i8* %878 to %"struct.std::pair.23"*
  br label %884

; <label>:884:                                    ; preds = %877, %873
  %885 = phi %"struct.std::pair.23"* [ %876, %873 ], [ %883, %877 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %262) #14
  %886 = ptrtoint %"struct.std::pair.23"* %885 to i32
  store i32 18, i32* %266, align 8, !tbaa !1015
  store i32 %886, i32* %267, align 8, !tbaa !23
  %887 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %888 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %887, i32 %302, i32 0
  %889 = load i32, i32* %888, align 4, !tbaa !67
  store i32 %889, i32* %268, align 8, !tbaa !1091
  %890 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %45) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %258) #14
  %891 = load i32, i32* %261, align 4, !tbaa !81
  %892 = icmp ugt i32 %891, 15
  br i1 %892, label %893, label %917

; <label>:893:                                    ; preds = %884
  %894 = load i8*, i8** %269, align 4, !tbaa !12
  %895 = add i32 %891, 1
  %896 = icmp ugt i32 %895, 4095
  br i1 %896, label %897, label %914

; <label>:897:                                    ; preds = %893
  %898 = add i32 %891, 36
  %899 = icmp ugt i32 %895, -36
  br i1 %899, label %913, label %900

; <label>:900:                                    ; preds = %897
  %901 = ptrtoint i8* %894 to i32
  %902 = and i32 %901, 31
  %903 = icmp eq i32 %902, 0
  br i1 %903, label %904, label %913

; <label>:904:                                    ; preds = %900
  %905 = add i32 %901, -4
  %906 = inttoptr i32 %905 to i32*
  %907 = load i32, i32* %906, align 4, !tbaa !24
  %908 = icmp ult i32 %907, %901
  br i1 %908, label %909, label %913

; <label>:909:                                    ; preds = %904
  %910 = sub i32 %905, %907
  %911 = icmp ugt i32 %910, 31
  %912 = inttoptr i32 %907 to i8*
  br i1 %911, label %913, label %914

; <label>:913:                                    ; preds = %909, %904, %900, %897
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:914:                                    ; preds = %909, %893
  %915 = phi i8* [ %912, %909 ], [ %894, %893 ]
  %916 = phi i32 [ %898, %909 ], [ %895, %893 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %915, i32 %916) #14
  br label %917

; <label>:917:                                    ; preds = %914, %884
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %259) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %257) #14
  br label %1254

; <label>:918:                                    ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %271) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %273) #14
  %919 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %920 = load %"class.std::basic_string"*, %"class.std::basic_string"** %919, align 4, !tbaa !74
  store i32 0, i32* %274, align 4, !tbaa !83
  store i32 0, i32* %275, align 4, !tbaa !81
  %921 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %920, i32 0, i32 0, i32 0, i32 0, i32 1
  %922 = load i32, i32* %921, align 4, !tbaa !83
  %923 = bitcast %"class.std::basic_string"* %920 to i8*
  %924 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %920, i32 0, i32 0, i32 0, i32 0, i32 2
  %925 = load i32, i32* %924, align 4, !tbaa !81
  %926 = icmp ugt i32 %925, 15
  %927 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %920, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %928 = load i8*, i8** %927, align 4
  %929 = select i1 %926, i8* %928, i8* %923
  %930 = icmp ult i32 %922, 16
  br i1 %930, label %931, label %932

; <label>:931:                                    ; preds = %918
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %273, i8* %929, i32 16, i32 1, i1 false) #14
  br label %953

; <label>:932:                                    ; preds = %918
  %933 = or i32 %922, 15
  %934 = icmp ult i32 %933, 2147483647
  %935 = select i1 %934, i32 %933, i32 2147483647
  %936 = icmp ugt i32 %935, 4094
  br i1 %936, label %937, label %946

; <label>:937:                                    ; preds = %932
  %938 = add nuw i32 %935, 36
  %939 = call i8* @"\01??2@YAPAXI@Z"(i32 %938) #14
  %940 = ptrtoint i8* %939 to i32
  %941 = add i32 %940, 35
  %942 = and i32 %941, -32
  %943 = inttoptr i32 %942 to i8*
  %944 = inttoptr i32 %942 to i32*
  %945 = getelementptr inbounds i32, i32* %944, i32 -1
  store i32 %940, i32* %945, align 4, !tbaa !24
  br label %949

; <label>:946:                                    ; preds = %932
  %947 = add nuw i32 %935, 1
  %948 = call i8* @"\01??2@YAPAXI@Z"(i32 %947) #14
  br label %949

; <label>:949:                                    ; preds = %946, %937
  %950 = phi i8* [ %943, %937 ], [ %948, %946 ]
  %951 = ptrtoint i8* %950 to i32
  store i32 %951, i32* %284, align 4, !tbaa !23
  %952 = add i32 %922, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %950, i8* %929, i32 %952, i32 1, i1 false) #14
  br label %953

; <label>:953:                                    ; preds = %949, %931
  %954 = phi i32 [ %935, %949 ], [ 15, %931 ]
  store i32 %922, i32* %274, align 4, !tbaa !83
  store i32 %954, i32* %275, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %276) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %277) #14
  store i8* null, i8** %14, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %13, %"class.std::basic_string"* nonnull dereferenceable(24) %48, i8** nonnull dereferenceable(4) %14) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %277) #14
  %955 = load i8, i8* %278, align 4, !tbaa !1203, !range !382
  %956 = icmp eq i8 %955, 0
  br i1 %956, label %957, label %961

; <label>:957:                                    ; preds = %953
  %958 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %279, align 4, !tbaa !833
  %959 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %958, i32 0, i32 2, i32 1
  %960 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %959, align 4, !tbaa !1206
  br label %968

; <label>:961:                                    ; preds = %953
  %962 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %962, i8* nonnull %273, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %274, align 4, !tbaa !83
  store i32 15, i32* %275, align 4, !tbaa !81
  store i8 0, i8* %273, align 4, !tbaa !12
  %963 = getelementptr inbounds i8, i8* %962, i32 24
  call void @llvm.memset.p0i8.i64(i8* %963, i8 0, i64 24, i32 4, i1 false) #14
  %964 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %279, align 4, !tbaa !833
  %965 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %964, i32 0, i32 2, i32 1
  %966 = bitcast %"struct.std::pair.23"** %965 to i8**
  store i8* %962, i8** %966, align 4, !tbaa !1206
  %967 = bitcast i8* %962 to %"struct.std::pair.23"*
  br label %968

; <label>:968:                                    ; preds = %961, %957
  %969 = phi %"struct.std::pair.23"* [ %960, %957 ], [ %967, %961 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %276) #14
  %970 = ptrtoint %"struct.std::pair.23"* %969 to i32
  store i32 19, i32* %280, align 8, !tbaa !1015
  store i32 %970, i32* %281, align 8, !tbaa !23
  %971 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %972 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %971, i32 %302, i32 0
  %973 = load i32, i32* %972, align 4, !tbaa !67
  store i32 %973, i32* %282, align 8, !tbaa !1091
  %974 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %47) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %272) #14
  %975 = load i32, i32* %275, align 4, !tbaa !81
  %976 = icmp ugt i32 %975, 15
  br i1 %976, label %977, label %1001

; <label>:977:                                    ; preds = %968
  %978 = load i8*, i8** %283, align 4, !tbaa !12
  %979 = add i32 %975, 1
  %980 = icmp ugt i32 %979, 4095
  br i1 %980, label %981, label %998

; <label>:981:                                    ; preds = %977
  %982 = add i32 %975, 36
  %983 = icmp ugt i32 %979, -36
  br i1 %983, label %997, label %984

; <label>:984:                                    ; preds = %981
  %985 = ptrtoint i8* %978 to i32
  %986 = and i32 %985, 31
  %987 = icmp eq i32 %986, 0
  br i1 %987, label %988, label %997

; <label>:988:                                    ; preds = %984
  %989 = add i32 %985, -4
  %990 = inttoptr i32 %989 to i32*
  %991 = load i32, i32* %990, align 4, !tbaa !24
  %992 = icmp ult i32 %991, %985
  br i1 %992, label %993, label %997

; <label>:993:                                    ; preds = %988
  %994 = sub i32 %989, %991
  %995 = icmp ugt i32 %994, 31
  %996 = inttoptr i32 %991 to i8*
  br i1 %995, label %997, label %998

; <label>:997:                                    ; preds = %993, %988, %984, %981
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:998:                                    ; preds = %993, %977
  %999 = phi i8* [ %996, %993 ], [ %978, %977 ]
  %1000 = phi i32 [ %982, %993 ], [ %979, %977 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %999, i32 %1000) #14
  br label %1001

; <label>:1001:                                   ; preds = %998, %968
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %273) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %271) #14
  br label %1254

; <label>:1002:                                   ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %285) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %287) #14
  %1003 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %1004 = load %"class.std::basic_string"*, %"class.std::basic_string"** %1003, align 4, !tbaa !74
  store i32 0, i32* %288, align 4, !tbaa !83
  store i32 0, i32* %289, align 4, !tbaa !81
  %1005 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1004, i32 0, i32 0, i32 0, i32 0, i32 1
  %1006 = load i32, i32* %1005, align 4, !tbaa !83
  %1007 = bitcast %"class.std::basic_string"* %1004 to i8*
  %1008 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1004, i32 0, i32 0, i32 0, i32 0, i32 2
  %1009 = load i32, i32* %1008, align 4, !tbaa !81
  %1010 = icmp ugt i32 %1009, 15
  %1011 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1004, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1012 = load i8*, i8** %1011, align 4
  %1013 = select i1 %1010, i8* %1012, i8* %1007
  %1014 = icmp ult i32 %1006, 16
  br i1 %1014, label %1015, label %1016

; <label>:1015:                                   ; preds = %1002
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %287, i8* %1013, i32 16, i32 1, i1 false) #14
  br label %1037

; <label>:1016:                                   ; preds = %1002
  %1017 = or i32 %1006, 15
  %1018 = icmp ult i32 %1017, 2147483647
  %1019 = select i1 %1018, i32 %1017, i32 2147483647
  %1020 = icmp ugt i32 %1019, 4094
  br i1 %1020, label %1021, label %1030

; <label>:1021:                                   ; preds = %1016
  %1022 = add nuw i32 %1019, 36
  %1023 = call i8* @"\01??2@YAPAXI@Z"(i32 %1022) #14
  %1024 = ptrtoint i8* %1023 to i32
  %1025 = add i32 %1024, 35
  %1026 = and i32 %1025, -32
  %1027 = inttoptr i32 %1026 to i8*
  %1028 = inttoptr i32 %1026 to i32*
  %1029 = getelementptr inbounds i32, i32* %1028, i32 -1
  store i32 %1024, i32* %1029, align 4, !tbaa !24
  br label %1033

; <label>:1030:                                   ; preds = %1016
  %1031 = add nuw i32 %1019, 1
  %1032 = call i8* @"\01??2@YAPAXI@Z"(i32 %1031) #14
  br label %1033

; <label>:1033:                                   ; preds = %1030, %1021
  %1034 = phi i8* [ %1027, %1021 ], [ %1032, %1030 ]
  %1035 = ptrtoint i8* %1034 to i32
  store i32 %1035, i32* %298, align 4, !tbaa !23
  %1036 = add i32 %1006, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1034, i8* %1013, i32 %1036, i32 1, i1 false) #14
  br label %1037

; <label>:1037:                                   ; preds = %1033, %1015
  %1038 = phi i32 [ %1019, %1033 ], [ 15, %1015 ]
  store i32 %1006, i32* %288, align 4, !tbaa !83
  store i32 %1038, i32* %289, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %290) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %291) #14
  store i8* null, i8** %16, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %15, %"class.std::basic_string"* nonnull dereferenceable(24) %50, i8** nonnull dereferenceable(4) %16) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %291) #14
  %1039 = load i8, i8* %292, align 4, !tbaa !1203, !range !382
  %1040 = icmp eq i8 %1039, 0
  br i1 %1040, label %1041, label %1045

; <label>:1041:                                   ; preds = %1037
  %1042 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %293, align 4, !tbaa !833
  %1043 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1042, i32 0, i32 2, i32 1
  %1044 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1043, align 4, !tbaa !1206
  br label %1052

; <label>:1045:                                   ; preds = %1037
  %1046 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1046, i8* nonnull %287, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %288, align 4, !tbaa !83
  store i32 15, i32* %289, align 4, !tbaa !81
  store i8 0, i8* %287, align 4, !tbaa !12
  %1047 = getelementptr inbounds i8, i8* %1046, i32 24
  call void @llvm.memset.p0i8.i64(i8* %1047, i8 0, i64 24, i32 4, i1 false) #14
  %1048 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %293, align 4, !tbaa !833
  %1049 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1048, i32 0, i32 2, i32 1
  %1050 = bitcast %"struct.std::pair.23"** %1049 to i8**
  store i8* %1046, i8** %1050, align 4, !tbaa !1206
  %1051 = bitcast i8* %1046 to %"struct.std::pair.23"*
  br label %1052

; <label>:1052:                                   ; preds = %1045, %1041
  %1053 = phi %"struct.std::pair.23"* [ %1044, %1041 ], [ %1051, %1045 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %290) #14
  %1054 = ptrtoint %"struct.std::pair.23"* %1053 to i32
  store i32 20, i32* %294, align 8, !tbaa !1015
  store i32 %1054, i32* %295, align 8, !tbaa !23
  %1055 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %1056 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1055, i32 %302, i32 0
  %1057 = load i32, i32* %1056, align 4, !tbaa !67
  store i32 %1057, i32* %296, align 8, !tbaa !1091
  %1058 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %49) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %286) #14
  %1059 = load i32, i32* %289, align 4, !tbaa !81
  %1060 = icmp ugt i32 %1059, 15
  br i1 %1060, label %1061, label %1085

; <label>:1061:                                   ; preds = %1052
  %1062 = load i8*, i8** %297, align 4, !tbaa !12
  %1063 = add i32 %1059, 1
  %1064 = icmp ugt i32 %1063, 4095
  br i1 %1064, label %1065, label %1082

; <label>:1065:                                   ; preds = %1061
  %1066 = add i32 %1059, 36
  %1067 = icmp ugt i32 %1063, -36
  br i1 %1067, label %1081, label %1068

; <label>:1068:                                   ; preds = %1065
  %1069 = ptrtoint i8* %1062 to i32
  %1070 = and i32 %1069, 31
  %1071 = icmp eq i32 %1070, 0
  br i1 %1071, label %1072, label %1081

; <label>:1072:                                   ; preds = %1068
  %1073 = add i32 %1069, -4
  %1074 = inttoptr i32 %1073 to i32*
  %1075 = load i32, i32* %1074, align 4, !tbaa !24
  %1076 = icmp ult i32 %1075, %1069
  br i1 %1076, label %1077, label %1081

; <label>:1077:                                   ; preds = %1072
  %1078 = sub i32 %1073, %1075
  %1079 = icmp ugt i32 %1078, 31
  %1080 = inttoptr i32 %1075 to i8*
  br i1 %1079, label %1081, label %1082

; <label>:1081:                                   ; preds = %1077, %1072, %1068, %1065
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1082:                                   ; preds = %1077, %1061
  %1083 = phi i8* [ %1080, %1077 ], [ %1062, %1061 ]
  %1084 = phi i32 [ %1066, %1077 ], [ %1063, %1061 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1083, i32 %1084) #14
  br label %1085

; <label>:1085:                                   ; preds = %1082, %1052
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %287) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %285) #14
  br label %1254

; <label>:1086:                                   ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %198) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %200) #14
  %1087 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %1088 = load %"class.std::basic_string"*, %"class.std::basic_string"** %1087, align 4, !tbaa !74
  store i32 0, i32* %201, align 4, !tbaa !83
  store i32 0, i32* %202, align 4, !tbaa !81
  %1089 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1088, i32 0, i32 0, i32 0, i32 0, i32 1
  %1090 = load i32, i32* %1089, align 4, !tbaa !83
  %1091 = bitcast %"class.std::basic_string"* %1088 to i8*
  %1092 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1088, i32 0, i32 0, i32 0, i32 0, i32 2
  %1093 = load i32, i32* %1092, align 4, !tbaa !81
  %1094 = icmp ugt i32 %1093, 15
  %1095 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1088, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1096 = load i8*, i8** %1095, align 4
  %1097 = select i1 %1094, i8* %1096, i8* %1091
  %1098 = icmp ult i32 %1090, 16
  br i1 %1098, label %1099, label %1100

; <label>:1099:                                   ; preds = %1086
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %200, i8* %1097, i32 16, i32 1, i1 false) #14
  br label %1121

; <label>:1100:                                   ; preds = %1086
  %1101 = or i32 %1090, 15
  %1102 = icmp ult i32 %1101, 2147483647
  %1103 = select i1 %1102, i32 %1101, i32 2147483647
  %1104 = icmp ugt i32 %1103, 4094
  br i1 %1104, label %1105, label %1114

; <label>:1105:                                   ; preds = %1100
  %1106 = add nuw i32 %1103, 36
  %1107 = call i8* @"\01??2@YAPAXI@Z"(i32 %1106) #14
  %1108 = ptrtoint i8* %1107 to i32
  %1109 = add i32 %1108, 35
  %1110 = and i32 %1109, -32
  %1111 = inttoptr i32 %1110 to i8*
  %1112 = inttoptr i32 %1110 to i32*
  %1113 = getelementptr inbounds i32, i32* %1112, i32 -1
  store i32 %1108, i32* %1113, align 4, !tbaa !24
  br label %1117

; <label>:1114:                                   ; preds = %1100
  %1115 = add nuw i32 %1103, 1
  %1116 = call i8* @"\01??2@YAPAXI@Z"(i32 %1115) #14
  br label %1117

; <label>:1117:                                   ; preds = %1114, %1105
  %1118 = phi i8* [ %1111, %1105 ], [ %1116, %1114 ]
  %1119 = ptrtoint i8* %1118 to i32
  store i32 %1119, i32* %211, align 4, !tbaa !23
  %1120 = add i32 %1090, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1118, i8* %1097, i32 %1120, i32 1, i1 false) #14
  br label %1121

; <label>:1121:                                   ; preds = %1117, %1099
  %1122 = phi i32 [ %1103, %1117 ], [ 15, %1099 ]
  store i32 %1090, i32* %201, align 4, !tbaa !83
  store i32 %1122, i32* %202, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %203) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %204) #14
  store i8* null, i8** %18, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %17, %"class.std::basic_string"* nonnull dereferenceable(24) %52, i8** nonnull dereferenceable(4) %18) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %204) #14
  %1123 = load i8, i8* %205, align 4, !tbaa !1203, !range !382
  %1124 = icmp eq i8 %1123, 0
  br i1 %1124, label %1125, label %1129

; <label>:1125:                                   ; preds = %1121
  %1126 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %206, align 4, !tbaa !833
  %1127 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1126, i32 0, i32 2, i32 1
  %1128 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1127, align 4, !tbaa !1206
  br label %1136

; <label>:1129:                                   ; preds = %1121
  %1130 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1130, i8* nonnull %200, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %201, align 4, !tbaa !83
  store i32 15, i32* %202, align 4, !tbaa !81
  store i8 0, i8* %200, align 4, !tbaa !12
  %1131 = getelementptr inbounds i8, i8* %1130, i32 24
  call void @llvm.memset.p0i8.i64(i8* %1131, i8 0, i64 24, i32 4, i1 false) #14
  %1132 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %206, align 4, !tbaa !833
  %1133 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1132, i32 0, i32 2, i32 1
  %1134 = bitcast %"struct.std::pair.23"** %1133 to i8**
  store i8* %1130, i8** %1134, align 4, !tbaa !1206
  %1135 = bitcast i8* %1130 to %"struct.std::pair.23"*
  br label %1136

; <label>:1136:                                   ; preds = %1129, %1125
  %1137 = phi %"struct.std::pair.23"* [ %1128, %1125 ], [ %1135, %1129 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %203) #14
  %1138 = ptrtoint %"struct.std::pair.23"* %1137 to i32
  store i32 21, i32* %207, align 8, !tbaa !1015
  store i32 %1138, i32* %208, align 8, !tbaa !23
  %1139 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %1140 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1139, i32 %302, i32 0
  %1141 = load i32, i32* %1140, align 4, !tbaa !67
  store i32 %1141, i32* %209, align 8, !tbaa !1091
  %1142 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %51) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %199) #14
  %1143 = load i32, i32* %202, align 4, !tbaa !81
  %1144 = icmp ugt i32 %1143, 15
  br i1 %1144, label %1145, label %1169

; <label>:1145:                                   ; preds = %1136
  %1146 = load i8*, i8** %210, align 4, !tbaa !12
  %1147 = add i32 %1143, 1
  %1148 = icmp ugt i32 %1147, 4095
  br i1 %1148, label %1149, label %1166

; <label>:1149:                                   ; preds = %1145
  %1150 = add i32 %1143, 36
  %1151 = icmp ugt i32 %1147, -36
  br i1 %1151, label %1165, label %1152

; <label>:1152:                                   ; preds = %1149
  %1153 = ptrtoint i8* %1146 to i32
  %1154 = and i32 %1153, 31
  %1155 = icmp eq i32 %1154, 0
  br i1 %1155, label %1156, label %1165

; <label>:1156:                                   ; preds = %1152
  %1157 = add i32 %1153, -4
  %1158 = inttoptr i32 %1157 to i32*
  %1159 = load i32, i32* %1158, align 4, !tbaa !24
  %1160 = icmp ult i32 %1159, %1153
  br i1 %1160, label %1161, label %1165

; <label>:1161:                                   ; preds = %1156
  %1162 = sub i32 %1157, %1159
  %1163 = icmp ugt i32 %1162, 31
  %1164 = inttoptr i32 %1159 to i8*
  br i1 %1163, label %1165, label %1166

; <label>:1165:                                   ; preds = %1161, %1156, %1152, %1149
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1166:                                   ; preds = %1161, %1145
  %1167 = phi i8* [ %1164, %1161 ], [ %1146, %1145 ]
  %1168 = phi i32 [ %1150, %1161 ], [ %1147, %1145 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1167, i32 %1168) #14
  br label %1169

; <label>:1169:                                   ; preds = %1166, %1136
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %200) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %198) #14
  br label %1254

; <label>:1170:                                   ; preds = %300
  call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %167) #14
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %169) #14
  %1171 = bitcast %class.variant.43* %303 to %"class.std::basic_string"**
  %1172 = load %"class.std::basic_string"*, %"class.std::basic_string"** %1171, align 4, !tbaa !74
  store i32 0, i32* %170, align 4, !tbaa !83
  store i32 0, i32* %171, align 4, !tbaa !81
  %1173 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1172, i32 0, i32 0, i32 0, i32 0, i32 1
  %1174 = load i32, i32* %1173, align 4, !tbaa !83
  %1175 = bitcast %"class.std::basic_string"* %1172 to i8*
  %1176 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1172, i32 0, i32 0, i32 0, i32 0, i32 2
  %1177 = load i32, i32* %1176, align 4, !tbaa !81
  %1178 = icmp ugt i32 %1177, 15
  %1179 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1172, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1180 = load i8*, i8** %1179, align 4
  %1181 = select i1 %1178, i8* %1180, i8* %1175
  %1182 = icmp ult i32 %1174, 16
  br i1 %1182, label %1183, label %1184

; <label>:1183:                                   ; preds = %1170
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %169, i8* %1181, i32 16, i32 1, i1 false) #14
  br label %1205

; <label>:1184:                                   ; preds = %1170
  %1185 = or i32 %1174, 15
  %1186 = icmp ult i32 %1185, 2147483647
  %1187 = select i1 %1186, i32 %1185, i32 2147483647
  %1188 = icmp ugt i32 %1187, 4094
  br i1 %1188, label %1189, label %1198

; <label>:1189:                                   ; preds = %1184
  %1190 = add nuw i32 %1187, 36
  %1191 = call i8* @"\01??2@YAPAXI@Z"(i32 %1190) #14
  %1192 = ptrtoint i8* %1191 to i32
  %1193 = add i32 %1192, 35
  %1194 = and i32 %1193, -32
  %1195 = inttoptr i32 %1194 to i8*
  %1196 = inttoptr i32 %1194 to i32*
  %1197 = getelementptr inbounds i32, i32* %1196, i32 -1
  store i32 %1192, i32* %1197, align 4, !tbaa !24
  br label %1201

; <label>:1198:                                   ; preds = %1184
  %1199 = add nuw i32 %1187, 1
  %1200 = call i8* @"\01??2@YAPAXI@Z"(i32 %1199) #14
  br label %1201

; <label>:1201:                                   ; preds = %1198, %1189
  %1202 = phi i8* [ %1195, %1189 ], [ %1200, %1198 ]
  %1203 = ptrtoint i8* %1202 to i32
  store i32 %1203, i32* %180, align 4, !tbaa !23
  %1204 = add i32 %1174, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1202, i8* %1181, i32 %1204, i32 1, i1 false) #14
  br label %1205

; <label>:1205:                                   ; preds = %1201, %1183
  %1206 = phi i32 [ %1187, %1201 ], [ 15, %1183 ]
  store i32 %1174, i32* %170, align 4, !tbaa !83
  store i32 %1206, i32* %171, align 4, !tbaa !81
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %172) #14
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %173) #14
  store i8* null, i8** %20, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %19, %"class.std::basic_string"* nonnull dereferenceable(24) %54, i8** nonnull dereferenceable(4) %20) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %173) #14
  %1207 = load i8, i8* %174, align 4, !tbaa !1203, !range !382
  %1208 = icmp eq i8 %1207, 0
  br i1 %1208, label %1209, label %1213

; <label>:1209:                                   ; preds = %1205
  %1210 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %175, align 4, !tbaa !833
  %1211 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1210, i32 0, i32 2, i32 1
  %1212 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %1211, align 4, !tbaa !1206
  br label %1220

; <label>:1213:                                   ; preds = %1205
  %1214 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %1214, i8* nonnull %169, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %170, align 4, !tbaa !83
  store i32 15, i32* %171, align 4, !tbaa !81
  store i8 0, i8* %169, align 4, !tbaa !12
  %1215 = getelementptr inbounds i8, i8* %1214, i32 24
  call void @llvm.memset.p0i8.i64(i8* %1215, i8 0, i64 24, i32 4, i1 false) #14
  %1216 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %175, align 4, !tbaa !833
  %1217 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %1216, i32 0, i32 2, i32 1
  %1218 = bitcast %"struct.std::pair.23"** %1217 to i8**
  store i8* %1214, i8** %1218, align 4, !tbaa !1206
  %1219 = bitcast i8* %1214 to %"struct.std::pair.23"*
  br label %1220

; <label>:1220:                                   ; preds = %1213, %1209
  %1221 = phi %"struct.std::pair.23"* [ %1212, %1209 ], [ %1219, %1213 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %172) #14
  %1222 = ptrtoint %"struct.std::pair.23"* %1221 to i32
  store i32 22, i32* %176, align 8, !tbaa !1015
  store i32 %1222, i32* %177, align 8, !tbaa !23
  %1223 = load %"struct.ast::ASTNodeInfo"*, %"struct.ast::ASTNodeInfo"** %81, align 4, !tbaa !23
  %1224 = getelementptr inbounds %"struct.ast::ASTNodeInfo", %"struct.ast::ASTNodeInfo"* %1223, i32 %302, i32 0
  %1225 = load i32, i32* %1224, align 4, !tbaa !67
  store i32 %1225, i32* %178, align 8, !tbaa !1091
  %1226 = call x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"* nonnull %2, %struct.AstNode* nonnull dereferenceable(32) %53) #14
  call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* nonnull %168) #14
  %1227 = load i32, i32* %171, align 4, !tbaa !81
  %1228 = icmp ugt i32 %1227, 15
  br i1 %1228, label %1229, label %1253

; <label>:1229:                                   ; preds = %1220
  %1230 = load i8*, i8** %179, align 4, !tbaa !12
  %1231 = add i32 %1227, 1
  %1232 = icmp ugt i32 %1231, 4095
  br i1 %1232, label %1233, label %1250

; <label>:1233:                                   ; preds = %1229
  %1234 = add i32 %1227, 36
  %1235 = icmp ugt i32 %1231, -36
  br i1 %1235, label %1249, label %1236

; <label>:1236:                                   ; preds = %1233
  %1237 = ptrtoint i8* %1230 to i32
  %1238 = and i32 %1237, 31
  %1239 = icmp eq i32 %1238, 0
  br i1 %1239, label %1240, label %1249

; <label>:1240:                                   ; preds = %1236
  %1241 = add i32 %1237, -4
  %1242 = inttoptr i32 %1241 to i32*
  %1243 = load i32, i32* %1242, align 4, !tbaa !24
  %1244 = icmp ult i32 %1243, %1237
  br i1 %1244, label %1245, label %1249

; <label>:1245:                                   ; preds = %1240
  %1246 = sub i32 %1241, %1243
  %1247 = icmp ugt i32 %1246, 31
  %1248 = inttoptr i32 %1243 to i8*
  br i1 %1247, label %1249, label %1250

; <label>:1249:                                   ; preds = %1245, %1240, %1236, %1233
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1250:                                   ; preds = %1245, %1229
  %1251 = phi i8* [ %1248, %1245 ], [ %1230, %1229 ]
  %1252 = phi i32 [ %1234, %1245 ], [ %1231, %1229 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1251, i32 %1252) #14
  br label %1253

; <label>:1253:                                   ; preds = %1250, %1220
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %169) #14
  call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %167) #14
  br label %1254

; <label>:1254:                                   ; preds = %1253, %1169, %1085, %1001, %917, %833, %736, %651, %592, %533, %475, %385, %378, %370, %363, %356, %349, %342, %334, %327, %320, %313, %306, %300
  %1255 = add i32 %302, 1
  %1256 = load i32, i32* %62, align 4, !tbaa !23
  %1257 = load i32, i32* %64, align 4, !tbaa !23
  %1258 = sub i32 %1256, %1257
  %1259 = ashr exact i32 %1258, 4
  %1260 = icmp ult i32 %1255, %1259
  %1261 = inttoptr i32 %1257 to %class.variant.43*
  br i1 %1260, label %300, label %1262

; <label>:1262:                                   ; preds = %1254, %749, %737, %651, %592, %533, %71
  %1263 = phi i1 [ false, %749 ], [ false, %737 ], [ true, %71 ], [ false, %651 ], [ false, %592 ], [ false, %533 ], [ true, %1254 ]
  ret i1 %1263
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24*) local_unnamed_addr #2 comdat align 2 {
  %2 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 1
  %3 = load i32, i32* %2, align 8, !tbaa !1015
  switch i32 %3, label %151 [
    i32 15, label %102
    i32 14, label %53
    i32 13, label %4
  ]

; <label>:4:                                      ; preds = %1
  %5 = bitcast %class.variant.24* %0 to %struct.AstNode**
  %6 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.AstNode* %6, null
  br i1 %7, label %151, label %8

; <label>:8:                                      ; preds = %4
  %9 = ptrtoint %struct.AstNode* %6 to i32
  %10 = bitcast %class.variant.24* %0 to %"class.std::_Vector_alloc.5"*
  %11 = getelementptr inbounds %"class.std::_Vector_alloc.5", %"class.std::_Vector_alloc.5"* %10, i32 0, i32 0, i32 0, i32 1
  %12 = load %struct.AstNode*, %struct.AstNode** %11, align 4, !tbaa !23
  %13 = icmp eq %struct.AstNode* %6, %12
  br i1 %13, label %23, label %14

; <label>:14:                                     ; preds = %8
  br label %15

; <label>:15:                                     ; preds = %15, %14
  %16 = phi %struct.AstNode* [ %18, %15 ], [ %6, %14 ]
  %17 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %16, i32 0, i32 0
  tail call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %17) #14
  %18 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %16, i32 1
  %19 = icmp eq %struct.AstNode* %18, %12
  br i1 %19, label %20, label %15

; <label>:20:                                     ; preds = %15
  %21 = bitcast %class.variant.24* %0 to i32*
  %22 = load i32, i32* %21, align 4, !tbaa !23
  br label %23

; <label>:23:                                     ; preds = %20, %8
  %24 = phi i32 [ %22, %20 ], [ %9, %8 ]
  %25 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %26 = bitcast [8 x i8]* %25 to i32*
  %27 = load i32, i32* %26, align 4, !tbaa !23
  %28 = sub i32 %27, %24
  %29 = ashr exact i32 %28, 5
  %30 = icmp ugt i32 %29, 134217727
  br i1 %30, label %47, label %31

; <label>:31:                                     ; preds = %23
  %32 = icmp ugt i32 %28, 4095
  br i1 %32, label %33, label %48

; <label>:33:                                     ; preds = %31
  %34 = icmp ult i32 %28, -35
  %35 = and i32 %24, 31
  %36 = icmp eq i32 %35, 0
  %37 = and i1 %34, %36
  br i1 %37, label %38, label %47

; <label>:38:                                     ; preds = %33
  %39 = add i32 %28, 35
  %40 = add i32 %24, -4
  %41 = inttoptr i32 %40 to i32*
  %42 = load i32, i32* %41, align 4, !tbaa !24
  %43 = icmp uge i32 %42, %24
  %44 = sub i32 %40, %42
  %45 = icmp ugt i32 %44, 31
  %46 = or i1 %43, %45
  br i1 %46, label %47, label %48

; <label>:47:                                     ; preds = %38, %33, %23
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:48:                                     ; preds = %38, %31
  %49 = phi i32 [ %24, %31 ], [ %42, %38 ]
  %50 = phi i32 [ %28, %31 ], [ %39, %38 ]
  %51 = inttoptr i32 %49 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %51, i32 %50) #14
  store %struct.AstNode* null, %struct.AstNode** %5, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %11, align 4, !tbaa !23
  %52 = bitcast [8 x i8]* %25 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %52, align 4, !tbaa !23
  br label %151

; <label>:53:                                     ; preds = %1
  %54 = bitcast %class.variant.24* %0 to %struct.AstNode**
  %55 = load %struct.AstNode*, %struct.AstNode** %54, align 4, !tbaa !23
  %56 = icmp eq %struct.AstNode* %55, null
  br i1 %56, label %151, label %57

; <label>:57:                                     ; preds = %53
  %58 = ptrtoint %struct.AstNode* %55 to i32
  %59 = bitcast %class.variant.24* %0 to %"class.std::_Vector_alloc.5"*
  %60 = getelementptr inbounds %"class.std::_Vector_alloc.5", %"class.std::_Vector_alloc.5"* %59, i32 0, i32 0, i32 0, i32 1
  %61 = load %struct.AstNode*, %struct.AstNode** %60, align 4, !tbaa !23
  %62 = icmp eq %struct.AstNode* %55, %61
  br i1 %62, label %72, label %63

; <label>:63:                                     ; preds = %57
  br label %64

; <label>:64:                                     ; preds = %64, %63
  %65 = phi %struct.AstNode* [ %67, %64 ], [ %55, %63 ]
  %66 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %65, i32 0, i32 0
  tail call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %66) #14
  %67 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %65, i32 1
  %68 = icmp eq %struct.AstNode* %67, %61
  br i1 %68, label %69, label %64

; <label>:69:                                     ; preds = %64
  %70 = bitcast %class.variant.24* %0 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !23
  br label %72

; <label>:72:                                     ; preds = %69, %57
  %73 = phi i32 [ %71, %69 ], [ %58, %57 ]
  %74 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %75 = bitcast [8 x i8]* %74 to i32*
  %76 = load i32, i32* %75, align 4, !tbaa !23
  %77 = sub i32 %76, %73
  %78 = ashr exact i32 %77, 5
  %79 = icmp ugt i32 %78, 134217727
  br i1 %79, label %96, label %80

; <label>:80:                                     ; preds = %72
  %81 = icmp ugt i32 %77, 4095
  br i1 %81, label %82, label %97

; <label>:82:                                     ; preds = %80
  %83 = icmp ult i32 %77, -35
  %84 = and i32 %73, 31
  %85 = icmp eq i32 %84, 0
  %86 = and i1 %83, %85
  br i1 %86, label %87, label %96

; <label>:87:                                     ; preds = %82
  %88 = add i32 %77, 35
  %89 = add i32 %73, -4
  %90 = inttoptr i32 %89 to i32*
  %91 = load i32, i32* %90, align 4, !tbaa !24
  %92 = icmp uge i32 %91, %73
  %93 = sub i32 %89, %91
  %94 = icmp ugt i32 %93, 31
  %95 = or i1 %92, %94
  br i1 %95, label %96, label %97

; <label>:96:                                     ; preds = %87, %82, %72
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:97:                                     ; preds = %87, %80
  %98 = phi i32 [ %73, %80 ], [ %91, %87 ]
  %99 = phi i32 [ %77, %80 ], [ %88, %87 ]
  %100 = inttoptr i32 %98 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %100, i32 %99) #14
  store %struct.AstNode* null, %struct.AstNode** %54, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %60, align 4, !tbaa !23
  %101 = bitcast [8 x i8]* %74 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %101, align 4, !tbaa !23
  br label %151

; <label>:102:                                    ; preds = %1
  %103 = bitcast %class.variant.24* %0 to %struct.AstNode**
  %104 = load %struct.AstNode*, %struct.AstNode** %103, align 4, !tbaa !23
  %105 = icmp eq %struct.AstNode* %104, null
  br i1 %105, label %151, label %106

; <label>:106:                                    ; preds = %102
  %107 = ptrtoint %struct.AstNode* %104 to i32
  %108 = bitcast %class.variant.24* %0 to %"class.std::_Vector_alloc.5"*
  %109 = getelementptr inbounds %"class.std::_Vector_alloc.5", %"class.std::_Vector_alloc.5"* %108, i32 0, i32 0, i32 0, i32 1
  %110 = load %struct.AstNode*, %struct.AstNode** %109, align 4, !tbaa !23
  %111 = icmp eq %struct.AstNode* %104, %110
  br i1 %111, label %121, label %112

; <label>:112:                                    ; preds = %106
  br label %113

; <label>:113:                                    ; preds = %113, %112
  %114 = phi %struct.AstNode* [ %116, %113 ], [ %104, %112 ]
  %115 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %114, i32 0, i32 0
  tail call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %115) #14
  %116 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %114, i32 1
  %117 = icmp eq %struct.AstNode* %116, %110
  br i1 %117, label %118, label %113

; <label>:118:                                    ; preds = %113
  %119 = bitcast %class.variant.24* %0 to i32*
  %120 = load i32, i32* %119, align 4, !tbaa !23
  br label %121

; <label>:121:                                    ; preds = %118, %106
  %122 = phi i32 [ %120, %118 ], [ %107, %106 ]
  %123 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %124 = bitcast [8 x i8]* %123 to i32*
  %125 = load i32, i32* %124, align 4, !tbaa !23
  %126 = sub i32 %125, %122
  %127 = ashr exact i32 %126, 5
  %128 = icmp ugt i32 %127, 134217727
  br i1 %128, label %145, label %129

; <label>:129:                                    ; preds = %121
  %130 = icmp ugt i32 %126, 4095
  br i1 %130, label %131, label %146

; <label>:131:                                    ; preds = %129
  %132 = icmp ult i32 %126, -35
  %133 = and i32 %122, 31
  %134 = icmp eq i32 %133, 0
  %135 = and i1 %132, %134
  br i1 %135, label %136, label %145

; <label>:136:                                    ; preds = %131
  %137 = add i32 %126, 35
  %138 = add i32 %122, -4
  %139 = inttoptr i32 %138 to i32*
  %140 = load i32, i32* %139, align 4, !tbaa !24
  %141 = icmp uge i32 %140, %122
  %142 = sub i32 %138, %140
  %143 = icmp ugt i32 %142, 31
  %144 = or i1 %141, %143
  br i1 %144, label %145, label %146

; <label>:145:                                    ; preds = %136, %131, %121
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:146:                                    ; preds = %136, %129
  %147 = phi i32 [ %122, %129 ], [ %140, %136 ]
  %148 = phi i32 [ %126, %129 ], [ %137, %136 ]
  %149 = inttoptr i32 %147 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %149, i32 %148) #14
  store %struct.AstNode* null, %struct.AstNode** %103, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %109, align 4, !tbaa !23
  %150 = bitcast [8 x i8]* %123 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %150, align 4, !tbaa !23
  br label %151

; <label>:151:                                    ; preds = %146, %102, %97, %53, %48, %4, %1
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(32) %struct.AstNode* @"\01??$emplace_back@UAstNode@@@?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAUAstNode@@@Z"(%"class.std::vector.4"*, %struct.AstNode* dereferenceable(32)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %struct.AstNode*, %struct.AstNode** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.AstNode* %4, %6
  br i1 %7, label %19, label %8

; <label>:8:                                      ; preds = %2
  %9 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %6, i32 0, i32 0
  %10 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 0
  %11 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %6, i32 0, i32 0, i32 1
  %12 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 0, i32 1
  %13 = load i32, i32* %12, align 8, !tbaa !1015
  store i32 %13, i32* %11, align 8, !tbaa !1015
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEX$$QAV0@@Z"(%class.variant.24* %9, %class.variant.24* nonnull dereferenceable(24) %10) #14
  %14 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %6, i32 0, i32 1
  %15 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 1
  %16 = load i32, i32* %15, align 8, !tbaa !1091
  store i32 %16, i32* %14, align 8, !tbaa !1091
  %17 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %18 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %17, i32 1
  br label %138

; <label>:19:                                     ; preds = %2
  %20 = ptrtoint %struct.AstNode* %4 to i32
  %21 = ptrtoint %struct.AstNode* %6 to i32
  %22 = bitcast %"class.std::vector.4"* %0 to i32*
  %23 = load i32, i32* %22, align 4, !tbaa !23
  %24 = sub i32 %21, %23
  %25 = ashr exact i32 %24, 5
  %26 = add nsw i32 %25, 1
  %27 = bitcast %struct.AstNode** %3 to i32*
  %28 = sub i32 %20, %23
  %29 = ashr exact i32 %28, 5
  %30 = lshr i32 %29, 1
  %31 = sub nsw i32 134217727, %30
  %32 = icmp ugt i32 %29, %31
  br i1 %32, label %37, label %33

; <label>:33:                                     ; preds = %19
  %34 = add i32 %30, %29
  %35 = icmp ult i32 %34, %26
  %36 = select i1 %35, i32 %26, i32 %34
  br label %37

; <label>:37:                                     ; preds = %33, %19
  %38 = phi i32 [ %36, %33 ], [ %26, %19 ]
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %60, label %40

; <label>:40:                                     ; preds = %37
  %41 = icmp ugt i32 %38, 134217727
  br i1 %41, label %42, label %43

; <label>:42:                                     ; preds = %40
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:43:                                     ; preds = %40
  %44 = shl i32 %38, 5
  %45 = icmp ugt i32 %44, 4095
  br i1 %45, label %46, label %58

; <label>:46:                                     ; preds = %43
  %47 = icmp ugt i32 %44, -36
  br i1 %47, label %48, label %49

; <label>:48:                                     ; preds = %46
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:49:                                     ; preds = %46
  %50 = add i32 %44, 35
  %51 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %50) #14
  %52 = ptrtoint i8* %51 to i32
  %53 = add i32 %52, 35
  %54 = and i32 %53, -32
  %55 = inttoptr i32 %54 to i8*
  %56 = inttoptr i32 %54 to i32*
  %57 = getelementptr inbounds i32, i32* %56, i32 -1
  store i32 %52, i32* %57, align 4, !tbaa !24
  br label %60

; <label>:58:                                     ; preds = %43
  %59 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  br label %60

; <label>:60:                                     ; preds = %58, %49, %37
  %61 = phi i8* [ null, %37 ], [ %55, %49 ], [ %59, %58 ]
  %62 = bitcast i8* %61 to %struct.AstNode*
  %63 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %62, i32 %25, i32 0
  %64 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 0
  %65 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %62, i32 %25, i32 0, i32 1
  %66 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 0, i32 1
  %67 = load i32, i32* %66, align 8, !tbaa !1015
  store i32 %67, i32* %65, align 8, !tbaa !1015
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEX$$QAV0@@Z"(%class.variant.24* %63, %class.variant.24* nonnull dereferenceable(24) %64) #14
  %68 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %62, i32 %25, i32 1
  %69 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %1, i32 0, i32 1
  %70 = load i32, i32* %69, align 8, !tbaa !1091
  store i32 %70, i32* %68, align 8, !tbaa !1091
  %71 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %72 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %73 = load %struct.AstNode*, %struct.AstNode** %72, align 4, !tbaa !23
  %74 = icmp eq %struct.AstNode* %73, %71
  br i1 %74, label %92, label %75

; <label>:75:                                     ; preds = %60
  br label %76

; <label>:76:                                     ; preds = %76, %75
  %77 = phi %struct.AstNode* [ %87, %76 ], [ %62, %75 ]
  %78 = phi %struct.AstNode* [ %88, %76 ], [ %73, %75 ]
  %79 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %77, i32 0, i32 0
  %80 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %78, i32 0, i32 0
  %81 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %77, i32 0, i32 0, i32 1
  %82 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %78, i32 0, i32 0, i32 1
  %83 = load i32, i32* %82, align 8, !tbaa !1015
  store i32 %83, i32* %81, align 8, !tbaa !1015
  tail call x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEX$$QAV0@@Z"(%class.variant.24* %79, %class.variant.24* nonnull dereferenceable(24) %80) #14
  %84 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %77, i32 0, i32 1
  %85 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %78, i32 0, i32 1
  %86 = load i32, i32* %85, align 8, !tbaa !1091
  store i32 %86, i32* %84, align 8, !tbaa !1091
  %87 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %77, i32 1
  %88 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %78, i32 1
  %89 = icmp eq %struct.AstNode* %88, %71
  br i1 %89, label %90, label %76

; <label>:90:                                     ; preds = %76
  %91 = load %struct.AstNode*, %struct.AstNode** %72, align 4, !tbaa !23
  br label %92

; <label>:92:                                     ; preds = %90, %60
  %93 = phi %struct.AstNode* [ %91, %90 ], [ %71, %60 ]
  %94 = icmp eq %struct.AstNode* %93, null
  br i1 %94, label %134, label %95

; <label>:95:                                     ; preds = %92
  %96 = ptrtoint %struct.AstNode* %93 to i32
  %97 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %98 = icmp eq %struct.AstNode* %93, %97
  br i1 %98, label %107, label %99

; <label>:99:                                     ; preds = %95
  br label %100

; <label>:100:                                    ; preds = %100, %99
  %101 = phi %struct.AstNode* [ %103, %100 ], [ %93, %99 ]
  %102 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %101, i32 0, i32 0
  tail call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %102) #14
  %103 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %101, i32 1
  %104 = icmp eq %struct.AstNode* %103, %97
  br i1 %104, label %105, label %100

; <label>:105:                                    ; preds = %100
  %106 = load i32, i32* %22, align 4, !tbaa !23
  br label %107

; <label>:107:                                    ; preds = %105, %95
  %108 = phi i32 [ %106, %105 ], [ %96, %95 ]
  %109 = load i32, i32* %27, align 4, !tbaa !23
  %110 = sub i32 %109, %108
  %111 = ashr exact i32 %110, 5
  %112 = icmp ugt i32 %111, 134217727
  br i1 %112, label %129, label %113

; <label>:113:                                    ; preds = %107
  %114 = icmp ugt i32 %110, 4095
  br i1 %114, label %115, label %130

; <label>:115:                                    ; preds = %113
  %116 = icmp ult i32 %110, -35
  %117 = and i32 %108, 31
  %118 = icmp eq i32 %117, 0
  %119 = and i1 %118, %116
  br i1 %119, label %120, label %129

; <label>:120:                                    ; preds = %115
  %121 = add i32 %110, 35
  %122 = add i32 %108, -4
  %123 = inttoptr i32 %122 to i32*
  %124 = load i32, i32* %123, align 4, !tbaa !24
  %125 = icmp uge i32 %124, %108
  %126 = sub i32 %122, %124
  %127 = icmp ugt i32 %126, 31
  %128 = or i1 %125, %127
  br i1 %128, label %129, label %130

; <label>:129:                                    ; preds = %120, %115, %107
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:130:                                    ; preds = %120, %113
  %131 = phi i32 [ %108, %113 ], [ %124, %120 ]
  %132 = phi i32 [ %110, %113 ], [ %121, %120 ]
  %133 = inttoptr i32 %131 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %133, i32 %132) #14
  br label %134

; <label>:134:                                    ; preds = %130, %92
  %135 = bitcast %"class.std::vector.4"* %0 to i8**
  store i8* %61, i8** %135, align 4, !tbaa !23
  %136 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %62, i32 %26
  store %struct.AstNode* %136, %struct.AstNode** %5, align 4, !tbaa !23
  %137 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %62, i32 %38
  br label %138

; <label>:138:                                    ; preds = %134, %8
  %139 = phi %struct.AstNode** [ %3, %134 ], [ %5, %8 ]
  %140 = phi %struct.AstNode* [ %137, %134 ], [ %18, %8 ]
  store %struct.AstNode* %140, %struct.AstNode** %139, align 4, !tbaa !23
  %141 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %142 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %141, i32 -1
  ret %struct.AstNode* %142
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc void @"\01??$construct@V?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEX$$QAV0@@Z"(%class.variant.24*, %class.variant.24* dereferenceable(24)) local_unnamed_addr #0 comdat align 2 {
  %3 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 1
  %4 = load i32, i32* %3, align 8, !tbaa !1015
  switch i32 %4, label %145 [
    i32 0, label %5
    i32 1, label %9
    i32 2, label %13
    i32 3, label %17
    i32 4, label %21
    i32 5, label %25
    i32 6, label %29
    i32 7, label %33
    i32 8, label %37
    i32 9, label %41
    i32 10, label %45
    i32 11, label %49
    i32 12, label %53
    i32 13, label %57
    i32 14, label %77
    i32 15, label %97
    i32 16, label %117
    i32 17, label %121
    i32 18, label %125
    i32 19, label %129
    i32 20, label %133
    i32 21, label %137
    i32 22, label %141
  ]

; <label>:5:                                      ; preds = %2
  %6 = bitcast %class.variant.24* %0 to i8*
  %7 = bitcast %class.variant.24* %1 to i8*
  %8 = load i8, i8* %7, align 1, !tbaa !12
  store i8 %8, i8* %6, align 8, !tbaa !12
  br label %145

; <label>:9:                                      ; preds = %2
  %10 = bitcast %class.variant.24* %0 to i16*
  %11 = bitcast %class.variant.24* %1 to i16*
  %12 = load i16, i16* %11, align 2, !tbaa !59
  store i16 %12, i16* %10, align 8, !tbaa !59
  br label %145

; <label>:13:                                     ; preds = %2
  %14 = bitcast %class.variant.24* %0 to i32*
  %15 = bitcast %class.variant.24* %1 to i32*
  %16 = load i32, i32* %15, align 4, !tbaa !24
  store i32 %16, i32* %14, align 8, !tbaa !24
  br label %145

; <label>:17:                                     ; preds = %2
  %18 = bitcast %class.variant.24* %0 to i64*
  %19 = bitcast %class.variant.24* %1 to i64*
  %20 = load i64, i64* %19, align 8, !tbaa !61
  store i64 %20, i64* %18, align 8, !tbaa !61
  br label %145

; <label>:21:                                     ; preds = %2
  %22 = bitcast %class.variant.24* %1 to i32*
  %23 = bitcast %class.variant.24* %0 to i32*
  %24 = load i32, i32* %22, align 4, !tbaa !24
  store i32 %24, i32* %23, align 4, !tbaa !24
  br label %145

; <label>:25:                                     ; preds = %2
  %26 = bitcast %class.variant.24* %0 to i8*
  %27 = bitcast %class.variant.24* %1 to i8*
  %28 = load i8, i8* %27, align 1, !tbaa !12
  store i8 %28, i8* %26, align 8, !tbaa !12
  br label %145

; <label>:29:                                     ; preds = %2
  %30 = bitcast %class.variant.24* %0 to i16*
  %31 = bitcast %class.variant.24* %1 to i16*
  %32 = load i16, i16* %31, align 2, !tbaa !59
  store i16 %32, i16* %30, align 8, !tbaa !59
  br label %145

; <label>:33:                                     ; preds = %2
  %34 = bitcast %class.variant.24* %0 to i32*
  %35 = bitcast %class.variant.24* %1 to i32*
  %36 = load i32, i32* %35, align 4, !tbaa !24
  store i32 %36, i32* %34, align 8, !tbaa !24
  br label %145

; <label>:37:                                     ; preds = %2
  %38 = bitcast %class.variant.24* %0 to i64*
  %39 = bitcast %class.variant.24* %1 to i64*
  %40 = load i64, i64* %39, align 8, !tbaa !61
  store i64 %40, i64* %38, align 8, !tbaa !61
  br label %145

; <label>:41:                                     ; preds = %2
  %42 = bitcast %class.variant.24* %1 to i32*
  %43 = bitcast %class.variant.24* %0 to i32*
  %44 = load i32, i32* %42, align 4, !tbaa !24
  store i32 %44, i32* %43, align 4, !tbaa !24
  br label %145

; <label>:45:                                     ; preds = %2
  %46 = bitcast %class.variant.24* %1 to i32*
  %47 = load i32, i32* %46, align 4, !tbaa !70
  %48 = bitcast %class.variant.24* %0 to i32*
  store i32 %47, i32* %48, align 8, !tbaa !70
  br label %145

; <label>:49:                                     ; preds = %2
  %50 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 0
  %51 = getelementptr inbounds %class.variant.24, %class.variant.24* %1, i32 0, i32 0, i32 0, i32 0
  %52 = load double, double* %51, align 8, !tbaa !72
  store double %52, double* %50, align 8, !tbaa !72
  br label %145

; <label>:53:                                     ; preds = %2
  %54 = bitcast %class.variant.24* %1 to i32*
  %55 = load i32, i32* %54, align 4, !tbaa !23
  %56 = bitcast %class.variant.24* %0 to i32*
  store i32 %55, i32* %56, align 8, !tbaa !23
  br label %145

; <label>:57:                                     ; preds = %2
  %58 = bitcast %class.variant.24* %0 to %struct.ListBegin*
  %59 = bitcast %class.variant.24* %1 to %struct.ListBegin*
  %60 = bitcast %class.variant.24* %0 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %60, align 4, !tbaa !1262
  %61 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %58, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store %struct.AstNode* null, %struct.AstNode** %61, align 4, !tbaa !1264
  %62 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %63 = bitcast [8 x i8]* %62 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %63, align 4, !tbaa !1265
  %64 = bitcast %class.variant.24* %1 to %struct.AstNode**
  %65 = bitcast %class.variant.24* %1 to i32*
  %66 = load i32, i32* %65, align 4, !tbaa !23
  %67 = bitcast %class.variant.24* %0 to i32*
  store i32 %66, i32* %67, align 4, !tbaa !23
  %68 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %59, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %69 = bitcast %struct.AstNode** %68 to i32*
  %70 = load i32, i32* %69, align 4, !tbaa !23
  %71 = bitcast %struct.AstNode** %61 to i32*
  store i32 %70, i32* %71, align 4, !tbaa !23
  %72 = getelementptr inbounds %class.variant.24, %class.variant.24* %1, i32 0, i32 0, i32 0, i32 1
  %73 = bitcast [8 x i8]* %72 to %struct.AstNode**
  %74 = bitcast [8 x i8]* %72 to i32*
  %75 = load i32, i32* %74, align 4, !tbaa !23
  %76 = bitcast [8 x i8]* %62 to i32*
  store i32 %75, i32* %76, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %64, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %68, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %73, align 4, !tbaa !23
  br label %145

; <label>:77:                                     ; preds = %2
  %78 = bitcast %class.variant.24* %0 to %struct.ListBegin*
  %79 = bitcast %class.variant.24* %1 to %struct.ListBegin*
  %80 = bitcast %class.variant.24* %0 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %80, align 4, !tbaa !1262
  %81 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %78, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store %struct.AstNode* null, %struct.AstNode** %81, align 4, !tbaa !1264
  %82 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %83 = bitcast [8 x i8]* %82 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %83, align 4, !tbaa !1265
  %84 = bitcast %class.variant.24* %1 to %struct.AstNode**
  %85 = bitcast %class.variant.24* %1 to i32*
  %86 = load i32, i32* %85, align 4, !tbaa !23
  %87 = bitcast %class.variant.24* %0 to i32*
  store i32 %86, i32* %87, align 4, !tbaa !23
  %88 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %79, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %89 = bitcast %struct.AstNode** %88 to i32*
  %90 = load i32, i32* %89, align 4, !tbaa !23
  %91 = bitcast %struct.AstNode** %81 to i32*
  store i32 %90, i32* %91, align 4, !tbaa !23
  %92 = getelementptr inbounds %class.variant.24, %class.variant.24* %1, i32 0, i32 0, i32 0, i32 1
  %93 = bitcast [8 x i8]* %92 to %struct.AstNode**
  %94 = bitcast [8 x i8]* %92 to i32*
  %95 = load i32, i32* %94, align 4, !tbaa !23
  %96 = bitcast [8 x i8]* %82 to i32*
  store i32 %95, i32* %96, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %84, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %88, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %93, align 4, !tbaa !23
  br label %145

; <label>:97:                                     ; preds = %2
  %98 = bitcast %class.variant.24* %0 to %struct.ListBegin*
  %99 = bitcast %class.variant.24* %1 to %struct.ListBegin*
  %100 = bitcast %class.variant.24* %0 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %100, align 4, !tbaa !1262
  %101 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %98, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store %struct.AstNode* null, %struct.AstNode** %101, align 4, !tbaa !1264
  %102 = getelementptr inbounds %class.variant.24, %class.variant.24* %0, i32 0, i32 0, i32 0, i32 1
  %103 = bitcast [8 x i8]* %102 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %103, align 4, !tbaa !1265
  %104 = bitcast %class.variant.24* %1 to %struct.AstNode**
  %105 = bitcast %class.variant.24* %1 to i32*
  %106 = load i32, i32* %105, align 4, !tbaa !23
  %107 = bitcast %class.variant.24* %0 to i32*
  store i32 %106, i32* %107, align 4, !tbaa !23
  %108 = getelementptr inbounds %struct.ListBegin, %struct.ListBegin* %99, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %109 = bitcast %struct.AstNode** %108 to i32*
  %110 = load i32, i32* %109, align 4, !tbaa !23
  %111 = bitcast %struct.AstNode** %101 to i32*
  store i32 %110, i32* %111, align 4, !tbaa !23
  %112 = getelementptr inbounds %class.variant.24, %class.variant.24* %1, i32 0, i32 0, i32 0, i32 1
  %113 = bitcast [8 x i8]* %112 to %struct.AstNode**
  %114 = bitcast [8 x i8]* %112 to i32*
  %115 = load i32, i32* %114, align 4, !tbaa !23
  %116 = bitcast [8 x i8]* %102 to i32*
  store i32 %115, i32* %116, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %104, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %108, align 4, !tbaa !23
  store %struct.AstNode* null, %struct.AstNode** %113, align 4, !tbaa !23
  br label %145

; <label>:117:                                    ; preds = %2
  %118 = bitcast %class.variant.24* %1 to i32*
  %119 = bitcast %class.variant.24* %0 to i32*
  %120 = load i32, i32* %118, align 4, !tbaa !23
  store i32 %120, i32* %119, align 4, !tbaa !23
  br label %145

; <label>:121:                                    ; preds = %2
  %122 = bitcast %class.variant.24* %1 to i32*
  %123 = bitcast %class.variant.24* %0 to i32*
  %124 = load i32, i32* %122, align 4, !tbaa !23
  store i32 %124, i32* %123, align 4, !tbaa !23
  br label %145

; <label>:125:                                    ; preds = %2
  %126 = bitcast %class.variant.24* %1 to i32*
  %127 = bitcast %class.variant.24* %0 to i32*
  %128 = load i32, i32* %126, align 4, !tbaa !23
  store i32 %128, i32* %127, align 4, !tbaa !23
  br label %145

; <label>:129:                                    ; preds = %2
  %130 = bitcast %class.variant.24* %1 to i32*
  %131 = bitcast %class.variant.24* %0 to i32*
  %132 = load i32, i32* %130, align 4, !tbaa !23
  store i32 %132, i32* %131, align 4, !tbaa !23
  br label %145

; <label>:133:                                    ; preds = %2
  %134 = bitcast %class.variant.24* %1 to i32*
  %135 = bitcast %class.variant.24* %0 to i32*
  %136 = load i32, i32* %134, align 4, !tbaa !23
  store i32 %136, i32* %135, align 4, !tbaa !23
  br label %145

; <label>:137:                                    ; preds = %2
  %138 = bitcast %class.variant.24* %1 to i32*
  %139 = bitcast %class.variant.24* %0 to i32*
  %140 = load i32, i32* %138, align 4, !tbaa !23
  store i32 %140, i32* %139, align 4, !tbaa !23
  br label %145

; <label>:141:                                    ; preds = %2
  %142 = bitcast %class.variant.24* %1 to i32*
  %143 = bitcast %class.variant.24* %0 to i32*
  %144 = load i32, i32* %142, align 4, !tbaa !23
  store i32 %144, i32* %143, align 4, !tbaa !23
  br label %145

; <label>:145:                                    ; preds = %141, %137, %133, %129, %125, %121, %117, %97, %77, %57, %53, %49, %45, %41, %37, %33, %29, %25, %21, %17, %13, %9, %5, %2
  ret void
}

; Function Attrs: nounwind
define void @"\01?registerName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@AAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"struct.std::pair.23"* dereferenceable(48), %class.variant.43* dereferenceable(16)) local_unnamed_addr #2 {
  %3 = alloca %class.variant.43*, align 4
  %4 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2
  %5 = bitcast %class.variant.43** %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #14
  store %class.variant.43* %1, %class.variant.43** %3, align 4, !tbaa !23
  %6 = call x86_thiscallcc dereferenceable(4) %class.variant.43** @"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"class.std::vector.11"* %4, %class.variant.43** nonnull dereferenceable(4) %3) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #14
  ret void
}

; Function Attrs: norecurse nounwind
define void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* nocapture dereferenceable(48)) local_unnamed_addr #0 {
  %2 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %3 = load %class.variant.43**, %class.variant.43*** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %class.variant.43*, %class.variant.43** %3, i32 -1
  store %class.variant.43** %4, %class.variant.43*** %2, align 4, !tbaa !23
  ret void
}

; Function Attrs: norecurse nounwind readonly
define %class.variant.43* @"\01?findName@@YAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* nocapture readonly dereferenceable(48)) local_unnamed_addr #10 {
  %2 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0
  %3 = load %class.variant.43**, %class.variant.43*** %2, align 4, !tbaa !23
  %4 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %5 = load %class.variant.43**, %class.variant.43*** %4, align 4, !tbaa !23
  %6 = icmp eq %class.variant.43** %3, %5
  br i1 %6, label %10, label %7

; <label>:7:                                      ; preds = %1
  %8 = getelementptr inbounds %class.variant.43*, %class.variant.43** %5, i32 -1
  %9 = load %class.variant.43*, %class.variant.43** %8, align 4, !tbaa !23
  br label %10

; <label>:10:                                     ; preds = %7, %1
  %11 = phi %class.variant.43* [ %9, %7 ], [ null, %1 ]
  ret %class.variant.43* %11
}

; Function Attrs: nounwind
define dereferenceable(16) %class.variant.43* @"\01?addLocal@@YAAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %class.variant.43*, align 4
  %3 = alloca %"class.std::vector.17", align 4
  %4 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %5 = getelementptr inbounds %struct.Node, %struct.Node* %4, i32 -1, i32 0
  %6 = getelementptr inbounds %struct.Node, %struct.Node* %4, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = bitcast %struct.Field** %6 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = bitcast %"class.std::vector.17"* %5 to i32*
  %10 = load i32, i32* %9, align 4, !tbaa !23
  %11 = sub i32 %8, %10
  %12 = sdiv exact i32 %11, 24
  %13 = getelementptr inbounds %struct.Node, %struct.Node* %4, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 2
  %14 = bitcast %struct.Field** %13 to i32*
  %15 = load i32, i32* %14, align 4, !tbaa !23
  %16 = sub i32 %15, %10
  %17 = sdiv exact i32 %16, 24
  %18 = icmp eq i32 %12, %17
  br i1 %18, label %19, label %187

; <label>:19:                                     ; preds = %1
  %20 = bitcast %"class.std::vector.17"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %20) #14
  %21 = lshr i32 %12, 1
  %22 = or i32 %21, %12
  %23 = lshr i32 %22, 2
  %24 = or i32 %23, %22
  %25 = lshr i32 %24, 4
  %26 = or i32 %25, %24
  %27 = lshr i32 %26, 8
  %28 = or i32 %27, %26
  %29 = lshr i32 %28, 16
  %30 = or i32 %29, %28
  %31 = add i32 %30, 1
  %32 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %3, i32 0, i32 0, i32 0, i32 0, i32 1
  %33 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %3, i32 0, i32 0, i32 0, i32 0, i32 2
  %34 = icmp eq i32 %31, 0
  call void @llvm.memset.p0i8.i64(i8* nonnull %20, i8 0, i64 12, i32 4, i1 false) #14
  br i1 %34, label %60, label %35

; <label>:35:                                     ; preds = %19
  %36 = icmp ugt i32 %31, 178956970
  br i1 %36, label %37, label %38

; <label>:37:                                     ; preds = %35
  tail call void @"\01?_Xlength@?$vector@UField@@V?$allocator@UField@@@std@@@std@@CAXXZ"() #12
  unreachable

; <label>:38:                                     ; preds = %35
  %39 = mul i32 %31, 24
  %40 = icmp ugt i32 %39, 4095
  br i1 %40, label %41, label %53

; <label>:41:                                     ; preds = %38
  %42 = icmp ugt i32 %39, -36
  br i1 %42, label %43, label %44

; <label>:43:                                     ; preds = %41
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:44:                                     ; preds = %41
  %45 = add i32 %39, 35
  %46 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %45) #14
  %47 = ptrtoint i8* %46 to i32
  %48 = add i32 %47, 35
  %49 = and i32 %48, -32
  %50 = inttoptr i32 %49 to i8*
  %51 = inttoptr i32 %49 to i32*
  %52 = getelementptr inbounds i32, i32* %51, i32 -1
  store i32 %47, i32* %52, align 4, !tbaa !24
  br label %55

; <label>:53:                                     ; preds = %38
  %54 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %39) #14
  br label %55

; <label>:55:                                     ; preds = %53, %44
  %56 = phi i8* [ %50, %44 ], [ %54, %53 ]
  %57 = bitcast i8* %56 to %struct.Field*
  %58 = bitcast %"class.std::vector.17"* %3 to i8**
  store i8* %56, i8** %58, align 4, !tbaa !23
  %59 = getelementptr %struct.Field, %struct.Field* %57, i32 %31
  store %struct.Field* %59, %struct.Field** %33, align 4, !tbaa !23
  tail call void @llvm.memset.p0i8.i32(i8* %56, i8 0, i32 %39, i32 8, i1 false) #14
  store %struct.Field* %59, %struct.Field** %32, align 4, !tbaa !23
  br label %60

; <label>:60:                                     ; preds = %55, %19
  %61 = load i32, i32* %7, align 4, !tbaa !23
  %62 = load i32, i32* %9, align 4, !tbaa !23
  %63 = sub i32 %61, %62
  %64 = sdiv exact i32 %63, 24
  %65 = add nsw i32 %64, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* nonnull %3, i32 %65, %"class.std::vector.17"* nonnull %3) #14
  %66 = load i32, i32* %7, align 4, !tbaa !23
  %67 = load i32, i32* %9, align 4, !tbaa !23
  %68 = icmp eq i32 %66, %67
  %69 = inttoptr i32 %67 to %struct.Field*
  br i1 %68, label %73, label %70

; <label>:70:                                     ; preds = %60
  %71 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %5, i32 0, i32 0, i32 0, i32 0, i32 0
  %72 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %151

; <label>:73:                                     ; preds = %178, %60
  %74 = phi %struct.Field* [ %69, %60 ], [ %186, %178 ]
  %75 = icmp eq %"class.std::vector.17"* %3, %5
  br i1 %75, label %115, label %76

; <label>:76:                                     ; preds = %73
  %77 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %5, i32 0, i32 0, i32 0, i32 0, i32 0
  %78 = icmp eq %struct.Field* %74, null
  %79 = ptrtoint %struct.Field* %74 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %76
  %81 = load i32, i32* %14, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = sdiv exact i32 %82, 24
  %84 = icmp ugt i32 %83, 178956970
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %struct.Field* %74 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  store %struct.Field* null, %struct.Field** %77, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %6, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %13, align 4, !tbaa !23
  br label %107

; <label>:107:                                    ; preds = %104, %76
  %108 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %109 = bitcast %"class.std::vector.17"* %3 to i32*
  %110 = load i32, i32* %109, align 4, !tbaa !23
  store i32 %110, i32* %9, align 4, !tbaa !23
  %111 = bitcast %struct.Field** %32 to i32*
  %112 = load i32, i32* %111, align 4, !tbaa !23
  store i32 %112, i32* %7, align 4, !tbaa !23
  %113 = bitcast %struct.Field** %33 to i32*
  %114 = load i32, i32* %113, align 4, !tbaa !23
  store i32 %114, i32* %14, align 4, !tbaa !23
  br label %148

; <label>:115:                                    ; preds = %73
  %116 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %117 = load %struct.Field*, %struct.Field** %116, align 4, !tbaa !23
  %118 = bitcast %struct.Field* %117 to i8*
  %119 = icmp eq %struct.Field* %117, null
  %120 = ptrtoint %struct.Field* %117 to i32
  br i1 %119, label %150, label %121

; <label>:121:                                    ; preds = %115
  %122 = bitcast %struct.Field** %33 to i32*
  %123 = load i32, i32* %122, align 4, !tbaa !23
  %124 = sub i32 %123, %120
  %125 = sdiv exact i32 %124, 24
  %126 = icmp ugt i32 %125, 178956970
  br i1 %126, label %144, label %127

; <label>:127:                                    ; preds = %121
  %128 = icmp ugt i32 %124, 4095
  br i1 %128, label %129, label %145

; <label>:129:                                    ; preds = %127
  %130 = add i32 %124, 35
  %131 = icmp ult i32 %124, -35
  %132 = and i32 %120, 31
  %133 = icmp eq i32 %132, 0
  %134 = and i1 %133, %131
  br i1 %134, label %135, label %144

; <label>:135:                                    ; preds = %129
  %136 = add i32 %120, -4
  %137 = inttoptr i32 %136 to i32*
  %138 = load i32, i32* %137, align 4, !tbaa !24
  %139 = icmp ult i32 %138, %120
  br i1 %139, label %140, label %144

; <label>:140:                                    ; preds = %135
  %141 = sub i32 %136, %138
  %142 = icmp ugt i32 %141, 31
  %143 = inttoptr i32 %138 to i8*
  br i1 %142, label %144, label %145

; <label>:144:                                    ; preds = %140, %135, %129, %121
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:145:                                    ; preds = %140, %127
  %146 = phi i8* [ %143, %140 ], [ %118, %127 ]
  %147 = phi i32 [ %130, %140 ], [ %124, %127 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %146, i32 %147) #14
  br label %148

; <label>:148:                                    ; preds = %145, %107
  %149 = phi %struct.Field** [ %108, %107 ], [ %116, %145 ]
  store %struct.Field* null, %struct.Field** %149, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %32, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %33, align 4, !tbaa !23
  br label %150

; <label>:150:                                    ; preds = %148, %115
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %20) #14
  br label %189

; <label>:151:                                    ; preds = %178, %70
  %152 = phi %struct.Field* [ %69, %70 ], [ %186, %178 ]
  %153 = phi i32 [ 0, %70 ], [ %180, %178 ]
  %154 = getelementptr inbounds %struct.Field, %struct.Field* %152, i32 %153
  %155 = load %struct.Field*, %struct.Field** %72, align 4, !tbaa !23
  %156 = getelementptr inbounds %struct.Field, %struct.Field* %155, i32 %153
  %157 = bitcast %struct.Field* %156 to i8*
  %158 = bitcast %struct.Field* %154 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %157, i8* %158, i32 24, i32 8, i1 false), !tbaa.struct !573
  %159 = load %struct.Field*, %struct.Field** %71, align 4, !tbaa !23
  %160 = getelementptr inbounds %struct.Field, %struct.Field* %159, i32 %153, i32 0
  %161 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %160, align 8, !tbaa !561
  %162 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %161, i32 0, i32 1, i32 2
  %163 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %161, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %164 = bitcast %class.variant.43*** %163 to i32*
  %165 = load i32, i32* %164, align 4, !tbaa !23
  %166 = bitcast %"class.std::vector.11"* %162 to i32*
  %167 = load i32, i32* %166, align 4, !tbaa !23
  %168 = sub i32 %165, %167
  %169 = ashr exact i32 %168, 2
  %170 = inttoptr i32 %167 to %class.variant.43**
  %171 = getelementptr inbounds %struct.Field, %struct.Field* %159, i32 %153, i32 1
  br label %172

; <label>:172:                                    ; preds = %172, %151
  %173 = phi i32 [ %169, %151 ], [ %174, %172 ]
  %174 = add i32 %173, -1
  %175 = getelementptr inbounds %class.variant.43*, %class.variant.43** %170, i32 %174
  %176 = load %class.variant.43*, %class.variant.43** %175, align 4, !tbaa !23
  %177 = icmp eq %class.variant.43* %176, %171
  br i1 %177, label %178, label %172

; <label>:178:                                    ; preds = %172
  %179 = getelementptr inbounds %struct.Field, %struct.Field* %155, i32 %153, i32 1
  store %class.variant.43* %179, %class.variant.43** %175, align 4, !tbaa !23
  %180 = add i32 %153, 1
  %181 = load i32, i32* %7, align 4, !tbaa !23
  %182 = load i32, i32* %9, align 4, !tbaa !23
  %183 = sub i32 %181, %182
  %184 = sdiv exact i32 %183, 24
  %185 = icmp ult i32 %180, %184
  %186 = inttoptr i32 %182 to %struct.Field*
  br i1 %185, label %151, label %73

; <label>:187:                                    ; preds = %1
  %188 = add nsw i32 %12, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %5, i32 %188, %"class.std::vector.17"* %5) #14
  br label %189

; <label>:189:                                    ; preds = %187, %150
  %190 = load %struct.Field*, %struct.Field** %6, align 4, !tbaa !23
  %191 = getelementptr inbounds %struct.Field, %struct.Field* %190, i32 -1, i32 0
  store %"struct.std::pair.23"* %0, %"struct.std::pair.23"** %191, align 8, !tbaa !561
  %192 = load %struct.Field*, %struct.Field** %6, align 4, !tbaa !23
  %193 = getelementptr inbounds %struct.Field, %struct.Field* %192, i32 -1, i32 1
  %194 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2
  %195 = bitcast %class.variant.43** %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %195) #14
  store %class.variant.43* %193, %class.variant.43** %2, align 4, !tbaa !23
  %196 = call x86_thiscallcc dereferenceable(4) %class.variant.43** @"\01??$emplace_back@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?A?<decltype-auto>@@$$QAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"class.std::vector.11"* %194, %class.variant.43** nonnull dereferenceable(4) %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %195) #14
  %197 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %198 = getelementptr inbounds %struct.Node, %struct.Node* %197, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %199 = load %struct.Field*, %struct.Field** %198, align 4, !tbaa !23
  %200 = getelementptr inbounds %struct.Field, %struct.Field* %199, i32 -1, i32 1
  ret %class.variant.43* %200
}

; Function Attrs: nounwind
define %"class.std::vector.4"* @"\01?acquireAstNodes@@YAPAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@XZ"() local_unnamed_addr #2 {
  %1 = load %"class.std::vector.4"**, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %2 = load %"class.std::vector.4"**, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %3 = icmp eq %"class.std::vector.4"** %1, %2
  br i1 %3, label %4, label %12

; <label>:4:                                      ; preds = %0
  %5 = tail call i8* @"\01??2@YAPAXI@Z"(i32 12) #21
  %6 = bitcast i8* %5 to %"class.std::vector.4"*
  %7 = bitcast i8* %5 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %7, align 4, !tbaa !1262
  %8 = getelementptr inbounds i8, i8* %5, i32 4
  %9 = bitcast i8* %8 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %9, align 4, !tbaa !1264
  %10 = getelementptr inbounds i8, i8* %5, i32 8
  %11 = bitcast i8* %10 to %struct.AstNode**
  store %struct.AstNode* null, %struct.AstNode** %11, align 4, !tbaa !1265
  br label %15

; <label>:12:                                     ; preds = %0
  %13 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %2, i32 -1
  %14 = load %"class.std::vector.4"*, %"class.std::vector.4"** %13, align 4, !tbaa !23
  store %"class.std::vector.4"** %13, %"class.std::vector.4"*** getelementptr inbounds (%"class.std::vector.104", %"class.std::vector.104"* @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  br label %15

; <label>:15:                                     ; preds = %12, %4
  %16 = phi %"class.std::vector.4"* [ %6, %4 ], [ %14, %12 ]
  ret %"class.std::vector.4"* %16
}

; Function Attrs: nounwind
define void @"\01?releaseAstNodes@@YAXPAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@Z"(%"class.std::vector.4"*) local_unnamed_addr #2 {
  %2 = alloca %"class.std::vector.4"*, align 4
  store %"class.std::vector.4"* %0, %"class.std::vector.4"** %2, align 4, !tbaa !23
  %3 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %4 = load %struct.AstNode*, %struct.AstNode** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.4", %"class.std::vector.4"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %6 = load %struct.AstNode*, %struct.AstNode** %5, align 4, !tbaa !23
  %7 = icmp eq %struct.AstNode* %6, %4
  br i1 %7, label %9, label %8

; <label>:8:                                      ; preds = %1
  br label %11

; <label>:9:                                      ; preds = %1
  %10 = ptrtoint %struct.AstNode* %4 to i32
  br label %19

; <label>:11:                                     ; preds = %11, %8
  %12 = phi %struct.AstNode* [ %14, %11 ], [ %6, %8 ]
  %13 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %12, i32 0, i32 0
  tail call x86_thiscallcc void @"\01?destroy@?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@AAEXXZ"(%class.variant.24* %13) #14
  %14 = getelementptr inbounds %struct.AstNode, %struct.AstNode* %12, i32 1
  %15 = icmp eq %struct.AstNode* %14, %4
  br i1 %15, label %16, label %11

; <label>:16:                                     ; preds = %11
  %17 = bitcast %"class.std::vector.4"* %0 to i32*
  %18 = load i32, i32* %17, align 4, !tbaa !23
  br label %19

; <label>:19:                                     ; preds = %16, %9
  %20 = phi i32 [ %18, %16 ], [ %10, %9 ]
  %21 = bitcast %struct.AstNode** %3 to i32*
  store i32 %20, i32* %21, align 4, !tbaa !23
  %22 = call x86_thiscallcc dereferenceable(4) %"class.std::vector.4"** @"\01??$emplace_back@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@1@@Z"(%"class.std::vector.104"* nonnull @"\01?astNodeCache@@3V?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@A", %"class.std::vector.4"** nonnull dereferenceable(4) %2) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(4) %"class.std::vector.4"** @"\01??$emplace_back@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@?$vector@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V?$allocator@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@QAE?A?<decltype-auto>@@ABQAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@1@@Z"(%"class.std::vector.104"*, %"class.std::vector.4"** dereferenceable(4)) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"class.std::vector.104", %"class.std::vector.104"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %4 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %3, align 4, !tbaa !23
  %5 = getelementptr inbounds %"class.std::vector.104", %"class.std::vector.104"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %5, align 4, !tbaa !23
  %7 = icmp eq %"class.std::vector.4"** %4, %6
  br i1 %7, label %14, label %8

; <label>:8:                                      ; preds = %2
  %9 = bitcast %"class.std::vector.4"** %6 to i32*
  %10 = bitcast %"class.std::vector.4"** %1 to i32*
  %11 = load i32, i32* %10, align 4, !tbaa !23
  store i32 %11, i32* %9, align 4, !tbaa !23
  %12 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %5, align 4, !tbaa !23
  %13 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %12, i32 1
  br label %103

; <label>:14:                                     ; preds = %2
  %15 = ptrtoint %"class.std::vector.4"** %4 to i32
  %16 = ptrtoint %"class.std::vector.4"** %6 to i32
  %17 = bitcast %"class.std::vector.4"*** %5 to i32*
  %18 = bitcast %"class.std::vector.104"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = sub i32 %16, %19
  %21 = ashr exact i32 %20, 2
  %22 = add nsw i32 %21, 1
  %23 = bitcast %"class.std::vector.4"*** %3 to i32*
  %24 = sub i32 %15, %19
  %25 = ashr exact i32 %24, 2
  %26 = lshr i32 %25, 1
  %27 = sub nsw i32 1073741823, %26
  %28 = icmp ugt i32 %25, %27
  br i1 %28, label %33, label %29

; <label>:29:                                     ; preds = %14
  %30 = add i32 %26, %25
  %31 = icmp ult i32 %30, %22
  %32 = select i1 %31, i32 %22, i32 %30
  br label %33

; <label>:33:                                     ; preds = %29, %14
  %34 = phi i32 [ %32, %29 ], [ %22, %14 ]
  %35 = icmp eq i32 %34, 0
  br i1 %35, label %56, label %36

; <label>:36:                                     ; preds = %33
  %37 = icmp ugt i32 %34, 1073741823
  br i1 %37, label %38, label %39

; <label>:38:                                     ; preds = %36
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:39:                                     ; preds = %36
  %40 = shl i32 %34, 2
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %39
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %39
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %33
  %57 = phi i8* [ null, %33 ], [ %51, %45 ], [ %55, %54 ]
  %58 = bitcast i8* %57 to %"class.std::vector.4"**
  %59 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %58, i32 %21
  %60 = bitcast %"class.std::vector.4"** %1 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !23
  %62 = bitcast %"class.std::vector.4"** %59 to i32*
  store i32 %61, i32* %62, align 4, !tbaa !23
  %63 = load i32, i32* %17, align 4, !tbaa !23
  %64 = getelementptr inbounds %"class.std::vector.104", %"class.std::vector.104"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %65 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %64, align 4, !tbaa !23
  %66 = bitcast %"class.std::vector.4"** %65 to i8*
  %67 = ptrtoint %"class.std::vector.4"** %65 to i32
  %68 = sub i32 %63, %67
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %57, i8* %66, i32 %68, i32 1, i1 false) #14
  %69 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %64, align 4, !tbaa !23
  %70 = icmp eq %"class.std::vector.4"** %69, null
  %71 = ptrtoint %"class.std::vector.4"** %69 to i32
  br i1 %70, label %99, label %72

; <label>:72:                                     ; preds = %56
  %73 = load i32, i32* %23, align 4, !tbaa !23
  %74 = sub i32 %73, %71
  %75 = ashr exact i32 %74, 2
  %76 = icmp ugt i32 %75, 1073741823
  br i1 %76, label %95, label %77

; <label>:77:                                     ; preds = %72
  %78 = bitcast %"class.std::vector.4"** %69 to i8*
  %79 = icmp ugt i32 %74, 4095
  br i1 %79, label %80, label %96

; <label>:80:                                     ; preds = %77
  %81 = add i32 %74, 35
  %82 = icmp ult i32 %74, -35
  %83 = and i32 %71, 31
  %84 = icmp eq i32 %83, 0
  %85 = and i1 %84, %82
  br i1 %85, label %86, label %95

; <label>:86:                                     ; preds = %80
  %87 = add i32 %71, -4
  %88 = inttoptr i32 %87 to i32*
  %89 = load i32, i32* %88, align 4, !tbaa !24
  %90 = icmp ult i32 %89, %71
  br i1 %90, label %91, label %95

; <label>:91:                                     ; preds = %86
  %92 = sub i32 %87, %89
  %93 = icmp ugt i32 %92, 31
  %94 = inttoptr i32 %89 to i8*
  br i1 %93, label %95, label %96

; <label>:95:                                     ; preds = %91, %86, %80, %72
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:96:                                     ; preds = %91, %77
  %97 = phi i8* [ %94, %91 ], [ %78, %77 ]
  %98 = phi i32 [ %81, %91 ], [ %74, %77 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %97, i32 %98) #14
  br label %99

; <label>:99:                                     ; preds = %96, %56
  %100 = bitcast %"class.std::vector.104"* %0 to i8**
  store i8* %57, i8** %100, align 4, !tbaa !23
  %101 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %58, i32 %22
  store %"class.std::vector.4"** %101, %"class.std::vector.4"*** %5, align 4, !tbaa !23
  %102 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %58, i32 %34
  br label %103

; <label>:103:                                    ; preds = %99, %8
  %104 = phi %"class.std::vector.4"*** [ %3, %99 ], [ %5, %8 ]
  %105 = phi %"class.std::vector.4"** [ %102, %99 ], [ %13, %8 ]
  store %"class.std::vector.4"** %105, %"class.std::vector.4"*** %104, align 4, !tbaa !23
  %106 = load %"class.std::vector.4"**, %"class.std::vector.4"*** %5, align 4, !tbaa !23
  %107 = getelementptr inbounds %"class.std::vector.4"*, %"class.std::vector.4"** %106, i32 -1
  ret %"class.std::vector.4"** %107
}

; Function Attrs: nounwind
define zeroext i1 @"\01?callImportedFunction@@YA_NAAUImportedFunction@@@Z"(%struct.ImportedFunction* nocapture readonly dereferenceable(28)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::pair.148", align 4
  %4 = alloca i8*, align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::pair.148", align 4
  %9 = alloca i8*, align 4
  %10 = alloca %"class.std::basic_string", align 4
  %11 = alloca %"class.std::basic_string", align 4
  %12 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 1
  %13 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1
  %14 = bitcast i32** %13 to i32*
  %15 = load i32, i32* %14, align 4, !tbaa !23
  %16 = bitcast %"class.std::vector.34"* %12 to i32*
  %17 = load i32, i32* %16, align 4, !tbaa !23
  %18 = sub i32 %15, %17
  %19 = ashr exact i32 %18, 2
  %20 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %21 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %22 = sub i32 %20, %21
  %23 = ashr exact i32 %22, 4
  %24 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %25 = sub i32 %23, %24
  %26 = icmp ult i32 %25, %19
  br i1 %26, label %27, label %46

; <label>:27:                                     ; preds = %1
  %28 = icmp ult i32 %23, %19
  br i1 %28, label %29, label %44

; <label>:29:                                     ; preds = %27
  %30 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %31 = icmp eq i32 %30, 0
  br i1 %31, label %32, label %561

; <label>:32:                                     ; preds = %29
  %33 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %33) #14
  %34 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %35 = icmp ult i32 %34, 15
  br i1 %35, label %41, label %36

; <label>:36:                                     ; preds = %32
  %37 = icmp eq i32 %34, 15
  %38 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %39 = select i1 %37, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %38
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %39, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %40 = getelementptr inbounds i8, i8* %39, i32 15
  store i8 0, i8* %40, align 1, !tbaa !12
  br label %43

; <label>:41:                                     ; preds = %32
  %42 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %43

; <label>:43:                                     ; preds = %41, %36
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %33) #14
  br label %561

; <label>:44:                                     ; preds = %27
  %45 = sub nsw i32 %23, %19
  store i32 %45, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 %19, %"class.std::vector.37"* nonnull @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A") #14
  br label %48

; <label>:46:                                     ; preds = %1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 %19, %"class.std::vector.37"* nonnull @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A") #14
  %47 = icmp eq i32 %19, 0
  br i1 %47, label %210, label %48

; <label>:48:                                     ; preds = %46, %44
  %49 = sub nsw i32 %23, %19
  %50 = getelementptr inbounds %"class.std::vector.34", %"class.std::vector.34"* %12, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %51

; <label>:51:                                     ; preds = %208, %48
  %52 = phi i32 [ %19, %48 ], [ %53, %208 ]
  %53 = add i32 %52, -1
  %54 = add i32 %53, %49
  %55 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %56 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %54
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %55, i32 %54, i32 1
  %58 = load i32, i32* %57, align 8, !tbaa !535
  %59 = load i32*, i32** %50, align 4, !tbaa !23
  %60 = getelementptr inbounds i32, i32* %59, i32 %53
  %61 = load i32, i32* %60, align 4, !tbaa !568
  %62 = icmp eq i32 %58, %61
  br i1 %62, label %81, label %63

; <label>:63:                                     ; preds = %51
  switch i32 %58, label %68 [
    i32 14, label %64
    i32 13, label %66
  ]

; <label>:64:                                     ; preds = %63
  %65 = icmp eq i32 %61, 13
  br i1 %65, label %189, label %68

; <label>:66:                                     ; preds = %63
  %67 = icmp eq i32 %61, 14
  br i1 %67, label %172, label %68

; <label>:68:                                     ; preds = %66, %64, %63
  %69 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %70 = icmp eq i32 %69, 0
  br i1 %70, label %71, label %561

; <label>:71:                                     ; preds = %68
  %72 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %72) #14
  %73 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %74 = icmp ult i32 %73, 18
  br i1 %74, label %78, label %75

; <label>:75:                                     ; preds = %71
  %76 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  store i32 18, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %76, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@HAHNBGGB@invalid?5input?5type?$AA@", i32 0, i32 0), i32 18, i32 1, i1 false) #14
  %77 = getelementptr inbounds i8, i8* %76, i32 18
  store i8 0, i8* %77, align 1, !tbaa !12
  br label %80

; <label>:78:                                     ; preds = %71
  %79 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 18, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@HAHNBGGB@invalid?5input?5type?$AA@", i32 0, i32 0)) #14
  br label %80

; <label>:80:                                     ; preds = %78, %75
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %72) #14
  br label %561

; <label>:81:                                     ; preds = %51
  switch i32 %58, label %207 [
    i32 0, label %82
    i32 1, label %89
    i32 2, label %96
    i32 3, label %103
    i32 4, label %110
    i32 5, label %117
    i32 6, label %124
    i32 7, label %131
    i32 8, label %138
    i32 9, label %145
    i32 10, label %152
    i32 11, label %159
    i32 12, label %166
    i32 13, label %172
    i32 14, label %189
  ]

; <label>:82:                                     ; preds = %81
  %83 = bitcast %class.variant.43* %56 to i8*
  %84 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %85 = getelementptr inbounds %class.variant.43, %class.variant.43* %84, i32 %53
  %86 = bitcast %class.variant.43* %85 to i8*
  %87 = load i8, i8* %83, align 1, !tbaa !566, !range !382
  store i8 %87, i8* %86, align 8, !tbaa !566
  %88 = getelementptr inbounds %class.variant.43, %class.variant.43* %84, i32 %53, i32 1
  store i32 0, i32* %88, align 8, !tbaa !1269
  br label %208

; <label>:89:                                     ; preds = %81
  %90 = bitcast %class.variant.43* %56 to i8*
  %91 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %92 = getelementptr inbounds %class.variant.43, %class.variant.43* %91, i32 %53
  %93 = bitcast %class.variant.43* %92 to i8*
  %94 = load i8, i8* %90, align 1, !tbaa !12
  store i8 %94, i8* %93, align 8, !tbaa !12
  %95 = getelementptr inbounds %class.variant.43, %class.variant.43* %91, i32 %53, i32 1
  store i32 1, i32* %95, align 8, !tbaa !1269
  br label %208

; <label>:96:                                     ; preds = %81
  %97 = bitcast %class.variant.43* %56 to i16*
  %98 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %99 = getelementptr inbounds %class.variant.43, %class.variant.43* %98, i32 %53
  %100 = bitcast %class.variant.43* %99 to i16*
  %101 = load i16, i16* %97, align 2, !tbaa !59
  store i16 %101, i16* %100, align 8, !tbaa !59
  %102 = getelementptr inbounds %class.variant.43, %class.variant.43* %98, i32 %53, i32 1
  store i32 2, i32* %102, align 8, !tbaa !1269
  br label %208

; <label>:103:                                    ; preds = %81
  %104 = bitcast %class.variant.43* %56 to i32*
  %105 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %106 = getelementptr inbounds %class.variant.43, %class.variant.43* %105, i32 %53
  %107 = bitcast %class.variant.43* %106 to i32*
  %108 = load i32, i32* %104, align 4, !tbaa !24
  store i32 %108, i32* %107, align 8, !tbaa !24
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %105, i32 %53, i32 1
  store i32 3, i32* %109, align 8, !tbaa !1269
  br label %208

; <label>:110:                                    ; preds = %81
  %111 = bitcast %class.variant.43* %56 to i64*
  %112 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %113 = getelementptr inbounds %class.variant.43, %class.variant.43* %112, i32 %53
  %114 = bitcast %class.variant.43* %113 to i64*
  %115 = load i64, i64* %111, align 8, !tbaa !61
  store i64 %115, i64* %114, align 8, !tbaa !61
  %116 = getelementptr inbounds %class.variant.43, %class.variant.43* %112, i32 %53, i32 1
  store i32 4, i32* %116, align 8, !tbaa !1269
  br label %208

; <label>:117:                                    ; preds = %81
  %118 = bitcast %class.variant.43* %56 to i32*
  %119 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %120 = getelementptr inbounds %class.variant.43, %class.variant.43* %119, i32 %53
  %121 = bitcast %class.variant.43* %120 to i32*
  %122 = load i32, i32* %118, align 4, !tbaa !24
  store i32 %122, i32* %121, align 8, !tbaa !24
  %123 = getelementptr inbounds %class.variant.43, %class.variant.43* %119, i32 %53, i32 1
  store i32 3, i32* %123, align 8, !tbaa !1269
  br label %208

; <label>:124:                                    ; preds = %81
  %125 = bitcast %class.variant.43* %56 to i8*
  %126 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %127 = getelementptr inbounds %class.variant.43, %class.variant.43* %126, i32 %53
  %128 = bitcast %class.variant.43* %127 to i8*
  %129 = load i8, i8* %125, align 1, !tbaa !12
  store i8 %129, i8* %128, align 8, !tbaa !12
  %130 = getelementptr inbounds %class.variant.43, %class.variant.43* %126, i32 %53, i32 1
  store i32 6, i32* %130, align 8, !tbaa !1269
  br label %208

; <label>:131:                                    ; preds = %81
  %132 = bitcast %class.variant.43* %56 to i16*
  %133 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %134 = getelementptr inbounds %class.variant.43, %class.variant.43* %133, i32 %53
  %135 = bitcast %class.variant.43* %134 to i16*
  %136 = load i16, i16* %132, align 2, !tbaa !59
  store i16 %136, i16* %135, align 8, !tbaa !59
  %137 = getelementptr inbounds %class.variant.43, %class.variant.43* %133, i32 %53, i32 1
  store i32 7, i32* %137, align 8, !tbaa !1269
  br label %208

; <label>:138:                                    ; preds = %81
  %139 = bitcast %class.variant.43* %56 to i32*
  %140 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %141 = getelementptr inbounds %class.variant.43, %class.variant.43* %140, i32 %53
  %142 = bitcast %class.variant.43* %141 to i32*
  %143 = load i32, i32* %139, align 4, !tbaa !24
  store i32 %143, i32* %142, align 8, !tbaa !24
  %144 = getelementptr inbounds %class.variant.43, %class.variant.43* %140, i32 %53, i32 1
  store i32 8, i32* %144, align 8, !tbaa !1269
  br label %208

; <label>:145:                                    ; preds = %81
  %146 = bitcast %class.variant.43* %56 to i64*
  %147 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %148 = getelementptr inbounds %class.variant.43, %class.variant.43* %147, i32 %53
  %149 = bitcast %class.variant.43* %148 to i64*
  %150 = load i64, i64* %146, align 8, !tbaa !61
  store i64 %150, i64* %149, align 8, !tbaa !61
  %151 = getelementptr inbounds %class.variant.43, %class.variant.43* %147, i32 %53, i32 1
  store i32 9, i32* %151, align 8, !tbaa !1269
  br label %208

; <label>:152:                                    ; preds = %81
  %153 = bitcast %class.variant.43* %56 to i32*
  %154 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %155 = getelementptr inbounds %class.variant.43, %class.variant.43* %154, i32 %53
  %156 = bitcast %class.variant.43* %155 to i32*
  %157 = load i32, i32* %153, align 4, !tbaa !24
  store i32 %157, i32* %156, align 8, !tbaa !24
  %158 = getelementptr inbounds %class.variant.43, %class.variant.43* %154, i32 %53, i32 1
  store i32 8, i32* %158, align 8, !tbaa !1269
  br label %208

; <label>:159:                                    ; preds = %81
  %160 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %161 = getelementptr inbounds %class.variant.43, %class.variant.43* %160, i32 %53
  %162 = bitcast %class.variant.43* %56 to i32*
  %163 = load i32, i32* %162, align 4, !tbaa !70
  %164 = bitcast %class.variant.43* %161 to i32*
  store i32 %163, i32* %164, align 8, !tbaa !70
  %165 = getelementptr inbounds %class.variant.43, %class.variant.43* %160, i32 %53, i32 1
  store i32 11, i32* %165, align 8, !tbaa !1269
  br label %208

; <label>:166:                                    ; preds = %81
  %167 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 0, i32 0, i32 0, i32 0
  %168 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %169 = getelementptr inbounds %class.variant.43, %class.variant.43* %168, i32 %53, i32 0, i32 0, i32 0
  %170 = load double, double* %167, align 8, !tbaa !72
  store double %170, double* %169, align 8, !tbaa !72
  %171 = getelementptr inbounds %class.variant.43, %class.variant.43* %168, i32 %53, i32 1
  store i32 12, i32* %171, align 8, !tbaa !1269
  br label %208

; <label>:172:                                    ; preds = %81, %66
  %173 = bitcast %class.variant.43* %56 to %"struct.std::pair.23"**
  %174 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %173, align 4, !tbaa !542
  %175 = bitcast %"struct.std::pair.23"* %174 to i8*
  %176 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %174, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %177 = load i32, i32* %176, align 4, !tbaa !81
  %178 = icmp ugt i32 %177, 15
  br i1 %178, label %179, label %182

; <label>:179:                                    ; preds = %172
  %180 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %174, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %181 = load i8*, i8** %180, align 4, !tbaa !12
  br label %182

; <label>:182:                                    ; preds = %179, %172
  %183 = phi i8* [ %181, %179 ], [ %175, %172 ]
  %184 = ptrtoint i8* %183 to i32
  %185 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %186 = getelementptr inbounds %class.variant.43, %class.variant.43* %185, i32 %53
  %187 = bitcast %class.variant.43* %186 to i32*
  store i32 %184, i32* %187, align 8, !tbaa !23
  %188 = getelementptr inbounds %class.variant.43, %class.variant.43* %185, i32 %53, i32 1
  store i32 13, i32* %188, align 8, !tbaa !1269
  br label %208

; <label>:189:                                    ; preds = %81, %64
  %190 = bitcast %class.variant.43* %56 to %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"**
  %191 = load %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"*, %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"** %190, align 4, !tbaa !549
  %192 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %191, i32 0, i32 1
  %193 = bitcast %"class.std::basic_string"* %192 to i8*
  %194 = getelementptr inbounds %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data", %"struct.Share<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::Data"* %191, i32 0, i32 1, i32 0, i32 0, i32 0, i32 2
  %195 = load i32, i32* %194, align 4, !tbaa !81
  %196 = icmp ugt i32 %195, 15
  br i1 %196, label %197, label %200

; <label>:197:                                    ; preds = %189
  %198 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %192, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %199 = load i8*, i8** %198, align 4, !tbaa !12
  br label %200

; <label>:200:                                    ; preds = %197, %189
  %201 = phi i8* [ %199, %197 ], [ %193, %189 ]
  %202 = ptrtoint i8* %201 to i32
  %203 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %204 = getelementptr inbounds %class.variant.43, %class.variant.43* %203, i32 %53
  %205 = bitcast %class.variant.43* %204 to i32*
  store i32 %202, i32* %205, align 8, !tbaa !23
  %206 = getelementptr inbounds %class.variant.43, %class.variant.43* %203, i32 %53, i32 1
  store i32 13, i32* %206, align 8, !tbaa !1269
  br label %208

; <label>:207:                                    ; preds = %81
  tail call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 584) #14
  br label %208

; <label>:208:                                    ; preds = %207, %200, %182, %166, %159, %152, %145, %138, %131, %124, %117, %110, %103, %96, %89, %82
  %209 = icmp eq i32 %53, 0
  br i1 %209, label %210, label %51

; <label>:210:                                    ; preds = %208, %46
  %211 = sub nsw i32 1, %19
  %212 = add nsw i32 %211, %23
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %212, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %213 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 2
  %214 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 1
  %215 = bitcast i32** %214 to i32*
  %216 = load i32, i32* %215, align 4, !tbaa !23
  %217 = bitcast %"class.std::vector.34"* %213 to i32*
  %218 = load i32, i32* %217, align 4, !tbaa !23
  %219 = sub i32 %216, %218
  %220 = icmp eq i32 %219, 4
  br i1 %220, label %221, label %240

; <label>:221:                                    ; preds = %210
  %222 = inttoptr i32 %218 to i32*
  %223 = load i32, i32* %222, align 4, !tbaa !568
  switch i32 %223, label %239 [
    i32 0, label %224
    i32 1, label %225
    i32 2, label %226
    i32 3, label %227
    i32 4, label %228
    i32 5, label %229
    i32 6, label %230
    i32 7, label %231
    i32 8, label %232
    i32 9, label %233
    i32 10, label %234
    i32 11, label %235
    i32 12, label %236
    i32 13, label %237
    i32 14, label %238
  ]

; <label>:224:                                    ; preds = %221
  store i8 0, i8* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), align 8, !tbaa !566
  store i32 0, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:225:                                    ; preds = %221
  store i8 0, i8* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), align 8, !tbaa !12
  store i32 1, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:226:                                    ; preds = %221
  store i16 0, i16* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), align 8, !tbaa !59
  store i32 2, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:227:                                    ; preds = %221
  store i32 0, i32* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), align 8, !tbaa !24
  store i32 3, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:228:                                    ; preds = %221
  store i64 0, i64* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), align 8, !tbaa !61
  store i32 4, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:229:                                    ; preds = %221
  store i32 0, i32* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), align 8, !tbaa !24
  store i32 5, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:230:                                    ; preds = %221
  store i8 0, i8* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), align 8, !tbaa !12
  store i32 6, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:231:                                    ; preds = %221
  store i16 0, i16* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), align 8, !tbaa !59
  store i32 7, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:232:                                    ; preds = %221
  store i32 0, i32* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), align 8, !tbaa !24
  store i32 8, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:233:                                    ; preds = %221
  store i64 0, i64* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), align 8, !tbaa !61
  store i32 9, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:234:                                    ; preds = %221
  store i32 0, i32* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), align 8, !tbaa !24
  store i32 10, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:235:                                    ; preds = %221
  store i32 0, i32* bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), align 8, !tbaa !70
  store i32 11, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:236:                                    ; preds = %221
  store double 0.000000e+00, double* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 0, i32 0, i32 0), align 8, !tbaa !72
  store i32 12, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:237:                                    ; preds = %221
  store i8* null, i8** bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), align 8, !tbaa !23
  store i32 13, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:238:                                    ; preds = %221
  store i8* null, i8** bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), align 8, !tbaa !23
  store i32 13, i32* getelementptr inbounds (%class.variant.43, %class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", i32 0, i32 1), align 8, !tbaa !1269
  br label %240

; <label>:239:                                    ; preds = %221
  tail call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 608) #14
  br label %240

; <label>:240:                                    ; preds = %239, %238, %237, %236, %235, %234, %233, %232, %231, %230, %229, %228, %227, %226, %225, %224, %210
  %241 = phi i8** [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %239 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %238 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %237 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %236 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %235 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %234 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %233 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %232 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %231 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %230 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %229 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %228 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %227 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %226 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %225 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8**), %224 ], [ null, %210 ]
  %242 = phi i32* [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %239 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %238 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %237 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %236 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %235 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %234 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %233 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %232 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %231 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %230 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %229 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %228 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %227 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %226 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %225 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i32*), %224 ], [ null, %210 ]
  %243 = phi i64* [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %239 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %238 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %237 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %236 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %235 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %234 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %233 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %232 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %231 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %230 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %229 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %228 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %227 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %226 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %225 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i64*), %224 ], [ null, %210 ]
  %244 = phi i16* [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %239 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %238 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %237 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %236 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %235 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %234 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %233 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %232 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %231 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %230 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %229 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %228 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %227 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %226 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %225 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i16*), %224 ], [ null, %210 ]
  %245 = phi i8* [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %239 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %238 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %237 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %236 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %235 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %234 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %233 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %232 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %231 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %230 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %229 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %228 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %227 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %226 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %225 ], [ bitcast (%class.variant.43* @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A" to i8*), %224 ], [ null, %210 ]
  %246 = phi %class.variant.43* [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %239 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %238 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %237 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %236 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %235 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %234 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %233 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %232 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %231 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %230 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %229 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %228 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %227 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %226 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %225 ], [ @"\01?importedFunctionResult@@3U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@A", %224 ], [ null, %210 ]
  %247 = getelementptr inbounds %struct.ImportedFunction, %struct.ImportedFunction* %0, i32 0, i32 0
  %248 = load i8*, i8** %247, align 4, !tbaa !611
  %249 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %250 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?importedFunctionArguments@@3V?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %251 = sub i32 %249, %250
  %252 = ashr exact i32 %251, 4
  %253 = inttoptr i32 %250 to %class.variant.43*
  tail call void @callImportedFunction(%class.variant.43* %253, i32 %252, %class.variant.43* %246, i8* %248) #14
  %254 = load i32, i32* %215, align 4, !tbaa !23
  %255 = load i32, i32* %217, align 4, !tbaa !23
  %256 = sub i32 %254, %255
  %257 = icmp eq i32 %256, 4
  br i1 %257, label %258, label %555

; <label>:258:                                    ; preds = %240
  %259 = inttoptr i32 %255 to i32*
  %260 = load i32, i32* %259, align 4, !tbaa !568
  switch i32 %260, label %554 [
    i32 0, label %261
    i32 1, label %272
    i32 2, label %283
    i32 3, label %294
    i32 4, label %305
    i32 5, label %316
    i32 6, label %327
    i32 7, label %338
    i32 8, label %349
    i32 9, label %360
    i32 10, label %371
    i32 11, label %382
    i32 12, label %393
    i32 13, label %404
    i32 14, label %479
  ]

; <label>:261:                                    ; preds = %258
  %262 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %263 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %264 = sub i32 %262, %263
  %265 = ashr exact i32 %264, 4
  %266 = add nsw i32 %265, -1
  %267 = inttoptr i32 %263 to %class.variant.43*
  %268 = getelementptr inbounds %class.variant.43, %class.variant.43* %267, i32 %266
  %269 = bitcast %class.variant.43* %268 to i8*
  %270 = load i8, i8* %245, align 1, !tbaa !566, !range !382
  store i8 %270, i8* %269, align 8, !tbaa !566
  %271 = getelementptr inbounds %class.variant.43, %class.variant.43* %267, i32 %266, i32 1
  store i32 0, i32* %271, align 8, !tbaa !535
  br label %561

; <label>:272:                                    ; preds = %258
  %273 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %274 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %275 = sub i32 %273, %274
  %276 = ashr exact i32 %275, 4
  %277 = add nsw i32 %276, -1
  %278 = inttoptr i32 %274 to %class.variant.43*
  %279 = getelementptr inbounds %class.variant.43, %class.variant.43* %278, i32 %277
  %280 = bitcast %class.variant.43* %279 to i8*
  %281 = load i8, i8* %245, align 1, !tbaa !12
  store i8 %281, i8* %280, align 8, !tbaa !12
  %282 = getelementptr inbounds %class.variant.43, %class.variant.43* %278, i32 %277, i32 1
  store i32 1, i32* %282, align 8, !tbaa !535
  br label %561

; <label>:283:                                    ; preds = %258
  %284 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %285 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %286 = sub i32 %284, %285
  %287 = ashr exact i32 %286, 4
  %288 = add nsw i32 %287, -1
  %289 = inttoptr i32 %285 to %class.variant.43*
  %290 = getelementptr inbounds %class.variant.43, %class.variant.43* %289, i32 %288
  %291 = bitcast %class.variant.43* %290 to i16*
  %292 = load i16, i16* %244, align 2, !tbaa !59
  store i16 %292, i16* %291, align 8, !tbaa !59
  %293 = getelementptr inbounds %class.variant.43, %class.variant.43* %289, i32 %288, i32 1
  store i32 2, i32* %293, align 8, !tbaa !535
  br label %561

; <label>:294:                                    ; preds = %258
  %295 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %296 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %297 = sub i32 %295, %296
  %298 = ashr exact i32 %297, 4
  %299 = add nsw i32 %298, -1
  %300 = inttoptr i32 %296 to %class.variant.43*
  %301 = getelementptr inbounds %class.variant.43, %class.variant.43* %300, i32 %299
  %302 = bitcast %class.variant.43* %301 to i32*
  %303 = load i32, i32* %242, align 4, !tbaa !24
  store i32 %303, i32* %302, align 8, !tbaa !24
  %304 = getelementptr inbounds %class.variant.43, %class.variant.43* %300, i32 %299, i32 1
  store i32 3, i32* %304, align 8, !tbaa !535
  br label %561

; <label>:305:                                    ; preds = %258
  %306 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %307 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %308 = sub i32 %306, %307
  %309 = ashr exact i32 %308, 4
  %310 = add nsw i32 %309, -1
  %311 = inttoptr i32 %307 to %class.variant.43*
  %312 = getelementptr inbounds %class.variant.43, %class.variant.43* %311, i32 %310
  %313 = bitcast %class.variant.43* %312 to i64*
  %314 = load i64, i64* %243, align 8, !tbaa !61
  store i64 %314, i64* %313, align 8, !tbaa !61
  %315 = getelementptr inbounds %class.variant.43, %class.variant.43* %311, i32 %310, i32 1
  store i32 4, i32* %315, align 8, !tbaa !535
  br label %561

; <label>:316:                                    ; preds = %258
  %317 = load i32, i32* %242, align 4, !tbaa !24
  %318 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %319 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %320 = sub i32 %318, %319
  %321 = ashr exact i32 %320, 4
  %322 = add nsw i32 %321, -1
  %323 = inttoptr i32 %319 to %class.variant.43*
  %324 = getelementptr inbounds %class.variant.43, %class.variant.43* %323, i32 %322
  %325 = bitcast %class.variant.43* %324 to i32*
  store i32 %317, i32* %325, align 4, !tbaa !24
  %326 = getelementptr inbounds %class.variant.43, %class.variant.43* %323, i32 %322, i32 1
  store i32 5, i32* %326, align 8, !tbaa !535
  br label %561

; <label>:327:                                    ; preds = %258
  %328 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %329 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %330 = sub i32 %328, %329
  %331 = ashr exact i32 %330, 4
  %332 = add nsw i32 %331, -1
  %333 = inttoptr i32 %329 to %class.variant.43*
  %334 = getelementptr inbounds %class.variant.43, %class.variant.43* %333, i32 %332
  %335 = bitcast %class.variant.43* %334 to i8*
  %336 = load i8, i8* %245, align 1, !tbaa !12
  store i8 %336, i8* %335, align 8, !tbaa !12
  %337 = getelementptr inbounds %class.variant.43, %class.variant.43* %333, i32 %332, i32 1
  store i32 6, i32* %337, align 8, !tbaa !535
  br label %561

; <label>:338:                                    ; preds = %258
  %339 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %340 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %341 = sub i32 %339, %340
  %342 = ashr exact i32 %341, 4
  %343 = add nsw i32 %342, -1
  %344 = inttoptr i32 %340 to %class.variant.43*
  %345 = getelementptr inbounds %class.variant.43, %class.variant.43* %344, i32 %343
  %346 = bitcast %class.variant.43* %345 to i16*
  %347 = load i16, i16* %244, align 2, !tbaa !59
  store i16 %347, i16* %346, align 8, !tbaa !59
  %348 = getelementptr inbounds %class.variant.43, %class.variant.43* %344, i32 %343, i32 1
  store i32 7, i32* %348, align 8, !tbaa !535
  br label %561

; <label>:349:                                    ; preds = %258
  %350 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %351 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %352 = sub i32 %350, %351
  %353 = ashr exact i32 %352, 4
  %354 = add nsw i32 %353, -1
  %355 = inttoptr i32 %351 to %class.variant.43*
  %356 = getelementptr inbounds %class.variant.43, %class.variant.43* %355, i32 %354
  %357 = bitcast %class.variant.43* %356 to i32*
  %358 = load i32, i32* %242, align 4, !tbaa !24
  store i32 %358, i32* %357, align 8, !tbaa !24
  %359 = getelementptr inbounds %class.variant.43, %class.variant.43* %355, i32 %354, i32 1
  store i32 8, i32* %359, align 8, !tbaa !535
  br label %561

; <label>:360:                                    ; preds = %258
  %361 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %362 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %363 = sub i32 %361, %362
  %364 = ashr exact i32 %363, 4
  %365 = add nsw i32 %364, -1
  %366 = inttoptr i32 %362 to %class.variant.43*
  %367 = getelementptr inbounds %class.variant.43, %class.variant.43* %366, i32 %365
  %368 = bitcast %class.variant.43* %367 to i64*
  %369 = load i64, i64* %243, align 8, !tbaa !61
  store i64 %369, i64* %368, align 8, !tbaa !61
  %370 = getelementptr inbounds %class.variant.43, %class.variant.43* %366, i32 %365, i32 1
  store i32 9, i32* %370, align 8, !tbaa !535
  br label %561

; <label>:371:                                    ; preds = %258
  %372 = load i32, i32* %242, align 4, !tbaa !24
  %373 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %374 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %375 = sub i32 %373, %374
  %376 = ashr exact i32 %375, 4
  %377 = add nsw i32 %376, -1
  %378 = inttoptr i32 %374 to %class.variant.43*
  %379 = getelementptr inbounds %class.variant.43, %class.variant.43* %378, i32 %377
  %380 = bitcast %class.variant.43* %379 to i32*
  store i32 %372, i32* %380, align 4, !tbaa !24
  %381 = getelementptr inbounds %class.variant.43, %class.variant.43* %378, i32 %377, i32 1
  store i32 10, i32* %381, align 8, !tbaa !535
  br label %561

; <label>:382:                                    ; preds = %258
  %383 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %384 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %385 = sub i32 %383, %384
  %386 = ashr exact i32 %385, 4
  %387 = add nsw i32 %386, -1
  %388 = inttoptr i32 %384 to %class.variant.43*
  %389 = getelementptr inbounds %class.variant.43, %class.variant.43* %388, i32 %387
  %390 = load i32, i32* %242, align 4, !tbaa !70
  %391 = bitcast %class.variant.43* %389 to i32*
  store i32 %390, i32* %391, align 8, !tbaa !70
  %392 = getelementptr inbounds %class.variant.43, %class.variant.43* %388, i32 %387, i32 1
  store i32 11, i32* %392, align 8, !tbaa !535
  br label %561

; <label>:393:                                    ; preds = %258
  %394 = getelementptr inbounds %class.variant.43, %class.variant.43* %246, i32 0, i32 0, i32 0, i32 0
  %395 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %396 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %397 = sub i32 %395, %396
  %398 = ashr exact i32 %397, 4
  %399 = add nsw i32 %398, -1
  %400 = inttoptr i32 %396 to %class.variant.43*
  %401 = getelementptr inbounds %class.variant.43, %class.variant.43* %400, i32 %399, i32 0, i32 0, i32 0
  %402 = load double, double* %394, align 8, !tbaa !72
  store double %402, double* %401, align 8, !tbaa !72
  %403 = getelementptr inbounds %class.variant.43, %class.variant.43* %400, i32 %399, i32 1
  store i32 12, i32* %403, align 8, !tbaa !535
  br label %561

; <label>:404:                                    ; preds = %258
  %405 = bitcast %"class.std::basic_string"* %10 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %405) #14
  %406 = load i8*, i8** %241, align 4, !tbaa !23
  %407 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 1
  %408 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 2
  %409 = bitcast i32* %407 to i64*
  store i64 0, i64* %409, align 4
  store i32 15, i32* %408, align 4, !tbaa !81
  store i8 0, i8* %405, align 4, !tbaa !12
  %410 = tail call i32 @strlen(i8* %406) #14
  %411 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %411) #14
  %412 = icmp ugt i32 %410, 15
  br i1 %412, label %415, label %413

; <label>:413:                                    ; preds = %404
  store i32 %410, i32* %407, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %405, i8* %406, i32 %410, i32 1, i1 false) #14
  %414 = getelementptr inbounds i8, i8* %405, i32 %410
  store i8 0, i8* %414, align 1, !tbaa !12
  br label %417

; <label>:415:                                    ; preds = %404
  %416 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %10, i32 %410, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* %406) #14
  br label %417

; <label>:417:                                    ; preds = %415, %413
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %411) #14
  %418 = bitcast %"struct.std::pair.148"* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %418) #14
  %419 = bitcast i8** %4 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %419) #14
  store i8* null, i8** %4, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %3, %"class.std::basic_string"* nonnull dereferenceable(24) %10, i8** nonnull dereferenceable(4) %4) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %419) #14
  %420 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 1
  %421 = load i8, i8* %420, align 4, !tbaa !1203, !range !382
  %422 = icmp eq i8 %421, 0
  br i1 %422, label %423, label %428

; <label>:423:                                    ; preds = %417
  %424 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %425 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %424, align 4, !tbaa !833
  %426 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %425, i32 0, i32 2, i32 1
  %427 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %426, align 4, !tbaa !1206
  br label %436

; <label>:428:                                    ; preds = %417
  %429 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %429, i8* nonnull %405, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %407, align 4, !tbaa !83
  store i32 15, i32* %408, align 4, !tbaa !81
  store i8 0, i8* %405, align 4, !tbaa !12
  %430 = getelementptr inbounds i8, i8* %429, i32 24
  call void @llvm.memset.p0i8.i64(i8* %430, i8 0, i64 24, i32 4, i1 false) #14
  %431 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %432 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %431, align 4, !tbaa !833
  %433 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %432, i32 0, i32 2, i32 1
  %434 = bitcast %"struct.std::pair.23"** %433 to i8**
  store i8* %429, i8** %434, align 4, !tbaa !1206
  %435 = bitcast i8* %429 to %"struct.std::pair.23"*
  br label %436

; <label>:436:                                    ; preds = %428, %423
  %437 = phi %"struct.std::pair.23"* [ %427, %423 ], [ %435, %428 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %418) #14
  %438 = ptrtoint %"struct.std::pair.23"* %437 to i32
  %439 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %440 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %441 = sub i32 %439, %440
  %442 = ashr exact i32 %441, 4
  %443 = add nsw i32 %442, -1
  %444 = inttoptr i32 %440 to %class.variant.43*
  %445 = getelementptr inbounds %class.variant.43, %class.variant.43* %444, i32 %443
  %446 = bitcast %class.variant.43* %445 to i32*
  store i32 %438, i32* %446, align 4
  %447 = bitcast %class.variant.43* %445 to i8*
  %448 = getelementptr inbounds i8, i8* %447, i32 4
  %449 = bitcast i8* %448 to i32*
  store i32 0, i32* %449, align 4
  %450 = getelementptr inbounds %class.variant.43, %class.variant.43* %444, i32 %443, i32 1
  store i32 13, i32* %450, align 8, !tbaa !535
  %451 = load i32, i32* %408, align 4, !tbaa !81
  %452 = icmp ugt i32 %451, 15
  br i1 %452, label %453, label %478

; <label>:453:                                    ; preds = %436
  %454 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %455 = load i8*, i8** %454, align 4, !tbaa !12
  %456 = add i32 %451, 1
  %457 = icmp ugt i32 %456, 4095
  br i1 %457, label %458, label %475

; <label>:458:                                    ; preds = %453
  %459 = add i32 %451, 36
  %460 = icmp ugt i32 %456, -36
  br i1 %460, label %474, label %461

; <label>:461:                                    ; preds = %458
  %462 = ptrtoint i8* %455 to i32
  %463 = and i32 %462, 31
  %464 = icmp eq i32 %463, 0
  br i1 %464, label %465, label %474

; <label>:465:                                    ; preds = %461
  %466 = add i32 %462, -4
  %467 = inttoptr i32 %466 to i32*
  %468 = load i32, i32* %467, align 4, !tbaa !24
  %469 = icmp ult i32 %468, %462
  br i1 %469, label %470, label %474

; <label>:470:                                    ; preds = %465
  %471 = sub i32 %466, %468
  %472 = icmp ugt i32 %471, 31
  %473 = inttoptr i32 %468 to i8*
  br i1 %472, label %474, label %475

; <label>:474:                                    ; preds = %470, %465, %461, %458
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:475:                                    ; preds = %470, %453
  %476 = phi i8* [ %473, %470 ], [ %455, %453 ]
  %477 = phi i32 [ %459, %470 ], [ %456, %453 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %476, i32 %477) #14
  br label %478

; <label>:478:                                    ; preds = %475, %436
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %405) #14
  br label %561

; <label>:479:                                    ; preds = %258
  %480 = bitcast %"class.std::basic_string"* %11 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %480) #14
  %481 = load i8*, i8** %241, align 4, !tbaa !23
  %482 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 1
  %483 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 2
  %484 = bitcast i32* %482 to i64*
  store i64 0, i64* %484, align 4
  store i32 15, i32* %483, align 4, !tbaa !81
  store i8 0, i8* %480, align 4, !tbaa !12
  %485 = tail call i32 @strlen(i8* %481) #14
  %486 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %486) #14
  %487 = icmp ugt i32 %485, 15
  br i1 %487, label %490, label %488

; <label>:488:                                    ; preds = %479
  store i32 %485, i32* %482, align 4, !tbaa !83
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %480, i8* %481, i32 %485, i32 1, i1 false) #14
  %489 = getelementptr inbounds i8, i8* %480, i32 %485
  store i8 0, i8* %489, align 1, !tbaa !12
  br label %492

; <label>:490:                                    ; preds = %479
  %491 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %11, i32 %485, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %481) #14
  br label %492

; <label>:492:                                    ; preds = %490, %488
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %486) #14
  %493 = bitcast %"struct.std::pair.148"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %493) #14
  %494 = bitcast i8** %9 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %494) #14
  store i8* null, i8** %9, align 4, !tbaa !1201
  call x86_thiscallcc void @"\01??$emplace@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$T@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QA$$T@Z"(%"class.std::_Hash.63"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %8, %"class.std::basic_string"* nonnull dereferenceable(24) %11, i8** nonnull dereferenceable(4) %9) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %494) #14
  %495 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %8, i32 0, i32 1
  %496 = load i8, i8* %495, align 4, !tbaa !1203, !range !382
  %497 = icmp eq i8 %496, 0
  br i1 %497, label %498, label %503

; <label>:498:                                    ; preds = %492
  %499 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %8, i32 0, i32 0, i32 0, i32 0, i32 0
  %500 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %499, align 4, !tbaa !833
  %501 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %500, i32 0, i32 2, i32 1
  %502 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %501, align 4, !tbaa !1206
  br label %511

; <label>:503:                                    ; preds = %492
  %504 = call i8* @"\01??2@YAPAXI@Z"(i32 48) #21
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %504, i8* nonnull %480, i32 24, i32 1, i1 false) #14
  store i32 0, i32* %482, align 4, !tbaa !83
  store i32 15, i32* %483, align 4, !tbaa !81
  store i8 0, i8* %480, align 4, !tbaa !12
  %505 = getelementptr inbounds i8, i8* %504, i32 24
  call void @llvm.memset.p0i8.i64(i8* %505, i8 0, i64 24, i32 4, i1 false) #14
  %506 = getelementptr inbounds %"struct.std::pair.148", %"struct.std::pair.148"* %8, i32 0, i32 0, i32 0, i32 0, i32 0
  %507 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %506, align 4, !tbaa !833
  %508 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %507, i32 0, i32 2, i32 1
  %509 = bitcast %"struct.std::pair.23"** %508 to i8**
  store i8* %504, i8** %509, align 4, !tbaa !1206
  %510 = bitcast i8* %504 to %"struct.std::pair.23"*
  br label %511

; <label>:511:                                    ; preds = %503, %498
  %512 = phi %"struct.std::pair.23"* [ %502, %498 ], [ %510, %503 ]
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %493) #14
  %513 = ptrtoint %"struct.std::pair.23"* %512 to i32
  %514 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %515 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %516 = sub i32 %514, %515
  %517 = ashr exact i32 %516, 4
  %518 = add nsw i32 %517, -1
  %519 = inttoptr i32 %515 to %class.variant.43*
  %520 = getelementptr inbounds %class.variant.43, %class.variant.43* %519, i32 %518
  %521 = bitcast %class.variant.43* %520 to i32*
  store i32 %513, i32* %521, align 4
  %522 = bitcast %class.variant.43* %520 to i8*
  %523 = getelementptr inbounds i8, i8* %522, i32 4
  %524 = bitcast i8* %523 to i32*
  store i32 0, i32* %524, align 4
  %525 = getelementptr inbounds %class.variant.43, %class.variant.43* %519, i32 %518, i32 1
  store i32 13, i32* %525, align 8, !tbaa !535
  %526 = load i32, i32* %483, align 4, !tbaa !81
  %527 = icmp ugt i32 %526, 15
  br i1 %527, label %528, label %553

; <label>:528:                                    ; preds = %511
  %529 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %530 = load i8*, i8** %529, align 4, !tbaa !12
  %531 = add i32 %526, 1
  %532 = icmp ugt i32 %531, 4095
  br i1 %532, label %533, label %550

; <label>:533:                                    ; preds = %528
  %534 = add i32 %526, 36
  %535 = icmp ugt i32 %531, -36
  br i1 %535, label %549, label %536

; <label>:536:                                    ; preds = %533
  %537 = ptrtoint i8* %530 to i32
  %538 = and i32 %537, 31
  %539 = icmp eq i32 %538, 0
  br i1 %539, label %540, label %549

; <label>:540:                                    ; preds = %536
  %541 = add i32 %537, -4
  %542 = inttoptr i32 %541 to i32*
  %543 = load i32, i32* %542, align 4, !tbaa !24
  %544 = icmp ult i32 %543, %537
  br i1 %544, label %545, label %549

; <label>:545:                                    ; preds = %540
  %546 = sub i32 %541, %543
  %547 = icmp ugt i32 %546, 31
  %548 = inttoptr i32 %543 to i8*
  br i1 %547, label %549, label %550

; <label>:549:                                    ; preds = %545, %540, %536, %533
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:550:                                    ; preds = %545, %528
  %551 = phi i8* [ %548, %545 ], [ %530, %528 ]
  %552 = phi i32 [ %534, %545 ], [ %531, %528 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %551, i32 %552) #14
  br label %553

; <label>:553:                                    ; preds = %550, %511
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %480) #14
  br label %561

; <label>:554:                                    ; preds = %258
  tail call void @_wassert(i16* getelementptr inbounds ([6 x i16], [6 x i16]* @"\01??_C@_1M@HLGKFCJM@?$AAf?$AAa?$AAl?$AAs?$AAe?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([28 x i16], [28 x i16]* @"\01??_C@_1DI@NMLGOEPI@?$AA?4?$AA?4?$AA?1?$AAR?$AAe?$AAc?$AAu?$AAr?$AAs?$AAi?$AAv?$AAe?$AAI?$AAn?$AAt?$AAe?$AAr?$AAp?$AAr?$AAe?$AAt?$AAe?$AAr?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 646) #14
  br label %561

; <label>:555:                                    ; preds = %240
  %556 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %557 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %558 = sub i32 %556, %557
  %559 = ashr exact i32 %558, 4
  %560 = add nsw i32 %559, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %560, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %561

; <label>:561:                                    ; preds = %555, %554, %553, %478, %393, %382, %371, %360, %349, %338, %327, %316, %305, %294, %283, %272, %261, %80, %68, %43, %29
  %562 = phi i1 [ false, %43 ], [ false, %29 ], [ false, %68 ], [ false, %80 ], [ true, %261 ], [ true, %272 ], [ true, %283 ], [ true, %294 ], [ true, %305 ], [ true, %316 ], [ true, %327 ], [ true, %338 ], [ true, %349 ], [ true, %360 ], [ true, %371 ], [ true, %382 ], [ true, %393 ], [ true, %478 ], [ true, %553 ], [ true, %554 ], [ true, %555 ]
  ret i1 %562
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"*, i32, %"class.std::vector.37"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %class.variant.43** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.37"* %0 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 4
  %11 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = bitcast %class.variant.43** %11 to i32*
  %13 = load i32, i32* %12, align 4, !tbaa !23
  %14 = sub i32 %13, %8
  %15 = ashr exact i32 %14, 4
  %16 = icmp ult i32 %15, %1
  %17 = inttoptr i32 %8 to %class.variant.43*
  %18 = inttoptr i32 %6 to %class.variant.43*
  br i1 %16, label %19, label %111

; <label>:19:                                     ; preds = %3
  %20 = icmp ugt i32 %1, 268435455
  br i1 %20, label %21, label %22

; <label>:21:                                     ; preds = %19
  tail call void @"\01?_Xlength@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@CAXXZ"() #22
  unreachable

; <label>:22:                                     ; preds = %19
  %23 = lshr i32 %15, 1
  %24 = sub nsw i32 268435455, %23
  %25 = icmp ugt i32 %15, %24
  br i1 %25, label %29, label %26

; <label>:26:                                     ; preds = %22
  %27 = add i32 %23, %15
  %28 = icmp ult i32 %27, %1
  br i1 %28, label %29, label %31

; <label>:29:                                     ; preds = %26, %22
  %30 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0
  br label %37

; <label>:31:                                     ; preds = %26
  %32 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0
  %33 = icmp eq i32 %27, 0
  br i1 %33, label %56, label %34

; <label>:34:                                     ; preds = %31
  %35 = icmp ugt i32 %27, 268435455
  br i1 %35, label %36, label %37

; <label>:36:                                     ; preds = %34
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:37:                                     ; preds = %34, %29
  %38 = phi i32 [ %1, %29 ], [ %27, %34 ]
  %39 = phi %"class.std::_Vector_alloc.38"* [ %30, %29 ], [ %32, %34 ]
  %40 = shl i32 %38, 4
  %41 = icmp ugt i32 %40, 4095
  br i1 %41, label %42, label %54

; <label>:42:                                     ; preds = %37
  %43 = icmp ugt i32 %40, -36
  br i1 %43, label %44, label %45

; <label>:44:                                     ; preds = %42
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:45:                                     ; preds = %42
  %46 = add i32 %40, 35
  %47 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %46) #14
  %48 = ptrtoint i8* %47 to i32
  %49 = add i32 %48, 35
  %50 = and i32 %49, -32
  %51 = inttoptr i32 %50 to i8*
  %52 = inttoptr i32 %50 to i32*
  %53 = getelementptr inbounds i32, i32* %52, i32 -1
  store i32 %48, i32* %53, align 4, !tbaa !24
  br label %56

; <label>:54:                                     ; preds = %37
  %55 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %40) #14
  br label %56

; <label>:56:                                     ; preds = %54, %45, %31
  %57 = phi %"class.std::_Vector_alloc.38"* [ %32, %31 ], [ %39, %45 ], [ %39, %54 ]
  %58 = phi i32 [ 0, %31 ], [ %38, %45 ], [ %38, %54 ]
  %59 = phi i8* [ null, %31 ], [ %51, %45 ], [ %55, %54 ]
  %60 = bitcast i8* %59 to %class.variant.43*
  %61 = sub i32 %1, %10
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %67, label %63

; <label>:63:                                     ; preds = %56
  %64 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %10
  %65 = bitcast %class.variant.43* %64 to i8*
  %66 = shl i32 %61, 4
  tail call void @llvm.memset.p0i8.i32(i8* %65, i8 0, i32 %66, i32 8, i1 false) #14
  br label %67

; <label>:67:                                     ; preds = %63, %56
  %68 = getelementptr inbounds %"class.std::_Vector_alloc.38", %"class.std::_Vector_alloc.38"* %57, i32 0, i32 0, i32 0, i32 1
  %69 = bitcast %class.variant.43** %68 to i32*
  %70 = load i32, i32* %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %"class.std::_Vector_alloc.38", %"class.std::_Vector_alloc.38"* %57, i32 0, i32 0, i32 0, i32 0
  %72 = load %class.variant.43*, %class.variant.43** %71, align 4, !tbaa !23
  %73 = bitcast %class.variant.43* %72 to i8*
  %74 = ptrtoint %class.variant.43* %72 to i32
  %75 = sub i32 %70, %74
  tail call void @llvm.memmove.p0i8.p0i8.i32(i8* %59, i8* %73, i32 %75, i32 1, i1 false) #14
  %76 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %0, i32 0, i32 0, i32 0, i32 0, i32 0
  %77 = load %class.variant.43*, %class.variant.43** %76, align 4, !tbaa !23
  %78 = icmp eq %class.variant.43* %77, null
  %79 = ptrtoint %class.variant.43* %77 to i32
  br i1 %78, label %107, label %80

; <label>:80:                                     ; preds = %67
  %81 = load i32, i32* %12, align 4, !tbaa !23
  %82 = sub i32 %81, %79
  %83 = ashr exact i32 %82, 4
  %84 = icmp ugt i32 %83, 268435455
  br i1 %84, label %103, label %85

; <label>:85:                                     ; preds = %80
  %86 = bitcast %class.variant.43* %77 to i8*
  %87 = icmp ugt i32 %82, 4095
  br i1 %87, label %88, label %104

; <label>:88:                                     ; preds = %85
  %89 = add i32 %82, 35
  %90 = icmp ult i32 %82, -35
  %91 = and i32 %79, 31
  %92 = icmp eq i32 %91, 0
  %93 = and i1 %92, %90
  br i1 %93, label %94, label %103

; <label>:94:                                     ; preds = %88
  %95 = add i32 %79, -4
  %96 = inttoptr i32 %95 to i32*
  %97 = load i32, i32* %96, align 4, !tbaa !24
  %98 = icmp ult i32 %97, %79
  br i1 %98, label %99, label %103

; <label>:99:                                     ; preds = %94
  %100 = sub i32 %95, %97
  %101 = icmp ugt i32 %100, 31
  %102 = inttoptr i32 %97 to i8*
  br i1 %101, label %103, label %104

; <label>:103:                                    ; preds = %99, %94, %88, %80
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:104:                                    ; preds = %99, %85
  %105 = phi i8* [ %102, %99 ], [ %86, %85 ]
  %106 = phi i32 [ %89, %99 ], [ %82, %85 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %105, i32 %106) #14
  br label %107

; <label>:107:                                    ; preds = %104, %67
  %108 = bitcast %"class.std::vector.37"* %0 to i8**
  store i8* %59, i8** %108, align 4, !tbaa !23
  %109 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %1
  store %class.variant.43* %109, %class.variant.43** %4, align 4, !tbaa !23
  %110 = getelementptr inbounds %class.variant.43, %class.variant.43* %60, i32 %58
  store %class.variant.43* %110, %class.variant.43** %11, align 4, !tbaa !23
  br label %126

; <label>:111:                                    ; preds = %3
  %112 = icmp ult i32 %10, %1
  br i1 %112, label %113, label %122

; <label>:113:                                    ; preds = %111
  %114 = sub i32 %1, %10
  %115 = icmp eq i32 %114, 0
  br i1 %115, label %120, label %116

; <label>:116:                                    ; preds = %113
  %117 = inttoptr i32 %6 to i8*
  %118 = shl i32 %114, 4
  tail call void @llvm.memset.p0i8.i32(i8* %117, i8 0, i32 %118, i32 8, i1 false) #14
  %119 = getelementptr %class.variant.43, %class.variant.43* %18, i32 %114
  br label %120

; <label>:120:                                    ; preds = %116, %113
  %121 = phi %class.variant.43* [ %18, %113 ], [ %119, %116 ]
  store %class.variant.43* %121, %class.variant.43** %4, align 4, !tbaa !23
  br label %126

; <label>:122:                                    ; preds = %111
  %123 = icmp eq i32 %10, %1
  br i1 %123, label %126, label %124

; <label>:124:                                    ; preds = %122
  %125 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 %1
  store %class.variant.43* %125, %class.variant.43** %4, align 4, !tbaa !23
  br label %126

; <label>:126:                                    ; preds = %124, %122, %120, %107
  ret void
}

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@V?$allocator@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define void @handleError(i8*, i32, i32, i32, i8*, i32) local_unnamed_addr #2 {
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"struct.std::_Not_a_node_tag", align 4
  %17 = alloca %"struct.std::_Not_a_node_tag", align 4
  %18 = alloca %"struct.std::_Not_a_node_tag", align 4
  %19 = alloca %"struct.std::_Not_a_node_tag", align 4
  %20 = alloca %"struct.std::_Not_a_node_tag", align 4
  %21 = alloca %"struct.std::_Not_a_node_tag", align 4
  %22 = alloca %"struct.std::_Not_a_node_tag", align 4
  %23 = alloca %"struct.std::_Not_a_node_tag", align 4
  %24 = alloca %"struct.std::_Not_a_node_tag", align 4
  %25 = alloca %"struct.std::_Not_a_node_tag", align 4
  %26 = alloca %"struct.std::_Not_a_node_tag", align 4
  %27 = alloca %"struct.std::_Not_a_node_tag", align 4
  %28 = alloca %"struct.std::_Not_a_node_tag", align 4
  %29 = alloca %"struct.std::_Not_a_node_tag", align 4
  %30 = alloca %"struct.std::_Not_a_node_tag", align 4
  %31 = alloca [21 x i8], align 1
  %32 = alloca %"struct.std::_Not_a_node_tag", align 4
  %33 = alloca [12 x i8], align 4
  %34 = alloca %"class.std::basic_string", align 4
  %35 = alloca %"class.std::basic_string", align 4
  %36 = alloca %"class.std::basic_string", align 4
  %37 = alloca %"class.std::basic_string", align 4
  %38 = alloca %"class.std::basic_string", align 4
  %39 = alloca %"class.std::basic_string", align 4
  %40 = alloca %"class.std::basic_string", align 4
  %41 = alloca %"class.std::basic_string", align 4
  %42 = alloca %"class.std::basic_string", align 4
  %43 = alloca %"class.std::basic_string", align 4
  %44 = alloca %"class.std::basic_string", align 4
  %45 = alloca %"class.std::basic_string", align 4
  %46 = alloca %"class.std::basic_string", align 4
  %47 = alloca %"class.std::basic_string", align 4
  %48 = alloca %"class.std::basic_string", align 4
  %49 = alloca %"class.std::basic_string", align 4
  %50 = alloca %"class.std::basic_string", align 4
  %51 = alloca %"class.std::basic_string", align 4
  %52 = alloca %"class.std::basic_string", align 4
  %53 = alloca %"class.std::basic_string", align 4
  %54 = alloca %"class.std::basic_string", align 4
  %55 = alloca %"class.std::basic_string", align 4
  %56 = alloca %"class.std::basic_string", align 4
  %57 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %59, label %1521

; <label>:59:                                     ; preds = %6
  %60 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  %61 = icmp ugt i32 %60, 2048
  br i1 %61, label %1521, label %62

; <label>:62:                                     ; preds = %59
  %63 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !1272
  %64 = icmp ugt i32 %63, 15
  %65 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %66 = select i1 %64, i8* %65, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %67 = getelementptr inbounds i8, i8* %66, i32 %60
  %68 = getelementptr inbounds i8, i8* %67, i32 -1
  %69 = load i8, i8* %68, align 1, !tbaa !12
  %70 = icmp eq i8 %69, 10
  br i1 %70, label %838, label %71

; <label>:71:                                     ; preds = %62
  %72 = getelementptr inbounds [12 x i8], [12 x i8]* %33, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %72)
  %73 = bitcast %"class.std::basic_string"* %34 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %73) #14
  %74 = bitcast %"class.std::basic_string"* %35 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %74) #14
  %75 = bitcast %"class.std::basic_string"* %36 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %75) #14
  %76 = bitcast %"class.std::basic_string"* %37 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %76) #14
  %77 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 1
  %78 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 2
  %79 = bitcast i32* %77 to i64*
  store i64 0, i64* %79, align 4
  store i32 15, i32* %78, align 4, !tbaa !81
  store i8 0, i8* %76, align 4, !tbaa !12
  %80 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %32, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %80) #14
  %81 = icmp ugt i32 %5, 15
  br i1 %81, label %84, label %82

; <label>:82:                                     ; preds = %71
  store i32 %5, i32* %77, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %76, i8* %4, i32 %5, i32 1, i1 false) #14
  %83 = getelementptr inbounds i8, i8* %76, i32 %5
  store i8 0, i8* %83, align 1, !tbaa !12
  br label %86

; <label>:84:                                     ; preds = %71
  %85 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %37, i32 %5, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %32, i8* %4) #14
  br label %86

; <label>:86:                                     ; preds = %84, %82
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %80) #14
  %87 = bitcast %"class.std::basic_string"* %38 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %87) #14
  %88 = bitcast %"class.std::basic_string"* %39 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %88) #14
  %89 = bitcast %"class.std::basic_string"* %40 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %89) #14
  %90 = getelementptr inbounds [21 x i8], [21 x i8]* %31, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %90) #14, !noalias !1275
  %91 = getelementptr inbounds [21 x i8], [21 x i8]* %31, i32 0, i32 21
  br label %92

; <label>:92:                                     ; preds = %92, %86
  %93 = phi i32 [ 0, %86 ], [ %98, %92 ]
  %94 = phi i32 [ %3, %86 ], [ %100, %92 ]
  %95 = urem i32 %94, 10
  %96 = trunc i32 %95 to i8
  %97 = or i8 %96, 48
  %98 = add nsw i32 %93, -1
  %99 = getelementptr inbounds i8, i8* %91, i32 %98
  store i8 %97, i8* %99, align 1, !tbaa !12, !noalias !1275
  %100 = udiv i32 %94, 10
  %101 = icmp ugt i32 %94, 9
  br i1 %101, label %92, label %102

; <label>:102:                                    ; preds = %92
  %103 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 1
  %104 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 2
  %105 = bitcast i32* %103 to i64*
  store i64 0, i64* %105, align 4, !alias.scope !1275
  store i32 15, i32* %104, align 4, !tbaa !81, !alias.scope !1275
  store i8 0, i8* %89, align 4, !tbaa !12, !alias.scope !1275
  %106 = icmp eq i32 %98, 0
  br i1 %106, label %116, label %107

; <label>:107:                                    ; preds = %102
  %108 = sub i32 1, %93
  %109 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %30, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %109) #14, !noalias !1275
  %110 = icmp ugt i32 %108, 15
  br i1 %110, label %113, label %111

; <label>:111:                                    ; preds = %107
  store i32 %108, i32* %103, align 4, !tbaa !83, !alias.scope !1275
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %89, i8* %99, i32 %108, i32 1, i1 false) #14
  %112 = getelementptr inbounds i8, i8* %89, i32 %108
  store i8 0, i8* %112, align 1, !tbaa !12, !alias.scope !1275
  br label %115

; <label>:113:                                    ; preds = %107
  %114 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %40, i32 %108, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %30, i8* %99) #14
  br label %115

; <label>:115:                                    ; preds = %113, %111
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %109) #14, !noalias !1275
  br label %116

; <label>:116:                                    ; preds = %115, %102
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %90) #14, !noalias !1275
  %117 = bitcast %"class.std::basic_string"* %41 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %117) #14
  %118 = bitcast %"class.std::basic_string"* %42 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %118) #14
  %119 = bitcast %"class.std::basic_string"* %43 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %119) #14
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %90) #14, !noalias !1280
  br label %120

; <label>:120:                                    ; preds = %120, %116
  %121 = phi i32 [ 0, %116 ], [ %126, %120 ]
  %122 = phi i32 [ %2, %116 ], [ %128, %120 ]
  %123 = urem i32 %122, 10
  %124 = trunc i32 %123 to i8
  %125 = or i8 %124, 48
  %126 = add nsw i32 %121, -1
  %127 = getelementptr inbounds i8, i8* %91, i32 %126
  store i8 %125, i8* %127, align 1, !tbaa !12, !noalias !1280
  %128 = udiv i32 %122, 10
  %129 = icmp ugt i32 %122, 9
  br i1 %129, label %120, label %130

; <label>:130:                                    ; preds = %120
  %131 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 1
  %132 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 2
  %133 = bitcast i32* %131 to i64*
  store i64 0, i64* %133, align 4, !alias.scope !1280
  store i32 15, i32* %132, align 4, !tbaa !81, !alias.scope !1280
  store i8 0, i8* %119, align 4, !tbaa !12, !alias.scope !1280
  %134 = icmp eq i32 %126, 0
  br i1 %134, label %144, label %135

; <label>:135:                                    ; preds = %130
  %136 = sub i32 1, %121
  %137 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %29, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %137) #14, !noalias !1280
  %138 = icmp ugt i32 %136, 15
  br i1 %138, label %141, label %139

; <label>:139:                                    ; preds = %135
  store i32 %136, i32* %131, align 4, !tbaa !83, !alias.scope !1280
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %119, i8* %127, i32 %136, i32 1, i1 false) #14
  %140 = getelementptr inbounds i8, i8* %119, i32 %136
  store i8 0, i8* %140, align 1, !tbaa !12, !alias.scope !1280
  br label %143

; <label>:141:                                    ; preds = %135
  %142 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %43, i32 %136, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %29, i8* %127) #14
  br label %143

; <label>:143:                                    ; preds = %141, %139
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %137) #14, !noalias !1280
  br label %144

; <label>:144:                                    ; preds = %143, %130
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %90) #14, !noalias !1280
  %145 = bitcast %"class.std::basic_string"* %44 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %145) #14
  %146 = bitcast %"class.std::basic_string"* %45 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %146) #14
  %147 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 1
  %148 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 2
  %149 = bitcast i32* %147 to i64*
  store i64 0, i64* %149, align 4
  store i32 15, i32* %148, align 4, !tbaa !81
  store i8 0, i8* %146, align 4, !tbaa !12
  %150 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %28, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %150) #14
  %151 = icmp ugt i32 %1, 15
  br i1 %151, label %154, label %152

; <label>:152:                                    ; preds = %144
  store i32 %1, i32* %147, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %146, i8* %0, i32 %1, i32 1, i1 false) #14
  %153 = getelementptr inbounds i8, i8* %146, i32 %1
  store i8 0, i8* %153, align 1, !tbaa !12
  br label %156

; <label>:154:                                    ; preds = %144
  %155 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %45, i32 %1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %28, i8* %0) #14
  br label %156

; <label>:156:                                    ; preds = %154, %152
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %150) #14
  %157 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %27, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %157) #14, !noalias !1285
  %158 = load i32, i32* %147, align 4, !tbaa !83, !noalias !1285
  %159 = load i32, i32* %148, align 4, !tbaa !81, !noalias !1285
  %160 = icmp ult i32 %158, %159
  br i1 %160, label %161, label %169

; <label>:161:                                    ; preds = %156
  %162 = add i32 %158, 1
  store i32 %162, i32* %147, align 4, !tbaa !83, !noalias !1285
  %163 = icmp ugt i32 %159, 15
  %164 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %165 = load i8*, i8** %164, align 4, !noalias !1285
  %166 = select i1 %163, i8* %165, i8* %146
  %167 = getelementptr inbounds i8, i8* %166, i32 %158
  store i8 40, i8* %167, align 1, !tbaa !12, !noalias !1285
  %168 = getelementptr inbounds i8, i8* %166, i32 %162
  store i8 0, i8* %168, align 1, !tbaa !12, !noalias !1285
  br label %171

; <label>:169:                                    ; preds = %156
  %170 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %45, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %27, i8 signext 40) #14, !noalias !1285
  br label %171

; <label>:171:                                    ; preds = %169, %161
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %157) #14, !noalias !1285
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %145, i8* nonnull %146, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %147, align 4, !tbaa !83, !noalias !1285
  store i32 15, i32* %148, align 4, !tbaa !81, !noalias !1285
  store i8 0, i8* %146, align 4, !tbaa !12, !noalias !1285
  %172 = load i32, i32* %131, align 4, !tbaa !83, !noalias !1288
  %173 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 2
  %174 = load i32, i32* %173, align 4, !tbaa !81, !noalias !1288
  %175 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 1
  %176 = load i32, i32* %175, align 4, !tbaa !83, !noalias !1288
  %177 = sub i32 %174, %176
  %178 = icmp ugt i32 %172, %177
  %179 = load i32, i32* %132, align 4, !tbaa !81, !noalias !1288
  %180 = xor i1 %178, true
  %181 = sub i32 %179, %172
  %182 = icmp ult i32 %181, %176
  %183 = or i1 %182, %180
  br i1 %183, label %184, label %203

; <label>:184:                                    ; preds = %171
  %185 = icmp ugt i32 %179, 15
  %186 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %187 = load i8*, i8** %186, align 4, !noalias !1288
  %188 = select i1 %185, i8* %187, i8* %119
  %189 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %26, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %189) #14, !noalias !1288
  br i1 %178, label %198, label %190

; <label>:190:                                    ; preds = %184
  %191 = add i32 %176, %172
  store i32 %191, i32* %175, align 4, !tbaa !83, !noalias !1288
  %192 = icmp ugt i32 %174, 15
  %193 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %194 = load i8*, i8** %193, align 4, !noalias !1288
  %195 = select i1 %192, i8* %194, i8* %145
  %196 = getelementptr inbounds i8, i8* %195, i32 %176
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %196, i8* %188, i32 %172, i32 1, i1 false) #14, !noalias !1288
  %197 = getelementptr inbounds i8, i8* %195, i32 %191
  store i8 0, i8* %197, align 1, !tbaa !12, !noalias !1288
  br label %200

; <label>:198:                                    ; preds = %184
  %199 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %44, i32 %172, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %26, i8* %188, i32 %172) #14, !noalias !1288
  br label %200

; <label>:200:                                    ; preds = %198, %190
  %201 = phi %"class.std::basic_string"* [ %44, %190 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %189) #14, !noalias !1288
  %202 = bitcast %"class.std::basic_string"* %201 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %118, i8* nonnull %202, i32 24, i32 1, i1 false) #14
  br label %231

; <label>:203:                                    ; preds = %171
  %204 = icmp ugt i32 %174, 15
  %205 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %206 = load i8*, i8** %205, align 4, !noalias !1288
  %207 = select i1 %204, i8* %206, i8* %145
  %208 = add i32 %176, %172
  store i32 %208, i32* %131, align 4, !tbaa !83, !noalias !1288
  %209 = icmp ugt i32 %179, 15
  %210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %211 = load i8*, i8** %210, align 4, !noalias !1288
  %212 = select i1 %209, i8* %211, i8* %119
  %213 = getelementptr inbounds i8, i8* %207, i32 %176
  %214 = icmp ule i8* %213, %212
  %215 = getelementptr inbounds i8, i8* %212, i32 %172
  %216 = icmp ult i8* %215, %207
  %217 = or i1 %214, %216
  br i1 %217, label %224, label %218

; <label>:218:                                    ; preds = %203
  %219 = icmp ugt i8* %212, %207
  br i1 %219, label %220, label %224

; <label>:220:                                    ; preds = %218
  %221 = ptrtoint i8* %212 to i32
  %222 = ptrtoint i8* %207 to i32
  %223 = sub i32 %221, %222
  br label %224

; <label>:224:                                    ; preds = %220, %218, %203
  %225 = phi i32 [ %223, %220 ], [ %176, %203 ], [ 0, %218 ]
  %226 = add i32 %172, 1
  %227 = getelementptr inbounds i8, i8* %212, i32 %176
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %227, i8* %212, i32 %226, i32 1, i1 false) #14, !noalias !1288
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %212, i8* %207, i32 %225, i32 1, i1 false) #14, !noalias !1288
  %228 = sub i32 %176, %225
  %229 = getelementptr inbounds i8, i8* %213, i32 %225
  %230 = getelementptr inbounds i8, i8* %212, i32 %225
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %230, i8* %229, i32 %228, i32 1, i1 false) #14, !noalias !1288
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %118, i8* nonnull %119, i32 24, i32 4, i1 false) #14
  br label %231

; <label>:231:                                    ; preds = %224, %200
  %232 = phi %"class.std::basic_string"* [ %43, %224 ], [ %201, %200 ]
  %233 = phi i8* [ %119, %224 ], [ %202, %200 ]
  %234 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %232, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %234, align 4, !tbaa !83, !noalias !1288
  %235 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %232, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %235, align 4, !tbaa !81, !noalias !1288
  store i8 0, i8* %233, align 1, !tbaa !12, !noalias !1288
  %236 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %25, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %236) #14, !noalias !1291
  %237 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 1
  %238 = load i32, i32* %237, align 4, !tbaa !83, !noalias !1291
  %239 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 2
  %240 = load i32, i32* %239, align 4, !tbaa !81, !noalias !1291
  %241 = icmp ult i32 %238, %240
  br i1 %241, label %242, label %250

; <label>:242:                                    ; preds = %231
  %243 = add i32 %238, 1
  store i32 %243, i32* %237, align 4, !tbaa !83, !noalias !1291
  %244 = icmp ugt i32 %240, 15
  %245 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %246 = load i8*, i8** %245, align 4, !noalias !1291
  %247 = select i1 %244, i8* %246, i8* %118
  %248 = getelementptr inbounds i8, i8* %247, i32 %238
  store i8 44, i8* %248, align 1, !tbaa !12, !noalias !1291
  %249 = getelementptr inbounds i8, i8* %247, i32 %243
  store i8 0, i8* %249, align 1, !tbaa !12, !noalias !1291
  br label %252

; <label>:250:                                    ; preds = %231
  %251 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %42, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %25, i8 signext 44) #14, !noalias !1291
  br label %252

; <label>:252:                                    ; preds = %250, %242
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %236) #14, !noalias !1291
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %117, i8* nonnull %118, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %237, align 4, !tbaa !83, !noalias !1291
  store i32 15, i32* %239, align 4, !tbaa !81, !noalias !1291
  store i8 0, i8* %118, align 4, !tbaa !12, !noalias !1291
  %253 = load i32, i32* %103, align 4, !tbaa !83, !noalias !1294
  %254 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 2
  %255 = load i32, i32* %254, align 4, !tbaa !81, !noalias !1294
  %256 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 1
  %257 = load i32, i32* %256, align 4, !tbaa !83, !noalias !1294
  %258 = sub i32 %255, %257
  %259 = icmp ugt i32 %253, %258
  %260 = load i32, i32* %104, align 4, !tbaa !81, !noalias !1294
  %261 = xor i1 %259, true
  %262 = sub i32 %260, %253
  %263 = icmp ult i32 %262, %257
  %264 = or i1 %263, %261
  br i1 %264, label %265, label %284

; <label>:265:                                    ; preds = %252
  %266 = icmp ugt i32 %260, 15
  %267 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %268 = load i8*, i8** %267, align 4, !noalias !1294
  %269 = select i1 %266, i8* %268, i8* %89
  %270 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %24, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %270) #14, !noalias !1294
  br i1 %259, label %279, label %271

; <label>:271:                                    ; preds = %265
  %272 = add i32 %257, %253
  store i32 %272, i32* %256, align 4, !tbaa !83, !noalias !1294
  %273 = icmp ugt i32 %255, 15
  %274 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %275 = load i8*, i8** %274, align 4, !noalias !1294
  %276 = select i1 %273, i8* %275, i8* %117
  %277 = getelementptr inbounds i8, i8* %276, i32 %257
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %277, i8* %269, i32 %253, i32 1, i1 false) #14, !noalias !1294
  %278 = getelementptr inbounds i8, i8* %276, i32 %272
  store i8 0, i8* %278, align 1, !tbaa !12, !noalias !1294
  br label %281

; <label>:279:                                    ; preds = %265
  %280 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %41, i32 %253, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %24, i8* %269, i32 %253) #14, !noalias !1294
  br label %281

; <label>:281:                                    ; preds = %279, %271
  %282 = phi %"class.std::basic_string"* [ %41, %271 ], [ %280, %279 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %270) #14, !noalias !1294
  %283 = bitcast %"class.std::basic_string"* %282 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %88, i8* nonnull %283, i32 24, i32 1, i1 false) #14
  br label %312

; <label>:284:                                    ; preds = %252
  %285 = icmp ugt i32 %255, 15
  %286 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %287 = load i8*, i8** %286, align 4, !noalias !1294
  %288 = select i1 %285, i8* %287, i8* %117
  %289 = add i32 %257, %253
  store i32 %289, i32* %103, align 4, !tbaa !83, !noalias !1294
  %290 = icmp ugt i32 %260, 15
  %291 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %292 = load i8*, i8** %291, align 4, !noalias !1294
  %293 = select i1 %290, i8* %292, i8* %89
  %294 = getelementptr inbounds i8, i8* %288, i32 %257
  %295 = icmp ule i8* %294, %293
  %296 = getelementptr inbounds i8, i8* %293, i32 %253
  %297 = icmp ult i8* %296, %288
  %298 = or i1 %295, %297
  br i1 %298, label %305, label %299

; <label>:299:                                    ; preds = %284
  %300 = icmp ugt i8* %293, %288
  br i1 %300, label %301, label %305

; <label>:301:                                    ; preds = %299
  %302 = ptrtoint i8* %293 to i32
  %303 = ptrtoint i8* %288 to i32
  %304 = sub i32 %302, %303
  br label %305

; <label>:305:                                    ; preds = %301, %299, %284
  %306 = phi i32 [ %304, %301 ], [ %257, %284 ], [ 0, %299 ]
  %307 = add i32 %253, 1
  %308 = getelementptr inbounds i8, i8* %293, i32 %257
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %308, i8* %293, i32 %307, i32 1, i1 false) #14, !noalias !1294
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %293, i8* %288, i32 %306, i32 1, i1 false) #14, !noalias !1294
  %309 = sub i32 %257, %306
  %310 = getelementptr inbounds i8, i8* %294, i32 %306
  %311 = getelementptr inbounds i8, i8* %293, i32 %306
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %311, i8* %310, i32 %309, i32 1, i1 false) #14, !noalias !1294
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %88, i8* nonnull %89, i32 24, i32 4, i1 false) #14
  br label %312

; <label>:312:                                    ; preds = %305, %281
  %313 = phi %"class.std::basic_string"* [ %40, %305 ], [ %282, %281 ]
  %314 = phi i8* [ %89, %305 ], [ %283, %281 ]
  %315 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %313, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %315, align 4, !tbaa !83, !noalias !1294
  %316 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %313, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %316, align 4, !tbaa !81, !noalias !1294
  store i8 0, i8* %314, align 1, !tbaa !12, !noalias !1294
  %317 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %23, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %317) #14, !noalias !1297
  %318 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 1
  %319 = load i32, i32* %318, align 4, !tbaa !83, !noalias !1297
  %320 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 2
  %321 = load i32, i32* %320, align 4, !tbaa !81, !noalias !1297
  %322 = sub i32 %321, %319
  %323 = icmp ult i32 %322, 11
  br i1 %323, label %332, label %324

; <label>:324:                                    ; preds = %312
  %325 = add i32 %319, 11
  store i32 %325, i32* %318, align 4, !tbaa !83, !noalias !1297
  %326 = icmp ugt i32 %321, 15
  %327 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %328 = load i8*, i8** %327, align 4, !noalias !1297
  %329 = select i1 %326, i8* %328, i8* %88
  %330 = getelementptr inbounds i8, i8* %329, i32 %319
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %330, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@PGAKIHGM@?$CJ?3?5error?0?5?$FL?$AA@", i32 0, i32 0), i32 11, i32 1, i1 false) #14, !noalias !1297
  %331 = getelementptr inbounds i8, i8* %329, i32 %325
  store i8 0, i8* %331, align 1, !tbaa !12, !noalias !1297
  br label %334

; <label>:332:                                    ; preds = %312
  %333 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %39, i32 11, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %23, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @"\01??_C@_0M@PGAKIHGM@?$CJ?3?5error?0?5?$FL?$AA@", i32 0, i32 0), i32 11) #14, !noalias !1297
  br label %334

; <label>:334:                                    ; preds = %332, %324
  %335 = phi %"class.std::basic_string"* [ %39, %324 ], [ %333, %332 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %317) #14, !noalias !1297
  %336 = bitcast %"class.std::basic_string"* %335 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %87, i8* nonnull %336, i32 24, i32 1, i1 false) #14
  %337 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %335, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %337, align 4, !tbaa !83, !noalias !1297
  %338 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %335, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %338, align 4, !tbaa !81, !noalias !1297
  store i8 0, i8* %336, align 1, !tbaa !12, !noalias !1297
  %339 = load i32, i32* %77, align 4, !tbaa !83, !noalias !1300
  %340 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 2
  %341 = load i32, i32* %340, align 4, !tbaa !81, !noalias !1300
  %342 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 1
  %343 = load i32, i32* %342, align 4, !tbaa !83, !noalias !1300
  %344 = sub i32 %341, %343
  %345 = icmp ugt i32 %339, %344
  %346 = load i32, i32* %78, align 4, !tbaa !81, !noalias !1300
  %347 = xor i1 %345, true
  %348 = sub i32 %346, %339
  %349 = icmp ult i32 %348, %343
  %350 = or i1 %349, %347
  br i1 %350, label %351, label %370

; <label>:351:                                    ; preds = %334
  %352 = icmp ugt i32 %346, 15
  %353 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %354 = load i8*, i8** %353, align 4, !noalias !1300
  %355 = select i1 %352, i8* %354, i8* %76
  %356 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %22, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %356) #14, !noalias !1300
  br i1 %345, label %365, label %357

; <label>:357:                                    ; preds = %351
  %358 = add i32 %343, %339
  store i32 %358, i32* %342, align 4, !tbaa !83, !noalias !1300
  %359 = icmp ugt i32 %341, 15
  %360 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %361 = load i8*, i8** %360, align 4, !noalias !1300
  %362 = select i1 %359, i8* %361, i8* %87
  %363 = getelementptr inbounds i8, i8* %362, i32 %343
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %363, i8* %355, i32 %339, i32 1, i1 false) #14, !noalias !1300
  %364 = getelementptr inbounds i8, i8* %362, i32 %358
  store i8 0, i8* %364, align 1, !tbaa !12, !noalias !1300
  br label %367

; <label>:365:                                    ; preds = %351
  %366 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %38, i32 %339, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %22, i8* %355, i32 %339) #14, !noalias !1300
  br label %367

; <label>:367:                                    ; preds = %365, %357
  %368 = phi %"class.std::basic_string"* [ %38, %357 ], [ %366, %365 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %356) #14, !noalias !1300
  %369 = bitcast %"class.std::basic_string"* %368 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %75, i8* nonnull %369, i32 24, i32 1, i1 false) #14
  br label %398

; <label>:370:                                    ; preds = %334
  %371 = icmp ugt i32 %341, 15
  %372 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %373 = load i8*, i8** %372, align 4, !noalias !1300
  %374 = select i1 %371, i8* %373, i8* %87
  %375 = add i32 %343, %339
  store i32 %375, i32* %77, align 4, !tbaa !83, !noalias !1300
  %376 = icmp ugt i32 %346, 15
  %377 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %378 = load i8*, i8** %377, align 4, !noalias !1300
  %379 = select i1 %376, i8* %378, i8* %76
  %380 = getelementptr inbounds i8, i8* %374, i32 %343
  %381 = icmp ule i8* %380, %379
  %382 = getelementptr inbounds i8, i8* %379, i32 %339
  %383 = icmp ult i8* %382, %374
  %384 = or i1 %381, %383
  br i1 %384, label %391, label %385

; <label>:385:                                    ; preds = %370
  %386 = icmp ugt i8* %379, %374
  br i1 %386, label %387, label %391

; <label>:387:                                    ; preds = %385
  %388 = ptrtoint i8* %379 to i32
  %389 = ptrtoint i8* %374 to i32
  %390 = sub i32 %388, %389
  br label %391

; <label>:391:                                    ; preds = %387, %385, %370
  %392 = phi i32 [ %390, %387 ], [ %343, %370 ], [ 0, %385 ]
  %393 = add i32 %339, 1
  %394 = getelementptr inbounds i8, i8* %379, i32 %343
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %394, i8* %379, i32 %393, i32 1, i1 false) #14, !noalias !1300
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %379, i8* %374, i32 %392, i32 1, i1 false) #14, !noalias !1300
  %395 = sub i32 %343, %392
  %396 = getelementptr inbounds i8, i8* %380, i32 %392
  %397 = getelementptr inbounds i8, i8* %379, i32 %392
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %397, i8* %396, i32 %395, i32 1, i1 false) #14, !noalias !1300
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %75, i8* nonnull %76, i32 24, i32 4, i1 false) #14
  br label %398

; <label>:398:                                    ; preds = %391, %367
  %399 = phi %"class.std::basic_string"* [ %37, %391 ], [ %368, %367 ]
  %400 = phi i8* [ %76, %391 ], [ %369, %367 ]
  %401 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %399, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %401, align 4, !tbaa !83, !noalias !1300
  %402 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %399, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %402, align 4, !tbaa !81, !noalias !1300
  store i8 0, i8* %400, align 1, !tbaa !12, !noalias !1300
  %403 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %21, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %403) #14, !noalias !1303
  %404 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 1
  %405 = load i32, i32* %404, align 4, !tbaa !83, !noalias !1303
  %406 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 2
  %407 = load i32, i32* %406, align 4, !tbaa !81, !noalias !1303
  %408 = sub i32 %407, %405
  %409 = icmp ult i32 %408, 3
  br i1 %409, label %418, label %410

; <label>:410:                                    ; preds = %398
  %411 = add i32 %405, 3
  store i32 %411, i32* %404, align 4, !tbaa !83, !noalias !1303
  %412 = icmp ugt i32 %407, 15
  %413 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %414 = load i8*, i8** %413, align 4, !noalias !1303
  %415 = select i1 %412, i8* %414, i8* %75
  %416 = getelementptr inbounds i8, i8* %415, i32 %405
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %416, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@", i32 0, i32 0), i32 3, i32 1, i1 false) #14, !noalias !1303
  %417 = getelementptr inbounds i8, i8* %415, i32 %411
  store i8 0, i8* %417, align 1, !tbaa !12, !noalias !1303
  br label %420

; <label>:418:                                    ; preds = %398
  %419 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %36, i32 3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %21, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"\01??_C@_03EDAPGMLK@?$FN?0?5?$AA@", i32 0, i32 0), i32 3) #14, !noalias !1303
  br label %420

; <label>:420:                                    ; preds = %418, %410
  %421 = phi %"class.std::basic_string"* [ %36, %410 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %403) #14, !noalias !1303
  %422 = bitcast %"class.std::basic_string"* %421 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %74, i8* nonnull %422, i32 24, i32 1, i1 false) #14
  %423 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %421, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %423, align 4, !tbaa !83, !noalias !1303
  %424 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %421, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %424, align 4, !tbaa !81, !noalias !1303
  store i8 0, i8* %422, align 1, !tbaa !12, !noalias !1303
  %425 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83, !noalias !1306
  %426 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81, !noalias !1306
  %427 = icmp ugt i32 %426, 15
  %428 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !noalias !1306
  %429 = select i1 %427, i8* %428, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %430 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %20, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %430) #14, !noalias !1306
  %431 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 1
  %432 = load i32, i32* %431, align 4, !tbaa !83, !noalias !1306
  %433 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 2
  %434 = load i32, i32* %433, align 4, !tbaa !81, !noalias !1306
  %435 = sub i32 %434, %432
  %436 = icmp ult i32 %435, %425
  br i1 %436, label %445, label %437

; <label>:437:                                    ; preds = %420
  %438 = add i32 %432, %425
  store i32 %438, i32* %431, align 4, !tbaa !83, !noalias !1306
  %439 = icmp ugt i32 %434, 15
  %440 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %441 = load i8*, i8** %440, align 4, !noalias !1306
  %442 = select i1 %439, i8* %441, i8* %74
  %443 = getelementptr inbounds i8, i8* %442, i32 %432
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %443, i8* %429, i32 %425, i32 1, i1 false) #14, !noalias !1306
  %444 = getelementptr inbounds i8, i8* %442, i32 %438
  store i8 0, i8* %444, align 1, !tbaa !12, !noalias !1306
  br label %447

; <label>:445:                                    ; preds = %420
  %446 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %35, i32 %425, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %20, i8* %429, i32 %425) #14, !noalias !1306
  br label %447

; <label>:447:                                    ; preds = %445, %437
  %448 = phi %"class.std::basic_string"* [ %35, %437 ], [ %446, %445 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %430) #14, !noalias !1306
  %449 = bitcast %"class.std::basic_string"* %448 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %73, i8* nonnull %449, i32 24, i32 1, i1 false) #14
  %450 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %448, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %450, align 4, !tbaa !83, !noalias !1306
  %451 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %448, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %451, align 4, !tbaa !81, !noalias !1306
  store i8 0, i8* %449, align 1, !tbaa !12, !noalias !1306
  %452 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %19, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %452) #14, !noalias !1309
  %453 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 1
  %454 = load i32, i32* %453, align 4, !tbaa !83, !noalias !1309
  %455 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 2
  %456 = load i32, i32* %455, align 4, !tbaa !81, !noalias !1309
  %457 = icmp ult i32 %454, %456
  br i1 %457, label %458, label %466

; <label>:458:                                    ; preds = %447
  %459 = add i32 %454, 1
  store i32 %459, i32* %453, align 4, !tbaa !83, !noalias !1309
  %460 = icmp ugt i32 %456, 15
  %461 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %462 = load i8*, i8** %461, align 4, !noalias !1309
  %463 = select i1 %460, i8* %462, i8* %73
  %464 = getelementptr inbounds i8, i8* %463, i32 %454
  store i8 10, i8* %464, align 1, !tbaa !12, !noalias !1309
  %465 = getelementptr inbounds i8, i8* %463, i32 %459
  store i8 0, i8* %465, align 1, !tbaa !12, !noalias !1309
  br label %468

; <label>:466:                                    ; preds = %447
  %467 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %34, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %19, i8 signext 10) #14, !noalias !1309
  br label %468

; <label>:468:                                    ; preds = %466, %458
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %452) #14, !noalias !1309
  %469 = bitcast %"class.std::basic_string"* %34 to i32*
  %470 = load i32, i32* %469, align 4
  %471 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %72, i8* %471, i32 12, i32 4, i1 false)
  %472 = load i32, i32* %453, align 4
  %473 = load i32, i32* %455, align 4
  store i32 0, i32* %453, align 4, !tbaa !83, !noalias !1309
  store i32 15, i32* %455, align 4, !tbaa !81, !noalias !1309
  store i8 0, i8* %73, align 4, !tbaa !12, !noalias !1309
  %474 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %475 = icmp ugt i32 %474, 15
  br i1 %475, label %476, label %501

; <label>:476:                                    ; preds = %468
  %477 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %478 = add i32 %474, 1
  %479 = icmp ugt i32 %478, 4095
  br i1 %479, label %480, label %497

; <label>:480:                                    ; preds = %476
  %481 = add i32 %474, 36
  %482 = icmp ugt i32 %478, -36
  br i1 %482, label %496, label %483

; <label>:483:                                    ; preds = %480
  %484 = ptrtoint i8* %477 to i32
  %485 = and i32 %484, 31
  %486 = icmp eq i32 %485, 0
  br i1 %486, label %487, label %496

; <label>:487:                                    ; preds = %483
  %488 = add i32 %484, -4
  %489 = inttoptr i32 %488 to i32*
  %490 = load i32, i32* %489, align 4, !tbaa !24
  %491 = icmp ult i32 %490, %484
  br i1 %491, label %492, label %496

; <label>:492:                                    ; preds = %487
  %493 = sub i32 %488, %490
  %494 = icmp ugt i32 %493, 31
  %495 = inttoptr i32 %490 to i8*
  br i1 %494, label %496, label %497

; <label>:496:                                    ; preds = %492, %487, %483, %480
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:497:                                    ; preds = %492, %476
  %498 = phi i8* [ %495, %492 ], [ %477, %476 ]
  %499 = phi i32 [ %481, %492 ], [ %478, %476 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %498, i32 %499) #14
  %500 = load i32, i32* %455, align 4, !tbaa !81
  br label %501

; <label>:501:                                    ; preds = %497, %468
  %502 = phi i32 [ %500, %497 ], [ 15, %468 ]
  store i32 %470, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %72, i32 12, i32 4, i1 false)
  store i32 %472, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %473, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %503 = icmp ugt i32 %502, 15
  br i1 %503, label %504, label %529

; <label>:504:                                    ; preds = %501
  %505 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %506 = load i8*, i8** %505, align 4, !tbaa !12
  %507 = add i32 %502, 1
  %508 = icmp ugt i32 %507, 4095
  br i1 %508, label %509, label %526

; <label>:509:                                    ; preds = %504
  %510 = add i32 %502, 36
  %511 = icmp ugt i32 %507, -36
  br i1 %511, label %525, label %512

; <label>:512:                                    ; preds = %509
  %513 = ptrtoint i8* %506 to i32
  %514 = and i32 %513, 31
  %515 = icmp eq i32 %514, 0
  br i1 %515, label %516, label %525

; <label>:516:                                    ; preds = %512
  %517 = add i32 %513, -4
  %518 = inttoptr i32 %517 to i32*
  %519 = load i32, i32* %518, align 4, !tbaa !24
  %520 = icmp ult i32 %519, %513
  br i1 %520, label %521, label %525

; <label>:521:                                    ; preds = %516
  %522 = sub i32 %517, %519
  %523 = icmp ugt i32 %522, 31
  %524 = inttoptr i32 %519 to i8*
  br i1 %523, label %525, label %526

; <label>:525:                                    ; preds = %521, %516, %512, %509
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:526:                                    ; preds = %521, %504
  %527 = phi i8* [ %524, %521 ], [ %506, %504 ]
  %528 = phi i32 [ %510, %521 ], [ %507, %504 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %527, i32 %528) #14
  br label %529

; <label>:529:                                    ; preds = %526, %501
  store i32 0, i32* %453, align 4, !tbaa !83
  store i32 15, i32* %455, align 4, !tbaa !81
  store i8 0, i8* %73, align 4, !tbaa !12
  %530 = load i32, i32* %433, align 4, !tbaa !81
  %531 = icmp ugt i32 %530, 15
  br i1 %531, label %532, label %557

; <label>:532:                                    ; preds = %529
  %533 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %35, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %534 = load i8*, i8** %533, align 4, !tbaa !12
  %535 = add i32 %530, 1
  %536 = icmp ugt i32 %535, 4095
  br i1 %536, label %537, label %554

; <label>:537:                                    ; preds = %532
  %538 = add i32 %530, 36
  %539 = icmp ugt i32 %535, -36
  br i1 %539, label %553, label %540

; <label>:540:                                    ; preds = %537
  %541 = ptrtoint i8* %534 to i32
  %542 = and i32 %541, 31
  %543 = icmp eq i32 %542, 0
  br i1 %543, label %544, label %553

; <label>:544:                                    ; preds = %540
  %545 = add i32 %541, -4
  %546 = inttoptr i32 %545 to i32*
  %547 = load i32, i32* %546, align 4, !tbaa !24
  %548 = icmp ult i32 %547, %541
  br i1 %548, label %549, label %553

; <label>:549:                                    ; preds = %544
  %550 = sub i32 %545, %547
  %551 = icmp ugt i32 %550, 31
  %552 = inttoptr i32 %547 to i8*
  br i1 %551, label %553, label %554

; <label>:553:                                    ; preds = %549, %544, %540, %537
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:554:                                    ; preds = %549, %532
  %555 = phi i8* [ %552, %549 ], [ %534, %532 ]
  %556 = phi i32 [ %538, %549 ], [ %535, %532 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %555, i32 %556) #14
  br label %557

; <label>:557:                                    ; preds = %554, %529
  store i32 0, i32* %431, align 4, !tbaa !83
  store i32 15, i32* %433, align 4, !tbaa !81
  store i8 0, i8* %74, align 4, !tbaa !12
  %558 = load i32, i32* %406, align 4, !tbaa !81
  %559 = icmp ugt i32 %558, 15
  br i1 %559, label %560, label %585

; <label>:560:                                    ; preds = %557
  %561 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %36, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %562 = load i8*, i8** %561, align 4, !tbaa !12
  %563 = add i32 %558, 1
  %564 = icmp ugt i32 %563, 4095
  br i1 %564, label %565, label %582

; <label>:565:                                    ; preds = %560
  %566 = add i32 %558, 36
  %567 = icmp ugt i32 %563, -36
  br i1 %567, label %581, label %568

; <label>:568:                                    ; preds = %565
  %569 = ptrtoint i8* %562 to i32
  %570 = and i32 %569, 31
  %571 = icmp eq i32 %570, 0
  br i1 %571, label %572, label %581

; <label>:572:                                    ; preds = %568
  %573 = add i32 %569, -4
  %574 = inttoptr i32 %573 to i32*
  %575 = load i32, i32* %574, align 4, !tbaa !24
  %576 = icmp ult i32 %575, %569
  br i1 %576, label %577, label %581

; <label>:577:                                    ; preds = %572
  %578 = sub i32 %573, %575
  %579 = icmp ugt i32 %578, 31
  %580 = inttoptr i32 %575 to i8*
  br i1 %579, label %581, label %582

; <label>:581:                                    ; preds = %577, %572, %568, %565
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:582:                                    ; preds = %577, %560
  %583 = phi i8* [ %580, %577 ], [ %562, %560 ]
  %584 = phi i32 [ %566, %577 ], [ %563, %560 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %583, i32 %584) #14
  br label %585

; <label>:585:                                    ; preds = %582, %557
  store i32 0, i32* %404, align 4, !tbaa !83
  store i32 15, i32* %406, align 4, !tbaa !81
  store i8 0, i8* %75, align 4, !tbaa !12
  %586 = load i32, i32* %340, align 4, !tbaa !81
  %587 = icmp ugt i32 %586, 15
  br i1 %587, label %588, label %613

; <label>:588:                                    ; preds = %585
  %589 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %38, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %590 = load i8*, i8** %589, align 4, !tbaa !12
  %591 = add i32 %586, 1
  %592 = icmp ugt i32 %591, 4095
  br i1 %592, label %593, label %610

; <label>:593:                                    ; preds = %588
  %594 = add i32 %586, 36
  %595 = icmp ugt i32 %591, -36
  br i1 %595, label %609, label %596

; <label>:596:                                    ; preds = %593
  %597 = ptrtoint i8* %590 to i32
  %598 = and i32 %597, 31
  %599 = icmp eq i32 %598, 0
  br i1 %599, label %600, label %609

; <label>:600:                                    ; preds = %596
  %601 = add i32 %597, -4
  %602 = inttoptr i32 %601 to i32*
  %603 = load i32, i32* %602, align 4, !tbaa !24
  %604 = icmp ult i32 %603, %597
  br i1 %604, label %605, label %609

; <label>:605:                                    ; preds = %600
  %606 = sub i32 %601, %603
  %607 = icmp ugt i32 %606, 31
  %608 = inttoptr i32 %603 to i8*
  br i1 %607, label %609, label %610

; <label>:609:                                    ; preds = %605, %600, %596, %593
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:610:                                    ; preds = %605, %588
  %611 = phi i8* [ %608, %605 ], [ %590, %588 ]
  %612 = phi i32 [ %594, %605 ], [ %591, %588 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %611, i32 %612) #14
  br label %613

; <label>:613:                                    ; preds = %610, %585
  store i32 0, i32* %342, align 4, !tbaa !83
  store i32 15, i32* %340, align 4, !tbaa !81
  store i8 0, i8* %87, align 4, !tbaa !12
  %614 = load i32, i32* %320, align 4, !tbaa !81
  %615 = icmp ugt i32 %614, 15
  br i1 %615, label %616, label %641

; <label>:616:                                    ; preds = %613
  %617 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %39, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %618 = load i8*, i8** %617, align 4, !tbaa !12
  %619 = add i32 %614, 1
  %620 = icmp ugt i32 %619, 4095
  br i1 %620, label %621, label %638

; <label>:621:                                    ; preds = %616
  %622 = add i32 %614, 36
  %623 = icmp ugt i32 %619, -36
  br i1 %623, label %637, label %624

; <label>:624:                                    ; preds = %621
  %625 = ptrtoint i8* %618 to i32
  %626 = and i32 %625, 31
  %627 = icmp eq i32 %626, 0
  br i1 %627, label %628, label %637

; <label>:628:                                    ; preds = %624
  %629 = add i32 %625, -4
  %630 = inttoptr i32 %629 to i32*
  %631 = load i32, i32* %630, align 4, !tbaa !24
  %632 = icmp ult i32 %631, %625
  br i1 %632, label %633, label %637

; <label>:633:                                    ; preds = %628
  %634 = sub i32 %629, %631
  %635 = icmp ugt i32 %634, 31
  %636 = inttoptr i32 %631 to i8*
  br i1 %635, label %637, label %638

; <label>:637:                                    ; preds = %633, %628, %624, %621
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:638:                                    ; preds = %633, %616
  %639 = phi i8* [ %636, %633 ], [ %618, %616 ]
  %640 = phi i32 [ %622, %633 ], [ %619, %616 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %639, i32 %640) #14
  br label %641

; <label>:641:                                    ; preds = %638, %613
  store i32 0, i32* %318, align 4, !tbaa !83
  store i32 15, i32* %320, align 4, !tbaa !81
  store i8 0, i8* %88, align 4, !tbaa !12
  %642 = load i32, i32* %254, align 4, !tbaa !81
  %643 = icmp ugt i32 %642, 15
  br i1 %643, label %644, label %669

; <label>:644:                                    ; preds = %641
  %645 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %41, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %646 = load i8*, i8** %645, align 4, !tbaa !12
  %647 = add i32 %642, 1
  %648 = icmp ugt i32 %647, 4095
  br i1 %648, label %649, label %666

; <label>:649:                                    ; preds = %644
  %650 = add i32 %642, 36
  %651 = icmp ugt i32 %647, -36
  br i1 %651, label %665, label %652

; <label>:652:                                    ; preds = %649
  %653 = ptrtoint i8* %646 to i32
  %654 = and i32 %653, 31
  %655 = icmp eq i32 %654, 0
  br i1 %655, label %656, label %665

; <label>:656:                                    ; preds = %652
  %657 = add i32 %653, -4
  %658 = inttoptr i32 %657 to i32*
  %659 = load i32, i32* %658, align 4, !tbaa !24
  %660 = icmp ult i32 %659, %653
  br i1 %660, label %661, label %665

; <label>:661:                                    ; preds = %656
  %662 = sub i32 %657, %659
  %663 = icmp ugt i32 %662, 31
  %664 = inttoptr i32 %659 to i8*
  br i1 %663, label %665, label %666

; <label>:665:                                    ; preds = %661, %656, %652, %649
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:666:                                    ; preds = %661, %644
  %667 = phi i8* [ %664, %661 ], [ %646, %644 ]
  %668 = phi i32 [ %650, %661 ], [ %647, %644 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %667, i32 %668) #14
  br label %669

; <label>:669:                                    ; preds = %666, %641
  store i32 0, i32* %256, align 4, !tbaa !83
  store i32 15, i32* %254, align 4, !tbaa !81
  store i8 0, i8* %117, align 4, !tbaa !12
  %670 = load i32, i32* %239, align 4, !tbaa !81
  %671 = icmp ugt i32 %670, 15
  br i1 %671, label %672, label %697

; <label>:672:                                    ; preds = %669
  %673 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %42, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %674 = load i8*, i8** %673, align 4, !tbaa !12
  %675 = add i32 %670, 1
  %676 = icmp ugt i32 %675, 4095
  br i1 %676, label %677, label %694

; <label>:677:                                    ; preds = %672
  %678 = add i32 %670, 36
  %679 = icmp ugt i32 %675, -36
  br i1 %679, label %693, label %680

; <label>:680:                                    ; preds = %677
  %681 = ptrtoint i8* %674 to i32
  %682 = and i32 %681, 31
  %683 = icmp eq i32 %682, 0
  br i1 %683, label %684, label %693

; <label>:684:                                    ; preds = %680
  %685 = add i32 %681, -4
  %686 = inttoptr i32 %685 to i32*
  %687 = load i32, i32* %686, align 4, !tbaa !24
  %688 = icmp ult i32 %687, %681
  br i1 %688, label %689, label %693

; <label>:689:                                    ; preds = %684
  %690 = sub i32 %685, %687
  %691 = icmp ugt i32 %690, 31
  %692 = inttoptr i32 %687 to i8*
  br i1 %691, label %693, label %694

; <label>:693:                                    ; preds = %689, %684, %680, %677
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:694:                                    ; preds = %689, %672
  %695 = phi i8* [ %692, %689 ], [ %674, %672 ]
  %696 = phi i32 [ %678, %689 ], [ %675, %672 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %695, i32 %696) #14
  br label %697

; <label>:697:                                    ; preds = %694, %669
  store i32 0, i32* %237, align 4, !tbaa !83
  store i32 15, i32* %239, align 4, !tbaa !81
  store i8 0, i8* %118, align 4, !tbaa !12
  %698 = load i32, i32* %173, align 4, !tbaa !81
  %699 = icmp ugt i32 %698, 15
  br i1 %699, label %700, label %725

; <label>:700:                                    ; preds = %697
  %701 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %44, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %702 = load i8*, i8** %701, align 4, !tbaa !12
  %703 = add i32 %698, 1
  %704 = icmp ugt i32 %703, 4095
  br i1 %704, label %705, label %722

; <label>:705:                                    ; preds = %700
  %706 = add i32 %698, 36
  %707 = icmp ugt i32 %703, -36
  br i1 %707, label %721, label %708

; <label>:708:                                    ; preds = %705
  %709 = ptrtoint i8* %702 to i32
  %710 = and i32 %709, 31
  %711 = icmp eq i32 %710, 0
  br i1 %711, label %712, label %721

; <label>:712:                                    ; preds = %708
  %713 = add i32 %709, -4
  %714 = inttoptr i32 %713 to i32*
  %715 = load i32, i32* %714, align 4, !tbaa !24
  %716 = icmp ult i32 %715, %709
  br i1 %716, label %717, label %721

; <label>:717:                                    ; preds = %712
  %718 = sub i32 %713, %715
  %719 = icmp ugt i32 %718, 31
  %720 = inttoptr i32 %715 to i8*
  br i1 %719, label %721, label %722

; <label>:721:                                    ; preds = %717, %712, %708, %705
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:722:                                    ; preds = %717, %700
  %723 = phi i8* [ %720, %717 ], [ %702, %700 ]
  %724 = phi i32 [ %706, %717 ], [ %703, %700 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %723, i32 %724) #14
  br label %725

; <label>:725:                                    ; preds = %722, %697
  store i32 0, i32* %175, align 4, !tbaa !83
  store i32 15, i32* %173, align 4, !tbaa !81
  store i8 0, i8* %145, align 4, !tbaa !12
  %726 = load i32, i32* %148, align 4, !tbaa !81
  %727 = icmp ugt i32 %726, 15
  br i1 %727, label %728, label %753

; <label>:728:                                    ; preds = %725
  %729 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %45, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %730 = load i8*, i8** %729, align 4, !tbaa !12
  %731 = add i32 %726, 1
  %732 = icmp ugt i32 %731, 4095
  br i1 %732, label %733, label %750

; <label>:733:                                    ; preds = %728
  %734 = add i32 %726, 36
  %735 = icmp ugt i32 %731, -36
  br i1 %735, label %749, label %736

; <label>:736:                                    ; preds = %733
  %737 = ptrtoint i8* %730 to i32
  %738 = and i32 %737, 31
  %739 = icmp eq i32 %738, 0
  br i1 %739, label %740, label %749

; <label>:740:                                    ; preds = %736
  %741 = add i32 %737, -4
  %742 = inttoptr i32 %741 to i32*
  %743 = load i32, i32* %742, align 4, !tbaa !24
  %744 = icmp ult i32 %743, %737
  br i1 %744, label %745, label %749

; <label>:745:                                    ; preds = %740
  %746 = sub i32 %741, %743
  %747 = icmp ugt i32 %746, 31
  %748 = inttoptr i32 %743 to i8*
  br i1 %747, label %749, label %750

; <label>:749:                                    ; preds = %745, %740, %736, %733
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:750:                                    ; preds = %745, %728
  %751 = phi i8* [ %748, %745 ], [ %730, %728 ]
  %752 = phi i32 [ %734, %745 ], [ %731, %728 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %751, i32 %752) #14
  br label %753

; <label>:753:                                    ; preds = %750, %725
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %146) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %145) #14
  %754 = load i32, i32* %132, align 4, !tbaa !81
  %755 = icmp ugt i32 %754, 15
  br i1 %755, label %756, label %781

; <label>:756:                                    ; preds = %753
  %757 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %43, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %758 = load i8*, i8** %757, align 4, !tbaa !12
  %759 = add i32 %754, 1
  %760 = icmp ugt i32 %759, 4095
  br i1 %760, label %761, label %778

; <label>:761:                                    ; preds = %756
  %762 = add i32 %754, 36
  %763 = icmp ugt i32 %759, -36
  br i1 %763, label %777, label %764

; <label>:764:                                    ; preds = %761
  %765 = ptrtoint i8* %758 to i32
  %766 = and i32 %765, 31
  %767 = icmp eq i32 %766, 0
  br i1 %767, label %768, label %777

; <label>:768:                                    ; preds = %764
  %769 = add i32 %765, -4
  %770 = inttoptr i32 %769 to i32*
  %771 = load i32, i32* %770, align 4, !tbaa !24
  %772 = icmp ult i32 %771, %765
  br i1 %772, label %773, label %777

; <label>:773:                                    ; preds = %768
  %774 = sub i32 %769, %771
  %775 = icmp ugt i32 %774, 31
  %776 = inttoptr i32 %771 to i8*
  br i1 %775, label %777, label %778

; <label>:777:                                    ; preds = %773, %768, %764, %761
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:778:                                    ; preds = %773, %756
  %779 = phi i8* [ %776, %773 ], [ %758, %756 ]
  %780 = phi i32 [ %762, %773 ], [ %759, %756 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %779, i32 %780) #14
  br label %781

; <label>:781:                                    ; preds = %778, %753
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %119) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %118) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %117) #14
  %782 = load i32, i32* %104, align 4, !tbaa !81
  %783 = icmp ugt i32 %782, 15
  br i1 %783, label %784, label %809

; <label>:784:                                    ; preds = %781
  %785 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %40, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %786 = load i8*, i8** %785, align 4, !tbaa !12
  %787 = add i32 %782, 1
  %788 = icmp ugt i32 %787, 4095
  br i1 %788, label %789, label %806

; <label>:789:                                    ; preds = %784
  %790 = add i32 %782, 36
  %791 = icmp ugt i32 %787, -36
  br i1 %791, label %805, label %792

; <label>:792:                                    ; preds = %789
  %793 = ptrtoint i8* %786 to i32
  %794 = and i32 %793, 31
  %795 = icmp eq i32 %794, 0
  br i1 %795, label %796, label %805

; <label>:796:                                    ; preds = %792
  %797 = add i32 %793, -4
  %798 = inttoptr i32 %797 to i32*
  %799 = load i32, i32* %798, align 4, !tbaa !24
  %800 = icmp ult i32 %799, %793
  br i1 %800, label %801, label %805

; <label>:801:                                    ; preds = %796
  %802 = sub i32 %797, %799
  %803 = icmp ugt i32 %802, 31
  %804 = inttoptr i32 %799 to i8*
  br i1 %803, label %805, label %806

; <label>:805:                                    ; preds = %801, %796, %792, %789
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:806:                                    ; preds = %801, %784
  %807 = phi i8* [ %804, %801 ], [ %786, %784 ]
  %808 = phi i32 [ %790, %801 ], [ %787, %784 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %807, i32 %808) #14
  br label %809

; <label>:809:                                    ; preds = %806, %781
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %89) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %88) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %87) #14
  %810 = load i32, i32* %78, align 4, !tbaa !81
  %811 = icmp ugt i32 %810, 15
  br i1 %811, label %812, label %837

; <label>:812:                                    ; preds = %809
  %813 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %37, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %814 = load i8*, i8** %813, align 4, !tbaa !12
  %815 = add i32 %810, 1
  %816 = icmp ugt i32 %815, 4095
  br i1 %816, label %817, label %834

; <label>:817:                                    ; preds = %812
  %818 = add i32 %810, 36
  %819 = icmp ugt i32 %815, -36
  br i1 %819, label %833, label %820

; <label>:820:                                    ; preds = %817
  %821 = ptrtoint i8* %814 to i32
  %822 = and i32 %821, 31
  %823 = icmp eq i32 %822, 0
  br i1 %823, label %824, label %833

; <label>:824:                                    ; preds = %820
  %825 = add i32 %821, -4
  %826 = inttoptr i32 %825 to i32*
  %827 = load i32, i32* %826, align 4, !tbaa !24
  %828 = icmp ult i32 %827, %821
  br i1 %828, label %829, label %833

; <label>:829:                                    ; preds = %824
  %830 = sub i32 %825, %827
  %831 = icmp ugt i32 %830, 31
  %832 = inttoptr i32 %827 to i8*
  br i1 %831, label %833, label %834

; <label>:833:                                    ; preds = %829, %824, %820, %817
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:834:                                    ; preds = %829, %812
  %835 = phi i8* [ %832, %829 ], [ %814, %812 ]
  %836 = phi i32 [ %818, %829 ], [ %815, %812 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %835, i32 %836) #14
  br label %837

; <label>:837:                                    ; preds = %834, %809
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %76) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %75) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %74) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %73) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %72)
  br label %1521

; <label>:838:                                    ; preds = %62
  %839 = bitcast %"class.std::basic_string"* %46 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %839) #14
  %840 = bitcast %"class.std::basic_string"* %47 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %840) #14
  %841 = bitcast %"class.std::basic_string"* %48 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %841) #14
  %842 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 1
  %843 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 2
  %844 = bitcast i32* %842 to i64*
  store i64 0, i64* %844, align 4
  store i32 15, i32* %843, align 4, !tbaa !81
  store i8 0, i8* %841, align 4, !tbaa !12
  %845 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %18, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %845) #14
  %846 = icmp ugt i32 %5, 15
  br i1 %846, label %849, label %847

; <label>:847:                                    ; preds = %838
  store i32 %5, i32* %842, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %841, i8* %4, i32 %5, i32 1, i1 false) #14
  %848 = getelementptr inbounds i8, i8* %841, i32 %5
  store i8 0, i8* %848, align 1, !tbaa !12
  br label %851

; <label>:849:                                    ; preds = %838
  %850 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %48, i32 %5, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %18, i8* %4) #14
  br label %851

; <label>:851:                                    ; preds = %849, %847
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %845) #14
  %852 = bitcast %"class.std::basic_string"* %49 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %852) #14
  %853 = bitcast %"class.std::basic_string"* %50 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %853) #14
  %854 = bitcast %"class.std::basic_string"* %51 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %854) #14
  %855 = getelementptr inbounds [21 x i8], [21 x i8]* %31, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %855) #14, !noalias !1312
  %856 = getelementptr inbounds [21 x i8], [21 x i8]* %31, i32 0, i32 21
  br label %857

; <label>:857:                                    ; preds = %857, %851
  %858 = phi i32 [ 0, %851 ], [ %863, %857 ]
  %859 = phi i32 [ %3, %851 ], [ %865, %857 ]
  %860 = urem i32 %859, 10
  %861 = trunc i32 %860 to i8
  %862 = or i8 %861, 48
  %863 = add nsw i32 %858, -1
  %864 = getelementptr inbounds i8, i8* %856, i32 %863
  store i8 %862, i8* %864, align 1, !tbaa !12, !noalias !1312
  %865 = udiv i32 %859, 10
  %866 = icmp ugt i32 %859, 9
  br i1 %866, label %857, label %867

; <label>:867:                                    ; preds = %857
  %868 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 1
  %869 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 2
  %870 = bitcast i32* %868 to i64*
  store i64 0, i64* %870, align 4, !alias.scope !1312
  store i32 15, i32* %869, align 4, !tbaa !81, !alias.scope !1312
  store i8 0, i8* %854, align 4, !tbaa !12, !alias.scope !1312
  %871 = icmp eq i32 %863, 0
  br i1 %871, label %881, label %872

; <label>:872:                                    ; preds = %867
  %873 = sub i32 1, %858
  %874 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %17, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %874) #14, !noalias !1312
  %875 = icmp ugt i32 %873, 15
  br i1 %875, label %878, label %876

; <label>:876:                                    ; preds = %872
  store i32 %873, i32* %868, align 4, !tbaa !83, !alias.scope !1312
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %854, i8* %864, i32 %873, i32 1, i1 false) #14
  %877 = getelementptr inbounds i8, i8* %854, i32 %873
  store i8 0, i8* %877, align 1, !tbaa !12, !alias.scope !1312
  br label %880

; <label>:878:                                    ; preds = %872
  %879 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %51, i32 %873, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %17, i8* %864) #14
  br label %880

; <label>:880:                                    ; preds = %878, %876
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %874) #14, !noalias !1312
  br label %881

; <label>:881:                                    ; preds = %880, %867
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %855) #14, !noalias !1312
  %882 = bitcast %"class.std::basic_string"* %52 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %882) #14
  %883 = bitcast %"class.std::basic_string"* %53 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %883) #14
  %884 = bitcast %"class.std::basic_string"* %54 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %884) #14
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %855) #14, !noalias !1317
  br label %885

; <label>:885:                                    ; preds = %885, %881
  %886 = phi i32 [ 0, %881 ], [ %891, %885 ]
  %887 = phi i32 [ %2, %881 ], [ %893, %885 ]
  %888 = urem i32 %887, 10
  %889 = trunc i32 %888 to i8
  %890 = or i8 %889, 48
  %891 = add nsw i32 %886, -1
  %892 = getelementptr inbounds i8, i8* %856, i32 %891
  store i8 %890, i8* %892, align 1, !tbaa !12, !noalias !1317
  %893 = udiv i32 %887, 10
  %894 = icmp ugt i32 %887, 9
  br i1 %894, label %885, label %895

; <label>:895:                                    ; preds = %885
  %896 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 1
  %897 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 2
  %898 = bitcast i32* %896 to i64*
  store i64 0, i64* %898, align 4, !alias.scope !1317
  store i32 15, i32* %897, align 4, !tbaa !81, !alias.scope !1317
  store i8 0, i8* %884, align 4, !tbaa !12, !alias.scope !1317
  %899 = icmp eq i32 %891, 0
  br i1 %899, label %909, label %900

; <label>:900:                                    ; preds = %895
  %901 = sub i32 1, %886
  %902 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %16, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %902) #14, !noalias !1317
  %903 = icmp ugt i32 %901, 15
  br i1 %903, label %906, label %904

; <label>:904:                                    ; preds = %900
  store i32 %901, i32* %896, align 4, !tbaa !83, !alias.scope !1317
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %884, i8* %892, i32 %901, i32 1, i1 false) #14
  %905 = getelementptr inbounds i8, i8* %884, i32 %901
  store i8 0, i8* %905, align 1, !tbaa !12, !alias.scope !1317
  br label %908

; <label>:906:                                    ; preds = %900
  %907 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %54, i32 %901, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %16, i8* %892) #14
  br label %908

; <label>:908:                                    ; preds = %906, %904
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %902) #14, !noalias !1317
  br label %909

; <label>:909:                                    ; preds = %908, %895
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %855) #14, !noalias !1317
  %910 = bitcast %"class.std::basic_string"* %55 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %910) #14
  %911 = bitcast %"class.std::basic_string"* %56 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %911) #14
  %912 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 1
  %913 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 2
  %914 = bitcast i32* %912 to i64*
  store i64 0, i64* %914, align 4
  store i32 15, i32* %913, align 4, !tbaa !81
  store i8 0, i8* %911, align 4, !tbaa !12
  %915 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %915) #14
  %916 = icmp ugt i32 %1, 15
  br i1 %916, label %919, label %917

; <label>:917:                                    ; preds = %909
  store i32 %1, i32* %912, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %911, i8* %0, i32 %1, i32 1, i1 false) #14
  %918 = getelementptr inbounds i8, i8* %911, i32 %1
  store i8 0, i8* %918, align 1, !tbaa !12
  br label %921

; <label>:919:                                    ; preds = %909
  %920 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %56, i32 %1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8* %0) #14
  br label %921

; <label>:921:                                    ; preds = %919, %917
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %915) #14
  %922 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %922) #14, !noalias !1322
  %923 = load i32, i32* %912, align 4, !tbaa !83, !noalias !1322
  %924 = load i32, i32* %913, align 4, !tbaa !81, !noalias !1322
  %925 = icmp ult i32 %923, %924
  br i1 %925, label %926, label %934

; <label>:926:                                    ; preds = %921
  %927 = add i32 %923, 1
  store i32 %927, i32* %912, align 4, !tbaa !83, !noalias !1322
  %928 = icmp ugt i32 %924, 15
  %929 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %930 = load i8*, i8** %929, align 4, !noalias !1322
  %931 = select i1 %928, i8* %930, i8* %911
  %932 = getelementptr inbounds i8, i8* %931, i32 %923
  store i8 40, i8* %932, align 1, !tbaa !12, !noalias !1322
  %933 = getelementptr inbounds i8, i8* %931, i32 %927
  store i8 0, i8* %933, align 1, !tbaa !12, !noalias !1322
  br label %936

; <label>:934:                                    ; preds = %921
  %935 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %56, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8 signext 40) #14, !noalias !1322
  br label %936

; <label>:936:                                    ; preds = %934, %926
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %922) #14, !noalias !1322
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %910, i8* nonnull %911, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %912, align 4, !tbaa !83, !noalias !1322
  store i32 15, i32* %913, align 4, !tbaa !81, !noalias !1322
  store i8 0, i8* %911, align 4, !tbaa !12, !noalias !1322
  %937 = load i32, i32* %896, align 4, !tbaa !83, !noalias !1325
  %938 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 2
  %939 = load i32, i32* %938, align 4, !tbaa !81, !noalias !1325
  %940 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 1
  %941 = load i32, i32* %940, align 4, !tbaa !83, !noalias !1325
  %942 = sub i32 %939, %941
  %943 = icmp ugt i32 %937, %942
  %944 = load i32, i32* %897, align 4, !tbaa !81, !noalias !1325
  %945 = xor i1 %943, true
  %946 = sub i32 %944, %937
  %947 = icmp ult i32 %946, %941
  %948 = or i1 %947, %945
  br i1 %948, label %949, label %968

; <label>:949:                                    ; preds = %936
  %950 = icmp ugt i32 %944, 15
  %951 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %952 = load i8*, i8** %951, align 4, !noalias !1325
  %953 = select i1 %950, i8* %952, i8* %884
  %954 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %954) #14, !noalias !1325
  br i1 %943, label %963, label %955

; <label>:955:                                    ; preds = %949
  %956 = add i32 %941, %937
  store i32 %956, i32* %940, align 4, !tbaa !83, !noalias !1325
  %957 = icmp ugt i32 %939, 15
  %958 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %959 = load i8*, i8** %958, align 4, !noalias !1325
  %960 = select i1 %957, i8* %959, i8* %910
  %961 = getelementptr inbounds i8, i8* %960, i32 %941
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %961, i8* %953, i32 %937, i32 1, i1 false) #14, !noalias !1325
  %962 = getelementptr inbounds i8, i8* %960, i32 %956
  store i8 0, i8* %962, align 1, !tbaa !12, !noalias !1325
  br label %965

; <label>:963:                                    ; preds = %949
  %964 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %55, i32 %937, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8* %953, i32 %937) #14, !noalias !1325
  br label %965

; <label>:965:                                    ; preds = %963, %955
  %966 = phi %"class.std::basic_string"* [ %55, %955 ], [ %964, %963 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %954) #14, !noalias !1325
  %967 = bitcast %"class.std::basic_string"* %966 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %883, i8* nonnull %967, i32 24, i32 1, i1 false) #14
  br label %996

; <label>:968:                                    ; preds = %936
  %969 = icmp ugt i32 %939, 15
  %970 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %971 = load i8*, i8** %970, align 4, !noalias !1325
  %972 = select i1 %969, i8* %971, i8* %910
  %973 = add i32 %941, %937
  store i32 %973, i32* %896, align 4, !tbaa !83, !noalias !1325
  %974 = icmp ugt i32 %944, 15
  %975 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %976 = load i8*, i8** %975, align 4, !noalias !1325
  %977 = select i1 %974, i8* %976, i8* %884
  %978 = getelementptr inbounds i8, i8* %972, i32 %941
  %979 = icmp ule i8* %978, %977
  %980 = getelementptr inbounds i8, i8* %977, i32 %937
  %981 = icmp ult i8* %980, %972
  %982 = or i1 %979, %981
  br i1 %982, label %989, label %983

; <label>:983:                                    ; preds = %968
  %984 = icmp ugt i8* %977, %972
  br i1 %984, label %985, label %989

; <label>:985:                                    ; preds = %983
  %986 = ptrtoint i8* %977 to i32
  %987 = ptrtoint i8* %972 to i32
  %988 = sub i32 %986, %987
  br label %989

; <label>:989:                                    ; preds = %985, %983, %968
  %990 = phi i32 [ %988, %985 ], [ %941, %968 ], [ 0, %983 ]
  %991 = add i32 %937, 1
  %992 = getelementptr inbounds i8, i8* %977, i32 %941
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %992, i8* %977, i32 %991, i32 1, i1 false) #14, !noalias !1325
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %977, i8* %972, i32 %990, i32 1, i1 false) #14, !noalias !1325
  %993 = sub i32 %941, %990
  %994 = getelementptr inbounds i8, i8* %978, i32 %990
  %995 = getelementptr inbounds i8, i8* %977, i32 %990
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %995, i8* %994, i32 %993, i32 1, i1 false) #14, !noalias !1325
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %883, i8* nonnull %884, i32 24, i32 4, i1 false) #14
  br label %996

; <label>:996:                                    ; preds = %989, %965
  %997 = phi %"class.std::basic_string"* [ %54, %989 ], [ %966, %965 ]
  %998 = phi i8* [ %884, %989 ], [ %967, %965 ]
  %999 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %997, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %999, align 4, !tbaa !83, !noalias !1325
  %1000 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %997, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1000, align 4, !tbaa !81, !noalias !1325
  store i8 0, i8* %998, align 1, !tbaa !12, !noalias !1325
  %1001 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1001) #14, !noalias !1328
  %1002 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 1
  %1003 = load i32, i32* %1002, align 4, !tbaa !83, !noalias !1328
  %1004 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 2
  %1005 = load i32, i32* %1004, align 4, !tbaa !81, !noalias !1328
  %1006 = icmp ult i32 %1003, %1005
  br i1 %1006, label %1007, label %1015

; <label>:1007:                                   ; preds = %996
  %1008 = add i32 %1003, 1
  store i32 %1008, i32* %1002, align 4, !tbaa !83, !noalias !1328
  %1009 = icmp ugt i32 %1005, 15
  %1010 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1011 = load i8*, i8** %1010, align 4, !noalias !1328
  %1012 = select i1 %1009, i8* %1011, i8* %883
  %1013 = getelementptr inbounds i8, i8* %1012, i32 %1003
  store i8 44, i8* %1013, align 1, !tbaa !12, !noalias !1328
  %1014 = getelementptr inbounds i8, i8* %1012, i32 %1008
  store i8 0, i8* %1014, align 1, !tbaa !12, !noalias !1328
  br label %1017

; <label>:1015:                                   ; preds = %996
  %1016 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %53, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8 signext 44) #14, !noalias !1328
  br label %1017

; <label>:1017:                                   ; preds = %1015, %1007
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1001) #14, !noalias !1328
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %882, i8* nonnull %883, i32 24, i32 4, i1 false) #14
  store i32 0, i32* %1002, align 4, !tbaa !83, !noalias !1328
  store i32 15, i32* %1004, align 4, !tbaa !81, !noalias !1328
  store i8 0, i8* %883, align 4, !tbaa !12, !noalias !1328
  %1018 = load i32, i32* %868, align 4, !tbaa !83, !noalias !1331
  %1019 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 2
  %1020 = load i32, i32* %1019, align 4, !tbaa !81, !noalias !1331
  %1021 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 1
  %1022 = load i32, i32* %1021, align 4, !tbaa !83, !noalias !1331
  %1023 = sub i32 %1020, %1022
  %1024 = icmp ugt i32 %1018, %1023
  %1025 = load i32, i32* %869, align 4, !tbaa !81, !noalias !1331
  %1026 = xor i1 %1024, true
  %1027 = sub i32 %1025, %1018
  %1028 = icmp ult i32 %1027, %1022
  %1029 = or i1 %1028, %1026
  br i1 %1029, label %1030, label %1049

; <label>:1030:                                   ; preds = %1017
  %1031 = icmp ugt i32 %1025, 15
  %1032 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1033 = load i8*, i8** %1032, align 4, !noalias !1331
  %1034 = select i1 %1031, i8* %1033, i8* %854
  %1035 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1035) #14, !noalias !1331
  br i1 %1024, label %1044, label %1036

; <label>:1036:                                   ; preds = %1030
  %1037 = add i32 %1022, %1018
  store i32 %1037, i32* %1021, align 4, !tbaa !83, !noalias !1331
  %1038 = icmp ugt i32 %1020, 15
  %1039 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1040 = load i8*, i8** %1039, align 4, !noalias !1331
  %1041 = select i1 %1038, i8* %1040, i8* %882
  %1042 = getelementptr inbounds i8, i8* %1041, i32 %1022
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1042, i8* %1034, i32 %1018, i32 1, i1 false) #14, !noalias !1331
  %1043 = getelementptr inbounds i8, i8* %1041, i32 %1037
  store i8 0, i8* %1043, align 1, !tbaa !12, !noalias !1331
  br label %1046

; <label>:1044:                                   ; preds = %1030
  %1045 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %52, i32 %1018, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8* %1034, i32 %1018) #14, !noalias !1331
  br label %1046

; <label>:1046:                                   ; preds = %1044, %1036
  %1047 = phi %"class.std::basic_string"* [ %52, %1036 ], [ %1045, %1044 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1035) #14, !noalias !1331
  %1048 = bitcast %"class.std::basic_string"* %1047 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %853, i8* nonnull %1048, i32 24, i32 1, i1 false) #14
  br label %1077

; <label>:1049:                                   ; preds = %1017
  %1050 = icmp ugt i32 %1020, 15
  %1051 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1052 = load i8*, i8** %1051, align 4, !noalias !1331
  %1053 = select i1 %1050, i8* %1052, i8* %882
  %1054 = add i32 %1022, %1018
  store i32 %1054, i32* %868, align 4, !tbaa !83, !noalias !1331
  %1055 = icmp ugt i32 %1025, 15
  %1056 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1057 = load i8*, i8** %1056, align 4, !noalias !1331
  %1058 = select i1 %1055, i8* %1057, i8* %854
  %1059 = getelementptr inbounds i8, i8* %1053, i32 %1022
  %1060 = icmp ule i8* %1059, %1058
  %1061 = getelementptr inbounds i8, i8* %1058, i32 %1018
  %1062 = icmp ult i8* %1061, %1053
  %1063 = or i1 %1060, %1062
  br i1 %1063, label %1070, label %1064

; <label>:1064:                                   ; preds = %1049
  %1065 = icmp ugt i8* %1058, %1053
  br i1 %1065, label %1066, label %1070

; <label>:1066:                                   ; preds = %1064
  %1067 = ptrtoint i8* %1058 to i32
  %1068 = ptrtoint i8* %1053 to i32
  %1069 = sub i32 %1067, %1068
  br label %1070

; <label>:1070:                                   ; preds = %1066, %1064, %1049
  %1071 = phi i32 [ %1069, %1066 ], [ %1022, %1049 ], [ 0, %1064 ]
  %1072 = add i32 %1018, 1
  %1073 = getelementptr inbounds i8, i8* %1058, i32 %1022
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1073, i8* %1058, i32 %1072, i32 1, i1 false) #14, !noalias !1331
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1058, i8* %1053, i32 %1071, i32 1, i1 false) #14, !noalias !1331
  %1074 = sub i32 %1022, %1071
  %1075 = getelementptr inbounds i8, i8* %1059, i32 %1071
  %1076 = getelementptr inbounds i8, i8* %1058, i32 %1071
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1076, i8* %1075, i32 %1074, i32 1, i1 false) #14, !noalias !1331
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %853, i8* nonnull %854, i32 24, i32 4, i1 false) #14
  br label %1077

; <label>:1077:                                   ; preds = %1070, %1046
  %1078 = phi %"class.std::basic_string"* [ %51, %1070 ], [ %1047, %1046 ]
  %1079 = phi i8* [ %854, %1070 ], [ %1048, %1046 ]
  %1080 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1078, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1080, align 4, !tbaa !83, !noalias !1331
  %1081 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1078, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1081, align 4, !tbaa !81, !noalias !1331
  store i8 0, i8* %1079, align 1, !tbaa !12, !noalias !1331
  %1082 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1082) #14, !noalias !1334
  %1083 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 1
  %1084 = load i32, i32* %1083, align 4, !tbaa !83, !noalias !1334
  %1085 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 2
  %1086 = load i32, i32* %1085, align 4, !tbaa !81, !noalias !1334
  %1087 = sub i32 %1086, %1084
  %1088 = icmp ult i32 %1087, 4
  br i1 %1088, label %1098, label %1089

; <label>:1089:                                   ; preds = %1077
  %1090 = add i32 %1084, 4
  store i32 %1090, i32* %1083, align 4, !tbaa !83, !noalias !1334
  %1091 = icmp ugt i32 %1086, 15
  %1092 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1093 = load i8*, i8** %1092, align 4, !noalias !1334
  %1094 = select i1 %1091, i8* %1093, i8* %853
  %1095 = getelementptr inbounds i8, i8* %1094, i32 %1084
  %1096 = bitcast i8* %1095 to i32*
  store i32 1528838697, i32* %1096, align 1
  %1097 = getelementptr inbounds i8, i8* %1094, i32 %1090
  store i8 0, i8* %1097, align 1, !tbaa !12, !noalias !1334
  br label %1100

; <label>:1098:                                   ; preds = %1077
  %1099 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %50, i32 4, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @"\01??_C@_04LJIJPCN@?$CJ?3?5?$FL?$AA@", i32 0, i32 0), i32 4) #14, !noalias !1334
  br label %1100

; <label>:1100:                                   ; preds = %1098, %1089
  %1101 = phi %"class.std::basic_string"* [ %50, %1089 ], [ %1099, %1098 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1082) #14, !noalias !1334
  %1102 = bitcast %"class.std::basic_string"* %1101 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %852, i8* nonnull %1102, i32 24, i32 1, i1 false) #14
  %1103 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1101, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1103, align 4, !tbaa !83, !noalias !1334
  %1104 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1101, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1104, align 4, !tbaa !81, !noalias !1334
  store i8 0, i8* %1102, align 1, !tbaa !12, !noalias !1334
  %1105 = load i32, i32* %842, align 4, !tbaa !83, !noalias !1337
  %1106 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 2
  %1107 = load i32, i32* %1106, align 4, !tbaa !81, !noalias !1337
  %1108 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 1
  %1109 = load i32, i32* %1108, align 4, !tbaa !83, !noalias !1337
  %1110 = sub i32 %1107, %1109
  %1111 = icmp ugt i32 %1105, %1110
  %1112 = load i32, i32* %843, align 4, !tbaa !81, !noalias !1337
  %1113 = xor i1 %1111, true
  %1114 = sub i32 %1112, %1105
  %1115 = icmp ult i32 %1114, %1109
  %1116 = or i1 %1115, %1113
  br i1 %1116, label %1117, label %1136

; <label>:1117:                                   ; preds = %1100
  %1118 = icmp ugt i32 %1112, 15
  %1119 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1120 = load i8*, i8** %1119, align 4, !noalias !1337
  %1121 = select i1 %1118, i8* %1120, i8* %841
  %1122 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1122) #14, !noalias !1337
  br i1 %1111, label %1131, label %1123

; <label>:1123:                                   ; preds = %1117
  %1124 = add i32 %1109, %1105
  store i32 %1124, i32* %1108, align 4, !tbaa !83, !noalias !1337
  %1125 = icmp ugt i32 %1107, 15
  %1126 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1127 = load i8*, i8** %1126, align 4, !noalias !1337
  %1128 = select i1 %1125, i8* %1127, i8* %852
  %1129 = getelementptr inbounds i8, i8* %1128, i32 %1109
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1129, i8* %1121, i32 %1105, i32 1, i1 false) #14, !noalias !1337
  %1130 = getelementptr inbounds i8, i8* %1128, i32 %1124
  store i8 0, i8* %1130, align 1, !tbaa !12, !noalias !1337
  br label %1133

; <label>:1131:                                   ; preds = %1117
  %1132 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %49, i32 %1105, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8* %1121, i32 %1105) #14, !noalias !1337
  br label %1133

; <label>:1133:                                   ; preds = %1131, %1123
  %1134 = phi %"class.std::basic_string"* [ %49, %1123 ], [ %1132, %1131 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1122) #14, !noalias !1337
  %1135 = bitcast %"class.std::basic_string"* %1134 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %840, i8* nonnull %1135, i32 24, i32 1, i1 false) #14
  br label %1164

; <label>:1136:                                   ; preds = %1100
  %1137 = icmp ugt i32 %1107, 15
  %1138 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1139 = load i8*, i8** %1138, align 4, !noalias !1337
  %1140 = select i1 %1137, i8* %1139, i8* %852
  %1141 = add i32 %1109, %1105
  store i32 %1141, i32* %842, align 4, !tbaa !83, !noalias !1337
  %1142 = icmp ugt i32 %1112, 15
  %1143 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1144 = load i8*, i8** %1143, align 4, !noalias !1337
  %1145 = select i1 %1142, i8* %1144, i8* %841
  %1146 = getelementptr inbounds i8, i8* %1140, i32 %1109
  %1147 = icmp ule i8* %1146, %1145
  %1148 = getelementptr inbounds i8, i8* %1145, i32 %1105
  %1149 = icmp ult i8* %1148, %1140
  %1150 = or i1 %1147, %1149
  br i1 %1150, label %1157, label %1151

; <label>:1151:                                   ; preds = %1136
  %1152 = icmp ugt i8* %1145, %1140
  br i1 %1152, label %1153, label %1157

; <label>:1153:                                   ; preds = %1151
  %1154 = ptrtoint i8* %1145 to i32
  %1155 = ptrtoint i8* %1140 to i32
  %1156 = sub i32 %1154, %1155
  br label %1157

; <label>:1157:                                   ; preds = %1153, %1151, %1136
  %1158 = phi i32 [ %1156, %1153 ], [ %1109, %1136 ], [ 0, %1151 ]
  %1159 = add i32 %1105, 1
  %1160 = getelementptr inbounds i8, i8* %1145, i32 %1109
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1160, i8* %1145, i32 %1159, i32 1, i1 false) #14, !noalias !1337
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1145, i8* %1140, i32 %1158, i32 1, i1 false) #14, !noalias !1337
  %1161 = sub i32 %1109, %1158
  %1162 = getelementptr inbounds i8, i8* %1146, i32 %1158
  %1163 = getelementptr inbounds i8, i8* %1145, i32 %1158
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1163, i8* %1162, i32 %1161, i32 1, i1 false) #14, !noalias !1337
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %840, i8* nonnull %841, i32 24, i32 4, i1 false) #14
  br label %1164

; <label>:1164:                                   ; preds = %1157, %1133
  %1165 = phi %"class.std::basic_string"* [ %48, %1157 ], [ %1134, %1133 ]
  %1166 = phi i8* [ %841, %1157 ], [ %1135, %1133 ]
  %1167 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1165, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1167, align 4, !tbaa !83, !noalias !1337
  %1168 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1165, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1168, align 4, !tbaa !81, !noalias !1337
  store i8 0, i8* %1166, align 1, !tbaa !12, !noalias !1337
  %1169 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1169) #14, !noalias !1340
  %1170 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 1
  %1171 = load i32, i32* %1170, align 4, !tbaa !83, !noalias !1340
  %1172 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 2
  %1173 = load i32, i32* %1172, align 4, !tbaa !81, !noalias !1340
  %1174 = sub i32 %1173, %1171
  %1175 = icmp ult i32 %1174, 20
  br i1 %1175, label %1184, label %1176

; <label>:1176:                                   ; preds = %1164
  %1177 = add i32 %1171, 20
  store i32 %1177, i32* %1170, align 4, !tbaa !83, !noalias !1340
  %1178 = icmp ugt i32 %1173, 15
  %1179 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1180 = load i8*, i8** %1179, align 4, !noalias !1340
  %1181 = select i1 %1178, i8* %1180, i8* %840
  %1182 = getelementptr inbounds i8, i8* %1181, i32 %1171
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1182, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@", i32 0, i32 0), i32 20, i32 1, i1 false) #14, !noalias !1340
  %1183 = getelementptr inbounds i8, i8* %1181, i32 %1177
  store i8 0, i8* %1183, align 1, !tbaa !12, !noalias !1340
  br label %1186

; <label>:1184:                                   ; preds = %1164
  %1185 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull %47, i32 20, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @"\01??_C@_0BF@HFCGHGIM@?$FN?0?5called?5from?5here?6?$AA@", i32 0, i32 0), i32 20) #14, !noalias !1340
  br label %1186

; <label>:1186:                                   ; preds = %1184, %1176
  %1187 = phi %"class.std::basic_string"* [ %47, %1176 ], [ %1185, %1184 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1169) #14, !noalias !1340
  %1188 = bitcast %"class.std::basic_string"* %1187 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %839, i8* nonnull %1188, i32 24, i32 1, i1 false) #14
  %1189 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1187, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %1189, align 4, !tbaa !83, !noalias !1340
  %1190 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1187, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %1190, align 4, !tbaa !81, !noalias !1340
  store i8 0, i8* %1188, align 1, !tbaa !12, !noalias !1340
  %1191 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 1
  %1192 = load i32, i32* %1191, align 4, !tbaa !83
  %1193 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 2
  %1194 = load i32, i32* %1193, align 4, !tbaa !81
  %1195 = icmp ugt i32 %1194, 15
  %1196 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %46, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1197 = load i8*, i8** %1196, align 4
  %1198 = select i1 %1195, i8* %1197, i8* %839
  %1199 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %1199) #14
  %1200 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  %1201 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %1202 = sub i32 %1201, %1200
  %1203 = icmp ult i32 %1202, %1192
  br i1 %1203, label %1211, label %1204

; <label>:1204:                                   ; preds = %1186
  %1205 = add i32 %1200, %1192
  store i32 %1205, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  %1206 = icmp ugt i32 %1201, 15
  %1207 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %1208 = select i1 %1206, i8* %1207, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  %1209 = getelementptr inbounds i8, i8* %1208, i32 %1200
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %1209, i8* %1198, i32 %1192, i32 1, i1 false) #14
  %1210 = getelementptr inbounds i8, i8* %1208, i32 %1205
  store i8 0, i8* %1210, align 1, !tbaa !12
  br label %1213

; <label>:1211:                                   ; preds = %1186
  %1212 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@QBDI@Z@PBDI@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 %1192, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %1198, i32 %1192) #14
  br label %1213

; <label>:1213:                                   ; preds = %1211, %1204
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %1199) #14
  %1214 = load i32, i32* %1193, align 4, !tbaa !81
  %1215 = icmp ugt i32 %1214, 15
  br i1 %1215, label %1216, label %1240

; <label>:1216:                                   ; preds = %1213
  %1217 = load i8*, i8** %1196, align 4, !tbaa !12
  %1218 = add i32 %1214, 1
  %1219 = icmp ugt i32 %1218, 4095
  br i1 %1219, label %1220, label %1237

; <label>:1220:                                   ; preds = %1216
  %1221 = add i32 %1214, 36
  %1222 = icmp ugt i32 %1218, -36
  br i1 %1222, label %1236, label %1223

; <label>:1223:                                   ; preds = %1220
  %1224 = ptrtoint i8* %1217 to i32
  %1225 = and i32 %1224, 31
  %1226 = icmp eq i32 %1225, 0
  br i1 %1226, label %1227, label %1236

; <label>:1227:                                   ; preds = %1223
  %1228 = add i32 %1224, -4
  %1229 = inttoptr i32 %1228 to i32*
  %1230 = load i32, i32* %1229, align 4, !tbaa !24
  %1231 = icmp ult i32 %1230, %1224
  br i1 %1231, label %1232, label %1236

; <label>:1232:                                   ; preds = %1227
  %1233 = sub i32 %1228, %1230
  %1234 = icmp ugt i32 %1233, 31
  %1235 = inttoptr i32 %1230 to i8*
  br i1 %1234, label %1236, label %1237

; <label>:1236:                                   ; preds = %1232, %1227, %1223, %1220
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1237:                                   ; preds = %1232, %1216
  %1238 = phi i8* [ %1235, %1232 ], [ %1217, %1216 ]
  %1239 = phi i32 [ %1221, %1232 ], [ %1218, %1216 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1238, i32 %1239) #14
  br label %1240

; <label>:1240:                                   ; preds = %1237, %1213
  store i32 0, i32* %1191, align 4, !tbaa !83
  store i32 15, i32* %1193, align 4, !tbaa !81
  store i8 0, i8* %839, align 4, !tbaa !12
  %1241 = load i32, i32* %1172, align 4, !tbaa !81
  %1242 = icmp ugt i32 %1241, 15
  br i1 %1242, label %1243, label %1268

; <label>:1243:                                   ; preds = %1240
  %1244 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %47, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1245 = load i8*, i8** %1244, align 4, !tbaa !12
  %1246 = add i32 %1241, 1
  %1247 = icmp ugt i32 %1246, 4095
  br i1 %1247, label %1248, label %1265

; <label>:1248:                                   ; preds = %1243
  %1249 = add i32 %1241, 36
  %1250 = icmp ugt i32 %1246, -36
  br i1 %1250, label %1264, label %1251

; <label>:1251:                                   ; preds = %1248
  %1252 = ptrtoint i8* %1245 to i32
  %1253 = and i32 %1252, 31
  %1254 = icmp eq i32 %1253, 0
  br i1 %1254, label %1255, label %1264

; <label>:1255:                                   ; preds = %1251
  %1256 = add i32 %1252, -4
  %1257 = inttoptr i32 %1256 to i32*
  %1258 = load i32, i32* %1257, align 4, !tbaa !24
  %1259 = icmp ult i32 %1258, %1252
  br i1 %1259, label %1260, label %1264

; <label>:1260:                                   ; preds = %1255
  %1261 = sub i32 %1256, %1258
  %1262 = icmp ugt i32 %1261, 31
  %1263 = inttoptr i32 %1258 to i8*
  br i1 %1262, label %1264, label %1265

; <label>:1264:                                   ; preds = %1260, %1255, %1251, %1248
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1265:                                   ; preds = %1260, %1243
  %1266 = phi i8* [ %1263, %1260 ], [ %1245, %1243 ]
  %1267 = phi i32 [ %1249, %1260 ], [ %1246, %1243 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1266, i32 %1267) #14
  br label %1268

; <label>:1268:                                   ; preds = %1265, %1240
  store i32 0, i32* %1170, align 4, !tbaa !83
  store i32 15, i32* %1172, align 4, !tbaa !81
  store i8 0, i8* %840, align 4, !tbaa !12
  %1269 = load i32, i32* %1106, align 4, !tbaa !81
  %1270 = icmp ugt i32 %1269, 15
  br i1 %1270, label %1271, label %1296

; <label>:1271:                                   ; preds = %1268
  %1272 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %49, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1273 = load i8*, i8** %1272, align 4, !tbaa !12
  %1274 = add i32 %1269, 1
  %1275 = icmp ugt i32 %1274, 4095
  br i1 %1275, label %1276, label %1293

; <label>:1276:                                   ; preds = %1271
  %1277 = add i32 %1269, 36
  %1278 = icmp ugt i32 %1274, -36
  br i1 %1278, label %1292, label %1279

; <label>:1279:                                   ; preds = %1276
  %1280 = ptrtoint i8* %1273 to i32
  %1281 = and i32 %1280, 31
  %1282 = icmp eq i32 %1281, 0
  br i1 %1282, label %1283, label %1292

; <label>:1283:                                   ; preds = %1279
  %1284 = add i32 %1280, -4
  %1285 = inttoptr i32 %1284 to i32*
  %1286 = load i32, i32* %1285, align 4, !tbaa !24
  %1287 = icmp ult i32 %1286, %1280
  br i1 %1287, label %1288, label %1292

; <label>:1288:                                   ; preds = %1283
  %1289 = sub i32 %1284, %1286
  %1290 = icmp ugt i32 %1289, 31
  %1291 = inttoptr i32 %1286 to i8*
  br i1 %1290, label %1292, label %1293

; <label>:1292:                                   ; preds = %1288, %1283, %1279, %1276
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1293:                                   ; preds = %1288, %1271
  %1294 = phi i8* [ %1291, %1288 ], [ %1273, %1271 ]
  %1295 = phi i32 [ %1277, %1288 ], [ %1274, %1271 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1294, i32 %1295) #14
  br label %1296

; <label>:1296:                                   ; preds = %1293, %1268
  store i32 0, i32* %1108, align 4, !tbaa !83
  store i32 15, i32* %1106, align 4, !tbaa !81
  store i8 0, i8* %852, align 4, !tbaa !12
  %1297 = load i32, i32* %1085, align 4, !tbaa !81
  %1298 = icmp ugt i32 %1297, 15
  br i1 %1298, label %1299, label %1324

; <label>:1299:                                   ; preds = %1296
  %1300 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %50, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1301 = load i8*, i8** %1300, align 4, !tbaa !12
  %1302 = add i32 %1297, 1
  %1303 = icmp ugt i32 %1302, 4095
  br i1 %1303, label %1304, label %1321

; <label>:1304:                                   ; preds = %1299
  %1305 = add i32 %1297, 36
  %1306 = icmp ugt i32 %1302, -36
  br i1 %1306, label %1320, label %1307

; <label>:1307:                                   ; preds = %1304
  %1308 = ptrtoint i8* %1301 to i32
  %1309 = and i32 %1308, 31
  %1310 = icmp eq i32 %1309, 0
  br i1 %1310, label %1311, label %1320

; <label>:1311:                                   ; preds = %1307
  %1312 = add i32 %1308, -4
  %1313 = inttoptr i32 %1312 to i32*
  %1314 = load i32, i32* %1313, align 4, !tbaa !24
  %1315 = icmp ult i32 %1314, %1308
  br i1 %1315, label %1316, label %1320

; <label>:1316:                                   ; preds = %1311
  %1317 = sub i32 %1312, %1314
  %1318 = icmp ugt i32 %1317, 31
  %1319 = inttoptr i32 %1314 to i8*
  br i1 %1318, label %1320, label %1321

; <label>:1320:                                   ; preds = %1316, %1311, %1307, %1304
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1321:                                   ; preds = %1316, %1299
  %1322 = phi i8* [ %1319, %1316 ], [ %1301, %1299 ]
  %1323 = phi i32 [ %1305, %1316 ], [ %1302, %1299 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1322, i32 %1323) #14
  br label %1324

; <label>:1324:                                   ; preds = %1321, %1296
  store i32 0, i32* %1083, align 4, !tbaa !83
  store i32 15, i32* %1085, align 4, !tbaa !81
  store i8 0, i8* %853, align 4, !tbaa !12
  %1325 = load i32, i32* %1019, align 4, !tbaa !81
  %1326 = icmp ugt i32 %1325, 15
  br i1 %1326, label %1327, label %1352

; <label>:1327:                                   ; preds = %1324
  %1328 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %52, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1329 = load i8*, i8** %1328, align 4, !tbaa !12
  %1330 = add i32 %1325, 1
  %1331 = icmp ugt i32 %1330, 4095
  br i1 %1331, label %1332, label %1349

; <label>:1332:                                   ; preds = %1327
  %1333 = add i32 %1325, 36
  %1334 = icmp ugt i32 %1330, -36
  br i1 %1334, label %1348, label %1335

; <label>:1335:                                   ; preds = %1332
  %1336 = ptrtoint i8* %1329 to i32
  %1337 = and i32 %1336, 31
  %1338 = icmp eq i32 %1337, 0
  br i1 %1338, label %1339, label %1348

; <label>:1339:                                   ; preds = %1335
  %1340 = add i32 %1336, -4
  %1341 = inttoptr i32 %1340 to i32*
  %1342 = load i32, i32* %1341, align 4, !tbaa !24
  %1343 = icmp ult i32 %1342, %1336
  br i1 %1343, label %1344, label %1348

; <label>:1344:                                   ; preds = %1339
  %1345 = sub i32 %1340, %1342
  %1346 = icmp ugt i32 %1345, 31
  %1347 = inttoptr i32 %1342 to i8*
  br i1 %1346, label %1348, label %1349

; <label>:1348:                                   ; preds = %1344, %1339, %1335, %1332
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1349:                                   ; preds = %1344, %1327
  %1350 = phi i8* [ %1347, %1344 ], [ %1329, %1327 ]
  %1351 = phi i32 [ %1333, %1344 ], [ %1330, %1327 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1350, i32 %1351) #14
  br label %1352

; <label>:1352:                                   ; preds = %1349, %1324
  store i32 0, i32* %1021, align 4, !tbaa !83
  store i32 15, i32* %1019, align 4, !tbaa !81
  store i8 0, i8* %882, align 4, !tbaa !12
  %1353 = load i32, i32* %1004, align 4, !tbaa !81
  %1354 = icmp ugt i32 %1353, 15
  br i1 %1354, label %1355, label %1380

; <label>:1355:                                   ; preds = %1352
  %1356 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1357 = load i8*, i8** %1356, align 4, !tbaa !12
  %1358 = add i32 %1353, 1
  %1359 = icmp ugt i32 %1358, 4095
  br i1 %1359, label %1360, label %1377

; <label>:1360:                                   ; preds = %1355
  %1361 = add i32 %1353, 36
  %1362 = icmp ugt i32 %1358, -36
  br i1 %1362, label %1376, label %1363

; <label>:1363:                                   ; preds = %1360
  %1364 = ptrtoint i8* %1357 to i32
  %1365 = and i32 %1364, 31
  %1366 = icmp eq i32 %1365, 0
  br i1 %1366, label %1367, label %1376

; <label>:1367:                                   ; preds = %1363
  %1368 = add i32 %1364, -4
  %1369 = inttoptr i32 %1368 to i32*
  %1370 = load i32, i32* %1369, align 4, !tbaa !24
  %1371 = icmp ult i32 %1370, %1364
  br i1 %1371, label %1372, label %1376

; <label>:1372:                                   ; preds = %1367
  %1373 = sub i32 %1368, %1370
  %1374 = icmp ugt i32 %1373, 31
  %1375 = inttoptr i32 %1370 to i8*
  br i1 %1374, label %1376, label %1377

; <label>:1376:                                   ; preds = %1372, %1367, %1363, %1360
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1377:                                   ; preds = %1372, %1355
  %1378 = phi i8* [ %1375, %1372 ], [ %1357, %1355 ]
  %1379 = phi i32 [ %1361, %1372 ], [ %1358, %1355 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1378, i32 %1379) #14
  br label %1380

; <label>:1380:                                   ; preds = %1377, %1352
  store i32 0, i32* %1002, align 4, !tbaa !83
  store i32 15, i32* %1004, align 4, !tbaa !81
  store i8 0, i8* %883, align 4, !tbaa !12
  %1381 = load i32, i32* %938, align 4, !tbaa !81
  %1382 = icmp ugt i32 %1381, 15
  br i1 %1382, label %1383, label %1408

; <label>:1383:                                   ; preds = %1380
  %1384 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1385 = load i8*, i8** %1384, align 4, !tbaa !12
  %1386 = add i32 %1381, 1
  %1387 = icmp ugt i32 %1386, 4095
  br i1 %1387, label %1388, label %1405

; <label>:1388:                                   ; preds = %1383
  %1389 = add i32 %1381, 36
  %1390 = icmp ugt i32 %1386, -36
  br i1 %1390, label %1404, label %1391

; <label>:1391:                                   ; preds = %1388
  %1392 = ptrtoint i8* %1385 to i32
  %1393 = and i32 %1392, 31
  %1394 = icmp eq i32 %1393, 0
  br i1 %1394, label %1395, label %1404

; <label>:1395:                                   ; preds = %1391
  %1396 = add i32 %1392, -4
  %1397 = inttoptr i32 %1396 to i32*
  %1398 = load i32, i32* %1397, align 4, !tbaa !24
  %1399 = icmp ult i32 %1398, %1392
  br i1 %1399, label %1400, label %1404

; <label>:1400:                                   ; preds = %1395
  %1401 = sub i32 %1396, %1398
  %1402 = icmp ugt i32 %1401, 31
  %1403 = inttoptr i32 %1398 to i8*
  br i1 %1402, label %1404, label %1405

; <label>:1404:                                   ; preds = %1400, %1395, %1391, %1388
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1405:                                   ; preds = %1400, %1383
  %1406 = phi i8* [ %1403, %1400 ], [ %1385, %1383 ]
  %1407 = phi i32 [ %1389, %1400 ], [ %1386, %1383 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1406, i32 %1407) #14
  br label %1408

; <label>:1408:                                   ; preds = %1405, %1380
  store i32 0, i32* %940, align 4, !tbaa !83
  store i32 15, i32* %938, align 4, !tbaa !81
  store i8 0, i8* %910, align 4, !tbaa !12
  %1409 = load i32, i32* %913, align 4, !tbaa !81
  %1410 = icmp ugt i32 %1409, 15
  br i1 %1410, label %1411, label %1436

; <label>:1411:                                   ; preds = %1408
  %1412 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %56, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1413 = load i8*, i8** %1412, align 4, !tbaa !12
  %1414 = add i32 %1409, 1
  %1415 = icmp ugt i32 %1414, 4095
  br i1 %1415, label %1416, label %1433

; <label>:1416:                                   ; preds = %1411
  %1417 = add i32 %1409, 36
  %1418 = icmp ugt i32 %1414, -36
  br i1 %1418, label %1432, label %1419

; <label>:1419:                                   ; preds = %1416
  %1420 = ptrtoint i8* %1413 to i32
  %1421 = and i32 %1420, 31
  %1422 = icmp eq i32 %1421, 0
  br i1 %1422, label %1423, label %1432

; <label>:1423:                                   ; preds = %1419
  %1424 = add i32 %1420, -4
  %1425 = inttoptr i32 %1424 to i32*
  %1426 = load i32, i32* %1425, align 4, !tbaa !24
  %1427 = icmp ult i32 %1426, %1420
  br i1 %1427, label %1428, label %1432

; <label>:1428:                                   ; preds = %1423
  %1429 = sub i32 %1424, %1426
  %1430 = icmp ugt i32 %1429, 31
  %1431 = inttoptr i32 %1426 to i8*
  br i1 %1430, label %1432, label %1433

; <label>:1432:                                   ; preds = %1428, %1423, %1419, %1416
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1433:                                   ; preds = %1428, %1411
  %1434 = phi i8* [ %1431, %1428 ], [ %1413, %1411 ]
  %1435 = phi i32 [ %1417, %1428 ], [ %1414, %1411 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1434, i32 %1435) #14
  br label %1436

; <label>:1436:                                   ; preds = %1433, %1408
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %911) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %910) #14
  %1437 = load i32, i32* %897, align 4, !tbaa !81
  %1438 = icmp ugt i32 %1437, 15
  br i1 %1438, label %1439, label %1464

; <label>:1439:                                   ; preds = %1436
  %1440 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %54, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1441 = load i8*, i8** %1440, align 4, !tbaa !12
  %1442 = add i32 %1437, 1
  %1443 = icmp ugt i32 %1442, 4095
  br i1 %1443, label %1444, label %1461

; <label>:1444:                                   ; preds = %1439
  %1445 = add i32 %1437, 36
  %1446 = icmp ugt i32 %1442, -36
  br i1 %1446, label %1460, label %1447

; <label>:1447:                                   ; preds = %1444
  %1448 = ptrtoint i8* %1441 to i32
  %1449 = and i32 %1448, 31
  %1450 = icmp eq i32 %1449, 0
  br i1 %1450, label %1451, label %1460

; <label>:1451:                                   ; preds = %1447
  %1452 = add i32 %1448, -4
  %1453 = inttoptr i32 %1452 to i32*
  %1454 = load i32, i32* %1453, align 4, !tbaa !24
  %1455 = icmp ult i32 %1454, %1448
  br i1 %1455, label %1456, label %1460

; <label>:1456:                                   ; preds = %1451
  %1457 = sub i32 %1452, %1454
  %1458 = icmp ugt i32 %1457, 31
  %1459 = inttoptr i32 %1454 to i8*
  br i1 %1458, label %1460, label %1461

; <label>:1460:                                   ; preds = %1456, %1451, %1447, %1444
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1461:                                   ; preds = %1456, %1439
  %1462 = phi i8* [ %1459, %1456 ], [ %1441, %1439 ]
  %1463 = phi i32 [ %1445, %1456 ], [ %1442, %1439 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1462, i32 %1463) #14
  br label %1464

; <label>:1464:                                   ; preds = %1461, %1436
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %884) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %883) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %882) #14
  %1465 = load i32, i32* %869, align 4, !tbaa !81
  %1466 = icmp ugt i32 %1465, 15
  br i1 %1466, label %1467, label %1492

; <label>:1467:                                   ; preds = %1464
  %1468 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %51, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1469 = load i8*, i8** %1468, align 4, !tbaa !12
  %1470 = add i32 %1465, 1
  %1471 = icmp ugt i32 %1470, 4095
  br i1 %1471, label %1472, label %1489

; <label>:1472:                                   ; preds = %1467
  %1473 = add i32 %1465, 36
  %1474 = icmp ugt i32 %1470, -36
  br i1 %1474, label %1488, label %1475

; <label>:1475:                                   ; preds = %1472
  %1476 = ptrtoint i8* %1469 to i32
  %1477 = and i32 %1476, 31
  %1478 = icmp eq i32 %1477, 0
  br i1 %1478, label %1479, label %1488

; <label>:1479:                                   ; preds = %1475
  %1480 = add i32 %1476, -4
  %1481 = inttoptr i32 %1480 to i32*
  %1482 = load i32, i32* %1481, align 4, !tbaa !24
  %1483 = icmp ult i32 %1482, %1476
  br i1 %1483, label %1484, label %1488

; <label>:1484:                                   ; preds = %1479
  %1485 = sub i32 %1480, %1482
  %1486 = icmp ugt i32 %1485, 31
  %1487 = inttoptr i32 %1482 to i8*
  br i1 %1486, label %1488, label %1489

; <label>:1488:                                   ; preds = %1484, %1479, %1475, %1472
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1489:                                   ; preds = %1484, %1467
  %1490 = phi i8* [ %1487, %1484 ], [ %1469, %1467 ]
  %1491 = phi i32 [ %1473, %1484 ], [ %1470, %1467 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1490, i32 %1491) #14
  br label %1492

; <label>:1492:                                   ; preds = %1489, %1464
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %854) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %853) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %852) #14
  %1493 = load i32, i32* %843, align 4, !tbaa !81
  %1494 = icmp ugt i32 %1493, 15
  br i1 %1494, label %1495, label %1520

; <label>:1495:                                   ; preds = %1492
  %1496 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %48, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %1497 = load i8*, i8** %1496, align 4, !tbaa !12
  %1498 = add i32 %1493, 1
  %1499 = icmp ugt i32 %1498, 4095
  br i1 %1499, label %1500, label %1517

; <label>:1500:                                   ; preds = %1495
  %1501 = add i32 %1493, 36
  %1502 = icmp ugt i32 %1498, -36
  br i1 %1502, label %1516, label %1503

; <label>:1503:                                   ; preds = %1500
  %1504 = ptrtoint i8* %1497 to i32
  %1505 = and i32 %1504, 31
  %1506 = icmp eq i32 %1505, 0
  br i1 %1506, label %1507, label %1516

; <label>:1507:                                   ; preds = %1503
  %1508 = add i32 %1504, -4
  %1509 = inttoptr i32 %1508 to i32*
  %1510 = load i32, i32* %1509, align 4, !tbaa !24
  %1511 = icmp ult i32 %1510, %1504
  br i1 %1511, label %1512, label %1516

; <label>:1512:                                   ; preds = %1507
  %1513 = sub i32 %1508, %1510
  %1514 = icmp ugt i32 %1513, 31
  %1515 = inttoptr i32 %1510 to i8*
  br i1 %1514, label %1516, label %1517

; <label>:1516:                                   ; preds = %1512, %1507, %1503, %1500
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:1517:                                   ; preds = %1512, %1495
  %1518 = phi i8* [ %1515, %1512 ], [ %1497, %1495 ]
  %1519 = phi i32 [ %1501, %1512 ], [ %1498, %1495 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %1518, i32 %1519) #14
  br label %1520

; <label>:1520:                                   ; preds = %1517, %1492
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %841) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %840) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %839) #14
  br label %1521

; <label>:1521:                                   ; preds = %1520, %837, %59, %6
  ret void
}

; Function Attrs: nounwind
define void @initTextEntry(%"struct.std::pair.23"* dereferenceable(48), i8*, i32) local_unnamed_addr #2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"class.std::basic_string", align 4
  %6 = alloca %"struct.std::pair.148", align 4
  %7 = bitcast %"class.std::basic_string"* %5 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %7) #14
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 1
  %9 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 2
  %10 = bitcast i32* %8 to i64*
  store i64 0, i64* %10, align 4
  store i32 15, i32* %9, align 4, !tbaa !81
  store i8 0, i8* %7, align 4, !tbaa !12
  %11 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %11) #14
  %12 = icmp ugt i32 %2, 15
  br i1 %12, label %15, label %13

; <label>:13:                                     ; preds = %3
  store i32 %2, i32* %8, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %7, i8* %1, i32 %2, i32 1, i1 false) #14
  %14 = getelementptr inbounds i8, i8* %7, i32 %2
  store i8 0, i8* %14, align 1, !tbaa !12
  br label %17

; <label>:15:                                     ; preds = %3
  %16 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %5, i32 %2, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* %1) #14
  br label %17

; <label>:17:                                     ; preds = %15, %13
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %11) #14
  %18 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %18, align 4, !tbaa !83
  %19 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %19, align 4, !tbaa !81
  %20 = load i32, i32* %8, align 4, !tbaa !83
  %21 = load i32, i32* %9, align 4, !tbaa !81
  %22 = icmp ugt i32 %21, 15
  %23 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %24 = load i8*, i8** %23, align 4
  %25 = select i1 %22, i8* %24, i8* %7
  %26 = icmp ult i32 %20, 16
  br i1 %26, label %27, label %29

; <label>:27:                                     ; preds = %17
  %28 = bitcast %"struct.std::pair.23"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %28, i8* %25, i32 16, i32 1, i1 false) #14
  br label %51

; <label>:29:                                     ; preds = %17
  %30 = or i32 %20, 15
  %31 = icmp ult i32 %30, 2147483647
  %32 = select i1 %31, i32 %30, i32 2147483647
  %33 = icmp ugt i32 %32, 4094
  br i1 %33, label %34, label %43

; <label>:34:                                     ; preds = %29
  %35 = add nuw i32 %32, 36
  %36 = call i8* @"\01??2@YAPAXI@Z"(i32 %35) #14
  %37 = ptrtoint i8* %36 to i32
  %38 = add i32 %37, 35
  %39 = and i32 %38, -32
  %40 = inttoptr i32 %39 to i8*
  %41 = inttoptr i32 %39 to i32*
  %42 = getelementptr inbounds i32, i32* %41, i32 -1
  store i32 %37, i32* %42, align 4, !tbaa !24
  br label %46

; <label>:43:                                     ; preds = %29
  %44 = add nuw i32 %32, 1
  %45 = call i8* @"\01??2@YAPAXI@Z"(i32 %44) #14
  br label %46

; <label>:46:                                     ; preds = %43, %34
  %47 = phi i8* [ %40, %34 ], [ %45, %43 ]
  %48 = ptrtoint i8* %47 to i32
  %49 = bitcast %"struct.std::pair.23"* %0 to i32*
  store i32 %48, i32* %49, align 4, !tbaa !23
  %50 = add i32 %20, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %25, i32 %50, i32 1, i1 false) #14
  br label %51

; <label>:51:                                     ; preds = %46, %27
  %52 = phi i32 [ %32, %46 ], [ 15, %27 ]
  store i32 %20, i32* %18, align 4, !tbaa !83
  store i32 %52, i32* %19, align 4, !tbaa !81
  %53 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1
  %54 = bitcast %struct.TextInfo* %53 to i8*
  call void @llvm.memset.p0i8.i64(i8* %54, i8 0, i64 24, i32 4, i1 false) #14
  %55 = ptrtoint %"struct.std::pair.23"* %0 to i32
  %56 = bitcast %"struct.std::pair.148"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %56) #14
  %57 = load i32*, i32** bitcast (%"class.std::list.65"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i32**), align 4, !tbaa !23, !noalias !1343
  %58 = load i32, i32* %57, align 4, !tbaa !904, !noalias !1343
  %59 = inttoptr i32 %58 to %"struct.std::_List_node.72"*
  %60 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %59, i32 0, i32 1
  %61 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %60, align 4, !tbaa !907, !noalias !1348
  %62 = ptrtoint %"struct.std::_List_node.72"* %61 to i32
  %63 = call i8* @"\01??2@YAPAXI@Z"(i32 36) #14, !noalias !1348
  %64 = icmp eq i32 %58, 0
  %65 = ptrtoint i8* %63 to i32
  %66 = select i1 %64, i32 %65, i32 %62
  %67 = select i1 %64, i32 %65, i32 %58
  %68 = bitcast i8* %63 to i32*
  store i32 %67, i32* %68, align 4, !tbaa !23, !noalias !1348
  %69 = getelementptr inbounds i8, i8* %63, i32 4
  %70 = bitcast i8* %69 to i32*
  store i32 %66, i32* %70, align 4, !tbaa !23, !noalias !1348
  %71 = getelementptr inbounds i8, i8* %63, i32 8
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %71, i8* nonnull %7, i32 24, i32 1, i1 false) #14, !noalias !1348
  store i32 0, i32* %8, align 4, !tbaa !83, !noalias !1348
  store i32 15, i32* %9, align 4, !tbaa !81, !noalias !1348
  store i8 0, i8* %7, align 4, !tbaa !12, !noalias !1348
  %72 = getelementptr inbounds i8, i8* %63, i32 32
  %73 = bitcast i8* %72 to i32*
  store i32 %55, i32* %73, align 4, !tbaa !1206, !noalias !1348
  %74 = load i32, i32* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !24, !noalias !1348
  %75 = icmp eq i32 %74, 119304646
  br i1 %75, label %76, label %77

; <label>:76:                                     ; preds = %51
  call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"\01??_C@_0BB@MOGOBHAF@list?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:77:                                     ; preds = %51
  %78 = add i32 %74, 1
  store i32 %78, i32* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !24, !noalias !1348
  %79 = bitcast %"struct.std::_List_node.72"** %60 to i8**
  store i8* %63, i8** %79, align 4, !tbaa !907, !noalias !1348
  %80 = bitcast %"struct.std::_List_node.72"* %61 to i8**
  store i8* %63, i8** %80, align 4, !tbaa !904, !noalias !1348
  %81 = load %"struct.std::_List_node.72"**, %"struct.std::_List_node.72"*** bitcast (%"class.std::list.65"* getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to %"struct.std::_List_node.72"***), align 4, !tbaa !23, !noalias !1348
  %82 = load %"struct.std::_List_node.72"*, %"struct.std::_List_node.72"** %81, align 4, !tbaa !904, !noalias !1348
  %83 = getelementptr inbounds %"struct.std::_List_node.72", %"struct.std::_List_node.72"* %82, i32 0, i32 2
  call x86_thiscallcc void @"\01??$_Insert@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@1@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@1@@Z"(%"class.std::_Hash.63"* nonnull getelementptr inbounds (%"class.std::unordered_map.62", %"class.std::unordered_map.62"* @"\01?texts@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.148"* nonnull sret %6, %"struct.std::pair.151"* nonnull dereferenceable(28) %83, %"struct.std::_List_node.72"* %82) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %56) #14
  %84 = load i32, i32* %9, align 4, !tbaa !81
  %85 = icmp ugt i32 %84, 15
  br i1 %85, label %86, label %110

; <label>:86:                                     ; preds = %77
  %87 = load i8*, i8** %23, align 4, !tbaa !12
  %88 = add i32 %84, 1
  %89 = icmp ugt i32 %88, 4095
  br i1 %89, label %90, label %107

; <label>:90:                                     ; preds = %86
  %91 = add i32 %84, 36
  %92 = icmp ugt i32 %88, -36
  br i1 %92, label %106, label %93

; <label>:93:                                     ; preds = %90
  %94 = ptrtoint i8* %87 to i32
  %95 = and i32 %94, 31
  %96 = icmp eq i32 %95, 0
  br i1 %96, label %97, label %106

; <label>:97:                                     ; preds = %93
  %98 = add i32 %94, -4
  %99 = inttoptr i32 %98 to i32*
  %100 = load i32, i32* %99, align 4, !tbaa !24
  %101 = icmp ult i32 %100, %94
  br i1 %101, label %102, label %106

; <label>:102:                                    ; preds = %97
  %103 = sub i32 %98, %100
  %104 = icmp ugt i32 %103, 31
  %105 = inttoptr i32 %100 to i8*
  br i1 %104, label %106, label %107

; <label>:106:                                    ; preds = %102, %97, %93, %90
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:107:                                    ; preds = %102, %86
  %108 = phi i8* [ %105, %102 ], [ %87, %86 ]
  %109 = phi i32 [ %91, %102 ], [ %88, %86 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %108, i32 %109) #14
  br label %110

; <label>:110:                                    ; preds = %107, %77
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %7) #14
  ret void
}

; Function Attrs: nounwind
define void @processConstantInt8(i8 signext) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i8*
  store i8 %0, i8* %14, align 8, !tbaa !12
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 1, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantInt16(i16 signext) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i16*
  store i16 %0, i16* %14, align 8, !tbaa !59
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 2, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantInt32(i32) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i32*
  store i32 %0, i32* %14, align 8, !tbaa !24
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 3, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantInt64(i64) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i64*
  store i64 %0, i64* %14, align 8, !tbaa !61
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 4, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantIntX(i32) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i32*
  store i32 %0, i32* %14, align 4, !tbaa !24
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 5, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantNat8(i8 zeroext) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i8*
  store i8 %0, i8* %14, align 8, !tbaa !12
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 6, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantNat16(i16 zeroext) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i16*
  store i16 %0, i16* %14, align 8, !tbaa !59
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 7, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantNat32(i32) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i32*
  store i32 %0, i32* %14, align 8, !tbaa !24
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 8, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantNat64(i64) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i64*
  store i64 %0, i64* %14, align 8, !tbaa !61
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 9, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantNatX(i32) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to i32*
  store i32 %0, i32* %14, align 4, !tbaa !24
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 10, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantReal32(float) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %class.variant.43* %13 to float*
  store float %0, float* %14, align 8, !tbaa !70
  %15 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 11, i32* %15, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processConstantReal64(double) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 0, i32 0, i32 0
  store double %0, double* %13, align 8, !tbaa !72
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 12, i32* %14, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processText(%struct.SourceText* nocapture readonly dereferenceable(8)) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %struct.SourceText* %0 to i64*
  %15 = bitcast %class.variant.43* %13 to i64*
  %16 = load i64, i64* %14, align 4
  store i64 %16, i64* %15, align 4
  %17 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 13, i32* %17, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @processListBegin(%"class.std::vector.4"* dereferenceable(12), i32) local_unnamed_addr #2 {
  %3 = alloca i32, align 4
  %4 = bitcast i32* %3 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %4)
  %5 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  store i32 %5, i32* %3, align 4
  %6 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %7 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %8 = sub i32 %6, %7
  %9 = ashr exact i32 %8, 4
  store i32 %9, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %10 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %0, i32 %1) #14
  br i1 %10, label %11, label %65

; <label>:11:                                     ; preds = %2
  %12 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %13 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %14 = sub i32 %12, %13
  %15 = ashr exact i32 %14, 4
  %16 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %17 = sub i32 %15, %16
  %18 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %19 = getelementptr inbounds i8, i8* %18, i32 16
  %20 = bitcast i8* %19 to %struct.Field**
  store %struct.Field* null, %struct.Field** %20, align 4, !tbaa !554
  %21 = getelementptr inbounds i8, i8* %18, i32 20
  %22 = bitcast i8* %21 to %struct.Field**
  store %struct.Field* null, %struct.Field** %22, align 4, !tbaa !556
  %23 = getelementptr inbounds i8, i8* %18, i32 24
  %24 = bitcast i8* %23 to %struct.Field**
  store %struct.Field* null, %struct.Field** %24, align 4, !tbaa !557
  %25 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %26 = add i32 %25, 1
  store i32 %26, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %27 = bitcast i8* %18 to i32*
  store i32 1, i32* %27, align 4, !tbaa !558
  %28 = getelementptr inbounds i8, i8* %18, i32 4
  %29 = bitcast i8* %28 to i32*
  store i32 %17, i32* %29, align 4, !tbaa !563
  %30 = getelementptr inbounds i8, i8* %18, i32 8
  %31 = bitcast i8* %30 to i32*
  store i32 %17, i32* %31, align 4, !tbaa !564
  %32 = getelementptr inbounds i8, i8* %18, i32 12
  %33 = bitcast i8* %32 to i32*
  store i32 %17, i32* %33, align 4, !tbaa !565
  %34 = bitcast i8* %19 to %"class.std::vector.17"*
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %34, i32 %17, %"class.std::vector.17"* %34) #14
  %35 = icmp eq i32 %17, 0
  %36 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br i1 %35, label %38, label %37

; <label>:37:                                     ; preds = %11
  br label %50

; <label>:38:                                     ; preds = %50, %11
  %39 = add i32 %36, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %39, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %40 = ptrtoint i8* %18 to i32
  %41 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %42 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %43 = getelementptr inbounds %class.variant.43, %class.variant.43* %42, i32 %41
  %44 = bitcast %class.variant.43* %43 to i32*
  store i32 %40, i32* %44, align 8, !tbaa !23
  %45 = getelementptr inbounds %class.variant.43, %class.variant.43* %42, i32 %41, i32 1
  store i32 17, i32* %45, align 8, !tbaa !535
  %46 = icmp ult i32 %41, %5
  %47 = load i32, i32* @"\01?reservedStack@@3IA", align 4
  %48 = load i32, i32* %3, align 4
  %49 = select i1 %46, i32 %47, i32 %48
  br label %65

; <label>:50:                                     ; preds = %50, %37
  %51 = phi i32 [ %63, %50 ], [ 0, %37 ]
  %52 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %53 = load %struct.Field*, %struct.Field** %20, align 4, !tbaa !23
  %54 = getelementptr inbounds %struct.Field, %struct.Field* %53, i32 %51
  %55 = bitcast %struct.Field* %54 to i32*
  store i32 %52, i32* %55, align 8, !tbaa !561
  %56 = add i32 %36, %51
  %57 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %58 = getelementptr inbounds %class.variant.43, %class.variant.43* %57, i32 %56
  %59 = load %struct.Field*, %struct.Field** %20, align 4, !tbaa !23
  %60 = getelementptr inbounds %struct.Field, %struct.Field* %59, i32 %51, i32 1
  %61 = bitcast %class.variant.43* %60 to i8*
  %62 = bitcast %class.variant.43* %58 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %61, i8* %62, i32 16, i32 8, i1 false), !tbaa.struct !567
  %63 = add nuw i32 %51, 1
  %64 = icmp eq i32 %63, %17
  br i1 %64, label %38, label %50

; <label>:65:                                     ; preds = %38, %2
  %66 = phi i32 [ %49, %38 ], [ %5, %2 ]
  %67 = phi i1 [ true, %38 ], [ false, %2 ]
  store i32 %66, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %4)
  ret i1 %67
}

; Function Attrs: nounwind
define zeroext i1 @processListCodeBegin(i1 ()* nocapture) local_unnamed_addr #2 {
  %2 = alloca i32, align 4
  %3 = bitcast i32* %2 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %3)
  %4 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  store i32 %4, i32* %2, align 4
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = ashr exact i32 %7, 4
  store i32 %8, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = tail call zeroext i1 %0() #14
  br i1 %9, label %10, label %64

; <label>:10:                                     ; preds = %1
  %11 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %12 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %13 = sub i32 %11, %12
  %14 = ashr exact i32 %13, 4
  %15 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %16 = sub i32 %14, %15
  %17 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %18 = getelementptr inbounds i8, i8* %17, i32 16
  %19 = bitcast i8* %18 to %struct.Field**
  store %struct.Field* null, %struct.Field** %19, align 4, !tbaa !554
  %20 = getelementptr inbounds i8, i8* %17, i32 20
  %21 = bitcast i8* %20 to %struct.Field**
  store %struct.Field* null, %struct.Field** %21, align 4, !tbaa !556
  %22 = getelementptr inbounds i8, i8* %17, i32 24
  %23 = bitcast i8* %22 to %struct.Field**
  store %struct.Field* null, %struct.Field** %23, align 4, !tbaa !557
  %24 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %25 = add i32 %24, 1
  store i32 %25, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %26 = bitcast i8* %17 to i32*
  store i32 1, i32* %26, align 4, !tbaa !558
  %27 = getelementptr inbounds i8, i8* %17, i32 4
  %28 = bitcast i8* %27 to i32*
  store i32 %16, i32* %28, align 4, !tbaa !563
  %29 = getelementptr inbounds i8, i8* %17, i32 8
  %30 = bitcast i8* %29 to i32*
  store i32 %16, i32* %30, align 4, !tbaa !564
  %31 = getelementptr inbounds i8, i8* %17, i32 12
  %32 = bitcast i8* %31 to i32*
  store i32 %16, i32* %32, align 4, !tbaa !565
  %33 = bitcast i8* %18 to %"class.std::vector.17"*
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAEXI@Z@@?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.17"* %33, i32 %16, %"class.std::vector.17"* %33) #14
  %34 = icmp eq i32 %16, 0
  %35 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br i1 %34, label %37, label %36

; <label>:36:                                     ; preds = %10
  br label %49

; <label>:37:                                     ; preds = %49, %10
  %38 = add i32 %35, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %38, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %39 = ptrtoint i8* %17 to i32
  %40 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %41 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %42 = getelementptr inbounds %class.variant.43, %class.variant.43* %41, i32 %40
  %43 = bitcast %class.variant.43* %42 to i32*
  store i32 %39, i32* %43, align 8, !tbaa !23
  %44 = getelementptr inbounds %class.variant.43, %class.variant.43* %41, i32 %40, i32 1
  store i32 17, i32* %44, align 8, !tbaa !535
  %45 = icmp ult i32 %40, %4
  %46 = load i32, i32* @"\01?reservedStack@@3IA", align 4
  %47 = load i32, i32* %2, align 4
  %48 = select i1 %45, i32 %46, i32 %47
  br label %64

; <label>:49:                                     ; preds = %49, %36
  %50 = phi i32 [ %62, %49 ], [ 0, %36 ]
  %51 = load i32, i32* bitcast (%"struct.std::pair.23"** @"\01?emptyText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A" to i32*), align 4, !tbaa !23
  %52 = load %struct.Field*, %struct.Field** %19, align 4, !tbaa !23
  %53 = getelementptr inbounds %struct.Field, %struct.Field* %52, i32 %50
  %54 = bitcast %struct.Field* %53 to i32*
  store i32 %51, i32* %54, align 8, !tbaa !561
  %55 = add i32 %35, %50
  %56 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %56, i32 %55
  %58 = load %struct.Field*, %struct.Field** %19, align 4, !tbaa !23
  %59 = getelementptr inbounds %struct.Field, %struct.Field* %58, i32 %50, i32 1
  %60 = bitcast %class.variant.43* %59 to i8*
  %61 = bitcast %class.variant.43* %57 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %60, i8* %61, i32 16, i32 8, i1 false), !tbaa.struct !567
  %62 = add nuw i32 %50, 1
  %63 = icmp eq i32 %62, %16
  br i1 %63, label %37, label %49

; <label>:64:                                     ; preds = %37, %1
  %65 = phi i32 [ %48, %37 ], [ %4, %1 ]
  %66 = phi i1 [ true, %37 ], [ false, %1 ]
  store i32 %65, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %3)
  ret i1 %66
}

; Function Attrs: nounwind
define zeroext i1 @processObjectBegin(%"class.std::vector.4"* dereferenceable(12), i32) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca [21 x i8], align 1
  %6 = alloca [12 x i8], align 4
  %7 = alloca %"class.std::basic_string", align 4
  %8 = alloca %"class.std::basic_string", align 4
  %9 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %10 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %11 = sub i32 %9, %10
  %12 = icmp eq i32 %11, 196608
  br i1 %12, label %13, label %141

; <label>:13:                                     ; preds = %2
  %14 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %15 = icmp eq i32 %14, 0
  br i1 %15, label %16, label %196

; <label>:16:                                     ; preds = %13
  %17 = getelementptr inbounds [12 x i8], [12 x i8]* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %17)
  %18 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %18) #14
  %19 = bitcast %"class.std::basic_string"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %19) #14
  %20 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %20) #14, !noalias !1349
  %21 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 20
  store i8 52, i8* %21, align 1, !tbaa !12, !noalias !1349
  %22 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 19
  store i8 56, i8* %22, align 1, !tbaa !12, !noalias !1349
  %23 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 18
  store i8 51, i8* %23, align 1, !tbaa !12, !noalias !1349
  %24 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 17
  store i8 54, i8* %24, align 1, !tbaa !12, !noalias !1349
  %25 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 16
  store i8 49, i8* %25, align 1, !tbaa !12, !noalias !1349
  %26 = getelementptr inbounds [21 x i8], [21 x i8]* %5, i32 0, i32 16
  %27 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 1
  %28 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %28, align 4, !tbaa !81, !alias.scope !1349
  store i32 5, i32* %27, align 4, !tbaa !83, !alias.scope !1349
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %19, i8* %26, i32 5, i32 1, i1 false) #14
  %29 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %29, align 1, !tbaa !12, !alias.scope !1349
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %20) #14, !noalias !1349
  %30 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %30) #14, !noalias !1354
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %8, i32 33, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i32 0, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @"\01??_C@_0CC@PAFBEPGE@maximum?5recursion?5level?5reached?5@", i32 0, i32 0), i32 33) #14, !noalias !1354
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %30) #14, !noalias !1354
  %32 = bitcast %"class.std::basic_string"* %31 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %18, i8* nonnull %32, i32 24, i32 1, i1 false) #14
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %33, align 4, !tbaa !83, !noalias !1354
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %31, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %34, align 4, !tbaa !81, !noalias !1354
  store i8 0, i8* %32, align 1, !tbaa !12, !noalias !1354
  %35 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %35) #14, !noalias !1357
  %36 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 1
  %37 = load i32, i32* %36, align 4, !tbaa !83, !noalias !1357
  %38 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 2
  %39 = load i32, i32* %38, align 4, !tbaa !81, !noalias !1357
  %40 = icmp ult i32 %37, %39
  br i1 %40, label %41, label %49

; <label>:41:                                     ; preds = %16
  %42 = add i32 %37, 1
  store i32 %42, i32* %36, align 4, !tbaa !83, !noalias !1357
  %43 = icmp ugt i32 %39, 15
  %44 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %45 = load i8*, i8** %44, align 4, !noalias !1357
  %46 = select i1 %43, i8* %45, i8* %18
  %47 = getelementptr inbounds i8, i8* %46, i32 %37
  store i8 41, i8* %47, align 1, !tbaa !12, !noalias !1357
  %48 = getelementptr inbounds i8, i8* %46, i32 %42
  store i8 0, i8* %48, align 1, !tbaa !12, !noalias !1357
  br label %51

; <label>:49:                                     ; preds = %16
  %50 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %7, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext 41) #14, !noalias !1357
  br label %51

; <label>:51:                                     ; preds = %49, %41
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %35) #14, !noalias !1357
  %52 = bitcast %"class.std::basic_string"* %7 to i32*
  %53 = load i32, i32* %52, align 4
  %54 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %17, i8* %54, i32 12, i32 4, i1 false)
  %55 = load i32, i32* %36, align 4
  %56 = load i32, i32* %38, align 4
  store i32 0, i32* %36, align 4, !tbaa !83, !noalias !1357
  store i32 15, i32* %38, align 4, !tbaa !81, !noalias !1357
  store i8 0, i8* %18, align 4, !tbaa !12, !noalias !1357
  %57 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %58 = icmp ugt i32 %57, 15
  br i1 %58, label %59, label %84

; <label>:59:                                     ; preds = %51
  %60 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %61 = add i32 %57, 1
  %62 = icmp ugt i32 %61, 4095
  br i1 %62, label %63, label %80

; <label>:63:                                     ; preds = %59
  %64 = add i32 %57, 36
  %65 = icmp ugt i32 %61, -36
  br i1 %65, label %79, label %66

; <label>:66:                                     ; preds = %63
  %67 = ptrtoint i8* %60 to i32
  %68 = and i32 %67, 31
  %69 = icmp eq i32 %68, 0
  br i1 %69, label %70, label %79

; <label>:70:                                     ; preds = %66
  %71 = add i32 %67, -4
  %72 = inttoptr i32 %71 to i32*
  %73 = load i32, i32* %72, align 4, !tbaa !24
  %74 = icmp ult i32 %73, %67
  br i1 %74, label %75, label %79

; <label>:75:                                     ; preds = %70
  %76 = sub i32 %71, %73
  %77 = icmp ugt i32 %76, 31
  %78 = inttoptr i32 %73 to i8*
  br i1 %77, label %79, label %80

; <label>:79:                                     ; preds = %75, %70, %66, %63
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:80:                                     ; preds = %75, %59
  %81 = phi i8* [ %78, %75 ], [ %60, %59 ]
  %82 = phi i32 [ %64, %75 ], [ %61, %59 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %81, i32 %82) #14
  %83 = load i32, i32* %38, align 4, !tbaa !81
  br label %84

; <label>:84:                                     ; preds = %80, %51
  %85 = phi i32 [ %83, %80 ], [ 15, %51 ]
  store i32 %53, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %17, i32 12, i32 4, i1 false)
  store i32 %55, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %56, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %86 = icmp ugt i32 %85, 15
  br i1 %86, label %87, label %112

; <label>:87:                                     ; preds = %84
  %88 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %89 = load i8*, i8** %88, align 4, !tbaa !12
  %90 = add i32 %85, 1
  %91 = icmp ugt i32 %90, 4095
  br i1 %91, label %92, label %109

; <label>:92:                                     ; preds = %87
  %93 = add i32 %85, 36
  %94 = icmp ugt i32 %90, -36
  br i1 %94, label %108, label %95

; <label>:95:                                     ; preds = %92
  %96 = ptrtoint i8* %89 to i32
  %97 = and i32 %96, 31
  %98 = icmp eq i32 %97, 0
  br i1 %98, label %99, label %108

; <label>:99:                                     ; preds = %95
  %100 = add i32 %96, -4
  %101 = inttoptr i32 %100 to i32*
  %102 = load i32, i32* %101, align 4, !tbaa !24
  %103 = icmp ult i32 %102, %96
  br i1 %103, label %104, label %108

; <label>:104:                                    ; preds = %99
  %105 = sub i32 %100, %102
  %106 = icmp ugt i32 %105, 31
  %107 = inttoptr i32 %102 to i8*
  br i1 %106, label %108, label %109

; <label>:108:                                    ; preds = %104, %99, %95, %92
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:109:                                    ; preds = %104, %87
  %110 = phi i8* [ %107, %104 ], [ %89, %87 ]
  %111 = phi i32 [ %93, %104 ], [ %90, %87 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %110, i32 %111) #14
  br label %112

; <label>:112:                                    ; preds = %109, %84
  store i32 0, i32* %36, align 4, !tbaa !83
  store i32 15, i32* %38, align 4, !tbaa !81
  store i8 0, i8* %18, align 4, !tbaa !12
  %113 = load i32, i32* %28, align 4, !tbaa !81
  %114 = icmp ugt i32 %113, 15
  br i1 %114, label %115, label %140

; <label>:115:                                    ; preds = %112
  %116 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %117 = load i8*, i8** %116, align 4, !tbaa !12
  %118 = add i32 %113, 1
  %119 = icmp ugt i32 %118, 4095
  br i1 %119, label %120, label %137

; <label>:120:                                    ; preds = %115
  %121 = add i32 %113, 36
  %122 = icmp ugt i32 %118, -36
  br i1 %122, label %136, label %123

; <label>:123:                                    ; preds = %120
  %124 = ptrtoint i8* %117 to i32
  %125 = and i32 %124, 31
  %126 = icmp eq i32 %125, 0
  br i1 %126, label %127, label %136

; <label>:127:                                    ; preds = %123
  %128 = add i32 %124, -4
  %129 = inttoptr i32 %128 to i32*
  %130 = load i32, i32* %129, align 4, !tbaa !24
  %131 = icmp ult i32 %130, %124
  br i1 %131, label %132, label %136

; <label>:132:                                    ; preds = %127
  %133 = sub i32 %128, %130
  %134 = icmp ugt i32 %133, 31
  %135 = inttoptr i32 %130 to i8*
  br i1 %134, label %136, label %137

; <label>:136:                                    ; preds = %132, %127, %123, %120
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:137:                                    ; preds = %132, %115
  %138 = phi i8* [ %135, %132 ], [ %117, %115 ]
  %139 = phi i32 [ %121, %132 ], [ %118, %115 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %138, i32 %139) #14
  br label %140

; <label>:140:                                    ; preds = %137, %112
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %19) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %18) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %17)
  br label %196

; <label>:141:                                    ; preds = %2
  tail call void @"\01?addNode@@YAXXZ"() #14
  %142 = tail call zeroext i1 @"\01?interpretFlat@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* nonnull dereferenceable(12) %0, i32 %1) #14
  br i1 %142, label %144, label %143

; <label>:143:                                    ; preds = %141
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %196

; <label>:144:                                    ; preds = %141
  %145 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %146 = getelementptr inbounds %struct.Node, %struct.Node* %145, i32 -1, i32 0
  tail call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* dereferenceable(12) %146) #14
  %147 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %148 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %149 = sub i32 %147, %148
  %150 = ashr exact i32 %149, 4
  %151 = add nsw i32 %150, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %151, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %152 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?callText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %153 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %146, %"struct.std::pair.23"* dereferenceable(48) %152) #14
  %154 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?preText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %155 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %146, %"struct.std::pair.23"* dereferenceable(48) %154) #14
  %156 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?dieText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %157 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %146, %"struct.std::pair.23"* dereferenceable(48) %156) #14
  %158 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %159 = bitcast i8* %158 to i32*
  store i32 1, i32* %159, align 8, !tbaa !558
  %160 = getelementptr inbounds i8, i8* %158, i32 4
  %161 = bitcast i8* %160 to i32*
  store i32 %153, i32* %161, align 4, !tbaa !563
  %162 = getelementptr inbounds i8, i8* %158, i32 8
  %163 = bitcast i8* %162 to i32*
  store i32 %155, i32* %163, align 8, !tbaa !564
  %164 = getelementptr inbounds i8, i8* %158, i32 12
  %165 = bitcast i8* %164 to i32*
  store i32 %157, i32* %165, align 4, !tbaa !565
  %166 = getelementptr inbounds i8, i8* %158, i32 16
  %167 = bitcast i8* %166 to %struct.Field**
  store %struct.Field* null, %struct.Field** %167, align 4, !tbaa !554
  %168 = getelementptr inbounds i8, i8* %158, i32 20
  %169 = bitcast i8* %168 to %struct.Field**
  store %struct.Field* null, %struct.Field** %169, align 4, !tbaa !556
  %170 = getelementptr inbounds i8, i8* %158, i32 24
  %171 = bitcast i8* %170 to %struct.Field**
  store %struct.Field* null, %struct.Field** %171, align 4, !tbaa !557
  %172 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %146, i32 0, i32 0, i32 0, i32 0, i32 0
  %173 = bitcast %"class.std::vector.17"* %146 to i32*
  %174 = load i32, i32* %173, align 4, !tbaa !23
  %175 = bitcast i8* %166 to i32*
  store i32 %174, i32* %175, align 4, !tbaa !23
  %176 = getelementptr inbounds %struct.Node, %struct.Node* %145, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %177 = bitcast %struct.Field** %176 to i32*
  %178 = load i32, i32* %177, align 4, !tbaa !23
  %179 = bitcast i8* %168 to i32*
  store i32 %178, i32* %179, align 4, !tbaa !23
  %180 = getelementptr inbounds %struct.Node, %struct.Node* %145, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 2
  %181 = bitcast %struct.Field** %180 to i32*
  %182 = load i32, i32* %181, align 4, !tbaa !23
  %183 = bitcast i8* %170 to i32*
  store i32 %182, i32* %183, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %172, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %176, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %180, align 4, !tbaa !23
  %184 = ptrtoint i8* %158 to i32
  %185 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %186 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %187 = sub i32 %185, %186
  %188 = ashr exact i32 %187, 4
  %189 = add nsw i32 %188, -1
  %190 = inttoptr i32 %186 to %class.variant.43*
  %191 = getelementptr inbounds %class.variant.43, %class.variant.43* %190, i32 %189
  %192 = bitcast %class.variant.43* %191 to i32*
  store i32 %184, i32* %192, align 8, !tbaa !23
  %193 = getelementptr inbounds %class.variant.43, %class.variant.43* %190, i32 %189, i32 1
  store i32 17, i32* %193, align 8, !tbaa !535
  %194 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %195 = add i32 %194, 1
  store i32 %195, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %196

; <label>:196:                                    ; preds = %144, %143, %140, %13
  %197 = phi i1 [ true, %144 ], [ false, %143 ], [ false, %140 ], [ false, %13 ]
  ret i1 %197
}

; Function Attrs: nounwind
define zeroext i1 @processObjectCodeBegin(i1 ()* nocapture) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca [21 x i8], align 1
  %5 = alloca [12 x i8], align 4
  %6 = alloca %"class.std::basic_string", align 4
  %7 = alloca %"class.std::basic_string", align 4
  %8 = load i32, i32* bitcast (%struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %9 = load i32, i32* bitcast (%"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %10 = sub i32 %8, %9
  %11 = icmp eq i32 %10, 196608
  br i1 %11, label %12, label %140

; <label>:12:                                     ; preds = %1
  %13 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %14 = icmp eq i32 %13, 0
  br i1 %14, label %15, label %195

; <label>:15:                                     ; preds = %12
  %16 = getelementptr inbounds [12 x i8], [12 x i8]* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 12, i8* nonnull %16)
  %17 = bitcast %"class.std::basic_string"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %17) #14
  %18 = bitcast %"class.std::basic_string"* %7 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %18) #14
  %19 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %19) #14, !noalias !1360
  %20 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 20
  store i8 52, i8* %20, align 1, !tbaa !12, !noalias !1360
  %21 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 19
  store i8 56, i8* %21, align 1, !tbaa !12, !noalias !1360
  %22 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 18
  store i8 51, i8* %22, align 1, !tbaa !12, !noalias !1360
  %23 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 17
  store i8 54, i8* %23, align 1, !tbaa !12, !noalias !1360
  %24 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 16
  store i8 49, i8* %24, align 1, !tbaa !12, !noalias !1360
  %25 = getelementptr inbounds [21 x i8], [21 x i8]* %4, i32 0, i32 16
  %26 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 1
  %27 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %27, align 4, !tbaa !81, !alias.scope !1360
  store i32 5, i32* %26, align 4, !tbaa !83, !alias.scope !1360
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %18, i8* %25, i32 5, i32 1, i1 false) #14
  %28 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1
  store i8 0, i8* %28, align 1, !tbaa !12, !alias.scope !1360
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %19) #14, !noalias !1360
  %29 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %29) #14, !noalias !1365
  %30 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %7, i32 33, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i32 0, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @"\01??_C@_0CC@PAFBEPGE@maximum?5recursion?5level?5reached?5@", i32 0, i32 0), i32 33) #14, !noalias !1365
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %29) #14, !noalias !1365
  %31 = bitcast %"class.std::basic_string"* %30 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %17, i8* nonnull %31, i32 24, i32 1, i1 false) #14
  %32 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %32, align 4, !tbaa !83, !noalias !1365
  %33 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %30, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %33, align 4, !tbaa !81, !noalias !1365
  store i8 0, i8* %31, align 1, !tbaa !12, !noalias !1365
  %34 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %34) #14, !noalias !1368
  %35 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 1
  %36 = load i32, i32* %35, align 4, !tbaa !83, !noalias !1368
  %37 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 2
  %38 = load i32, i32* %37, align 4, !tbaa !81, !noalias !1368
  %39 = icmp ult i32 %36, %38
  br i1 %39, label %40, label %48

; <label>:40:                                     ; preds = %15
  %41 = add i32 %36, 1
  store i32 %41, i32* %35, align 4, !tbaa !83, !noalias !1368
  %42 = icmp ugt i32 %38, 15
  %43 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %44 = load i8*, i8** %43, align 4, !noalias !1368
  %45 = select i1 %42, i8* %44, i8* %17
  %46 = getelementptr inbounds i8, i8* %45, i32 %36
  store i8 41, i8* %46, align 1, !tbaa !12, !noalias !1368
  %47 = getelementptr inbounds i8, i8* %45, i32 %41
  store i8 0, i8* %47, align 1, !tbaa !12, !noalias !1368
  br label %50

; <label>:48:                                     ; preds = %15
  %49 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %6, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8 signext 41) #14, !noalias !1368
  br label %50

; <label>:50:                                     ; preds = %48, %40
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %34) #14, !noalias !1368
  %51 = bitcast %"class.std::basic_string"* %6 to i32*
  %52 = load i32, i32* %51, align 4
  %53 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %16, i8* %53, i32 12, i32 4, i1 false)
  %54 = load i32, i32* %35, align 4
  %55 = load i32, i32* %37, align 4
  store i32 0, i32* %35, align 4, !tbaa !83, !noalias !1368
  store i32 15, i32* %37, align 4, !tbaa !81, !noalias !1368
  store i8 0, i8* %17, align 4, !tbaa !12, !noalias !1368
  %56 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %57 = icmp ugt i32 %56, 15
  br i1 %57, label %58, label %83

; <label>:58:                                     ; preds = %50
  %59 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !12
  %60 = add i32 %56, 1
  %61 = icmp ugt i32 %60, 4095
  br i1 %61, label %62, label %79

; <label>:62:                                     ; preds = %58
  %63 = add i32 %56, 36
  %64 = icmp ugt i32 %60, -36
  br i1 %64, label %78, label %65

; <label>:65:                                     ; preds = %62
  %66 = ptrtoint i8* %59 to i32
  %67 = and i32 %66, 31
  %68 = icmp eq i32 %67, 0
  br i1 %68, label %69, label %78

; <label>:69:                                     ; preds = %65
  %70 = add i32 %66, -4
  %71 = inttoptr i32 %70 to i32*
  %72 = load i32, i32* %71, align 4, !tbaa !24
  %73 = icmp ult i32 %72, %66
  br i1 %73, label %74, label %78

; <label>:74:                                     ; preds = %69
  %75 = sub i32 %70, %72
  %76 = icmp ugt i32 %75, 31
  %77 = inttoptr i32 %72 to i8*
  br i1 %76, label %78, label %79

; <label>:78:                                     ; preds = %74, %69, %65, %62
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:79:                                     ; preds = %74, %58
  %80 = phi i8* [ %77, %74 ], [ %59, %58 ]
  %81 = phi i32 [ %63, %74 ], [ %60, %58 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %80, i32 %81) #14
  %82 = load i32, i32* %37, align 4, !tbaa !81
  br label %83

; <label>:83:                                     ; preds = %79, %50
  %84 = phi i32 [ %82, %79 ], [ 15, %50 ]
  store i32 %52, i32* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i32*), align 4
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0), i8* nonnull %16, i32 12, i32 4, i1 false)
  store i32 %54, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4
  store i32 %55, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4
  %85 = icmp ugt i32 %84, 15
  br i1 %85, label %86, label %111

; <label>:86:                                     ; preds = %83
  %87 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %88 = load i8*, i8** %87, align 4, !tbaa !12
  %89 = add i32 %84, 1
  %90 = icmp ugt i32 %89, 4095
  br i1 %90, label %91, label %108

; <label>:91:                                     ; preds = %86
  %92 = add i32 %84, 36
  %93 = icmp ugt i32 %89, -36
  br i1 %93, label %107, label %94

; <label>:94:                                     ; preds = %91
  %95 = ptrtoint i8* %88 to i32
  %96 = and i32 %95, 31
  %97 = icmp eq i32 %96, 0
  br i1 %97, label %98, label %107

; <label>:98:                                     ; preds = %94
  %99 = add i32 %95, -4
  %100 = inttoptr i32 %99 to i32*
  %101 = load i32, i32* %100, align 4, !tbaa !24
  %102 = icmp ult i32 %101, %95
  br i1 %102, label %103, label %107

; <label>:103:                                    ; preds = %98
  %104 = sub i32 %99, %101
  %105 = icmp ugt i32 %104, 31
  %106 = inttoptr i32 %101 to i8*
  br i1 %105, label %107, label %108

; <label>:107:                                    ; preds = %103, %98, %94, %91
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:108:                                    ; preds = %103, %86
  %109 = phi i8* [ %106, %103 ], [ %88, %86 ]
  %110 = phi i32 [ %92, %103 ], [ %89, %86 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %109, i32 %110) #14
  br label %111

; <label>:111:                                    ; preds = %108, %83
  store i32 0, i32* %35, align 4, !tbaa !83
  store i32 15, i32* %37, align 4, !tbaa !81
  store i8 0, i8* %17, align 4, !tbaa !12
  %112 = load i32, i32* %27, align 4, !tbaa !81
  %113 = icmp ugt i32 %112, 15
  br i1 %113, label %114, label %139

; <label>:114:                                    ; preds = %111
  %115 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %116 = load i8*, i8** %115, align 4, !tbaa !12
  %117 = add i32 %112, 1
  %118 = icmp ugt i32 %117, 4095
  br i1 %118, label %119, label %136

; <label>:119:                                    ; preds = %114
  %120 = add i32 %112, 36
  %121 = icmp ugt i32 %117, -36
  br i1 %121, label %135, label %122

; <label>:122:                                    ; preds = %119
  %123 = ptrtoint i8* %116 to i32
  %124 = and i32 %123, 31
  %125 = icmp eq i32 %124, 0
  br i1 %125, label %126, label %135

; <label>:126:                                    ; preds = %122
  %127 = add i32 %123, -4
  %128 = inttoptr i32 %127 to i32*
  %129 = load i32, i32* %128, align 4, !tbaa !24
  %130 = icmp ult i32 %129, %123
  br i1 %130, label %131, label %135

; <label>:131:                                    ; preds = %126
  %132 = sub i32 %127, %129
  %133 = icmp ugt i32 %132, 31
  %134 = inttoptr i32 %129 to i8*
  br i1 %133, label %135, label %136

; <label>:135:                                    ; preds = %131, %126, %122, %119
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:136:                                    ; preds = %131, %114
  %137 = phi i8* [ %134, %131 ], [ %116, %114 ]
  %138 = phi i32 [ %120, %131 ], [ %117, %114 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %137, i32 %138) #14
  br label %139

; <label>:139:                                    ; preds = %136, %111
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %18) #14
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %17) #14
  call void @llvm.lifetime.end.p0i8(i64 12, i8* nonnull %16)
  br label %195

; <label>:140:                                    ; preds = %1
  tail call void @"\01?addNode@@YAXXZ"() #14
  %141 = tail call zeroext i1 %0() #14
  br i1 %141, label %143, label %142

; <label>:142:                                    ; preds = %140
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %195

; <label>:143:                                    ; preds = %140
  %144 = load %struct.Node*, %struct.Node** getelementptr inbounds (%"class.std::vector.117", %"class.std::vector.117"* @"\01?nodes@@3V?$vector@UNode@@V?$allocator@UNode@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !23
  %145 = getelementptr inbounds %struct.Node, %struct.Node* %144, i32 -1, i32 0
  tail call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* dereferenceable(12) %145) #14
  %146 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %147 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %148 = sub i32 %146, %147
  %149 = ashr exact i32 %148, 4
  %150 = add nsw i32 %149, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %150, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %151 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?callText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %152 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %145, %"struct.std::pair.23"* dereferenceable(48) %151) #14
  %153 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?preText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %154 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %145, %"struct.std::pair.23"* dereferenceable(48) %153) #14
  %155 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?dieText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  %156 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %145, %"struct.std::pair.23"* dereferenceable(48) %155) #14
  %157 = tail call i8* @"\01??2@YAPAXI@Z"(i32 28) #21
  %158 = bitcast i8* %157 to i32*
  store i32 1, i32* %158, align 8, !tbaa !558
  %159 = getelementptr inbounds i8, i8* %157, i32 4
  %160 = bitcast i8* %159 to i32*
  store i32 %152, i32* %160, align 4, !tbaa !563
  %161 = getelementptr inbounds i8, i8* %157, i32 8
  %162 = bitcast i8* %161 to i32*
  store i32 %154, i32* %162, align 8, !tbaa !564
  %163 = getelementptr inbounds i8, i8* %157, i32 12
  %164 = bitcast i8* %163 to i32*
  store i32 %156, i32* %164, align 4, !tbaa !565
  %165 = getelementptr inbounds i8, i8* %157, i32 16
  %166 = bitcast i8* %165 to %struct.Field**
  store %struct.Field* null, %struct.Field** %166, align 4, !tbaa !554
  %167 = getelementptr inbounds i8, i8* %157, i32 20
  %168 = bitcast i8* %167 to %struct.Field**
  store %struct.Field* null, %struct.Field** %168, align 4, !tbaa !556
  %169 = getelementptr inbounds i8, i8* %157, i32 24
  %170 = bitcast i8* %169 to %struct.Field**
  store %struct.Field* null, %struct.Field** %170, align 4, !tbaa !557
  %171 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %145, i32 0, i32 0, i32 0, i32 0, i32 0
  %172 = bitcast %"class.std::vector.17"* %145 to i32*
  %173 = load i32, i32* %172, align 4, !tbaa !23
  %174 = bitcast i8* %165 to i32*
  store i32 %173, i32* %174, align 4, !tbaa !23
  %175 = getelementptr inbounds %struct.Node, %struct.Node* %144, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 1
  %176 = bitcast %struct.Field** %175 to i32*
  %177 = load i32, i32* %176, align 4, !tbaa !23
  %178 = bitcast i8* %167 to i32*
  store i32 %177, i32* %178, align 4, !tbaa !23
  %179 = getelementptr inbounds %struct.Node, %struct.Node* %144, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 2
  %180 = bitcast %struct.Field** %179 to i32*
  %181 = load i32, i32* %180, align 4, !tbaa !23
  %182 = bitcast i8* %169 to i32*
  store i32 %181, i32* %182, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %171, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %175, align 4, !tbaa !23
  store %struct.Field* null, %struct.Field** %179, align 4, !tbaa !23
  %183 = ptrtoint i8* %157 to i32
  %184 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %185 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %186 = sub i32 %184, %185
  %187 = ashr exact i32 %186, 4
  %188 = add nsw i32 %187, -1
  %189 = inttoptr i32 %185 to %class.variant.43*
  %190 = getelementptr inbounds %class.variant.43, %class.variant.43* %189, i32 %188
  %191 = bitcast %class.variant.43* %190 to i32*
  store i32 %183, i32* %191, align 8, !tbaa !23
  %192 = getelementptr inbounds %class.variant.43, %class.variant.43* %189, i32 %188, i32 1
  store i32 17, i32* %192, align 8, !tbaa !535
  %193 = load i32, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  %194 = add i32 %193, 1
  store i32 %194, i32* @"\01?createdCombineds@@3IA", align 4, !tbaa !24
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %195

; <label>:195:                                    ; preds = %143, %142, %139, %12
  %196 = phi i1 [ true, %143 ], [ false, %142 ], [ false, %139 ], [ false, %12 ]
  ret i1 %196
}

; Function Attrs: nounwind
define void @processCode(%struct.SourceCode* nocapture readonly dereferenceable(8)) local_unnamed_addr #2 {
  %2 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %3 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %4 = sub i32 %2, %3
  %5 = ashr exact i32 %4, 4
  %6 = add nsw i32 %5, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %6, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = add nsw i32 %10, -1
  %12 = inttoptr i32 %8 to %class.variant.43*
  %13 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11
  %14 = bitcast %struct.SourceCode* %0 to i64*
  %15 = bitcast %class.variant.43* %13 to i64*
  %16 = load i64, i64* %14, align 4
  store i64 %16, i64* %15, align 4
  %17 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %11, i32 1
  store i32 15, i32* %17, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define void @processMachineCode(i1 ()*) local_unnamed_addr #2 {
  %2 = ptrtoint i1 ()* %0 to i32
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = add nsw i32 %6, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %7, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %8 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %9 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %10 = sub i32 %8, %9
  %11 = ashr exact i32 %10, 4
  %12 = add nsw i32 %11, -1
  %13 = inttoptr i32 %9 to %class.variant.43*
  %14 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %12
  %15 = bitcast %class.variant.43* %14 to i32*
  store i32 %2, i32* %15, align 8, !tbaa !23
  %16 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %12, i32 1
  store i32 16, i32* %16, align 8, !tbaa !535
  ret void
}

; Function Attrs: nounwind
define zeroext i1 @processLabel(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %4 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %5 = sub i32 %3, %4
  %6 = ashr exact i32 %5, 4
  %7 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %8 = icmp eq i32 %6, %7
  %9 = inttoptr i32 %4 to %class.variant.43*
  br i1 %8, label %12, label %10

; <label>:10:                                     ; preds = %1
  %11 = add nsw i32 %6, -1
  br label %31

; <label>:12:                                     ; preds = %1
  %13 = icmp eq i32 %6, 0
  br i1 %13, label %14, label %29

; <label>:14:                                     ; preds = %12
  %15 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %16 = icmp eq i32 %15, 0
  br i1 %16, label %17, label %42

; <label>:17:                                     ; preds = %14
  %18 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %18) #14
  %19 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %20 = icmp ult i32 %19, 15
  br i1 %20, label %26, label %21

; <label>:21:                                     ; preds = %17
  %22 = icmp eq i32 %19, 15
  %23 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %24 = select i1 %22, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %23
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %24, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %25 = getelementptr inbounds i8, i8* %24, i32 15
  store i8 0, i8* %25, align 1, !tbaa !12
  br label %28

; <label>:26:                                     ; preds = %17
  %27 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %28

; <label>:28:                                     ; preds = %26, %21
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %18) #14
  br label %42

; <label>:29:                                     ; preds = %12
  %30 = add nsw i32 %6, -1
  store i32 %30, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %31

; <label>:31:                                     ; preds = %29, %10
  %32 = phi i32 [ %11, %10 ], [ %30, %29 ]
  %33 = getelementptr inbounds %class.variant.43, %class.variant.43* %9, i32 %32
  %34 = tail call dereferenceable(16) %class.variant.43* @"\01?addLocal@@YAAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %35 = bitcast %class.variant.43* %34 to i8*
  %36 = bitcast %class.variant.43* %33 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %35, i8* %36, i32 16, i32 8, i1 false), !tbaa.struct !567
  %37 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %38 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %39 = sub i32 %37, %38
  %40 = ashr exact i32 %39, 4
  %41 = add nsw i32 %40, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %41, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %42

; <label>:42:                                     ; preds = %31, %28, %14
  %43 = phi i1 [ true, %31 ], [ false, %28 ], [ false, %14 ]
  ret i1 %43
}

; Function Attrs: nounwind
define zeroext i1 @processName(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2
  %4 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 1
  %5 = bitcast %class.variant.43*** %4 to i32*
  %6 = load i32, i32* %5, align 4, !tbaa !23
  %7 = bitcast %"class.std::vector.11"* %3 to i32*
  %8 = load i32, i32* %7, align 4, !tbaa !23
  %9 = sub i32 %6, %8
  %10 = ashr exact i32 %9, 2
  %11 = icmp eq i32 %10, 0
  br i1 %11, label %215, label %12

; <label>:12:                                     ; preds = %1
  %13 = inttoptr i32 %8 to %class.variant.43**
  %14 = getelementptr inbounds %"class.std::vector.11", %"class.std::vector.11"* %3, i32 0, i32 0, i32 0, i32 0, i32 0
  %15 = add nsw i32 %10, -1
  %16 = getelementptr inbounds %class.variant.43*, %class.variant.43** %13, i32 %15
  %17 = load %class.variant.43*, %class.variant.43** %16, align 4, !tbaa !23
  %18 = getelementptr inbounds %class.variant.43, %class.variant.43* %17, i32 0, i32 1
  %19 = load i32, i32* %18, align 8, !tbaa !535
  %20 = icmp eq i32 %19, 17
  br i1 %20, label %21, label %190

; <label>:21:                                     ; preds = %12
  br label %22

; <label>:22:                                     ; preds = %207, %21
  %23 = phi %class.variant.43* [ %211, %207 ], [ %17, %21 ]
  %24 = phi i32 [ %209, %207 ], [ %15, %21 ]
  %25 = bitcast %class.variant.43* %23 to %struct.Combined**
  %26 = load %struct.Combined*, %struct.Combined** %25, align 4, !tbaa !23
  %27 = getelementptr inbounds %struct.Combined, %struct.Combined* %26, i32 0, i32 1
  %28 = load i32, i32* %27, align 4, !tbaa !563
  %29 = getelementptr inbounds %struct.Combined, %struct.Combined* %26, i32 0, i32 4
  %30 = getelementptr inbounds %struct.Combined, %struct.Combined* %26, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %31 = bitcast %struct.Field** %30 to i32*
  %32 = load i32, i32* %31, align 4, !tbaa !23
  %33 = bitcast %"class.std::vector.17"* %29 to i32*
  %34 = load i32, i32* %33, align 4, !tbaa !23
  %35 = sub i32 %32, %34
  %36 = sdiv exact i32 %35, 24
  %37 = icmp eq i32 %28, %36
  br i1 %37, label %190, label %38

; <label>:38:                                     ; preds = %22
  %39 = inttoptr i32 %34 to %struct.Field*
  %40 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %29, i32 0, i32 0, i32 0, i32 0, i32 0
  %41 = getelementptr inbounds %struct.Field, %struct.Field* %39, i32 %28, i32 1, i32 1
  %42 = load i32, i32* %41, align 8, !tbaa !535
  %43 = add i32 %42, -15
  %44 = icmp ult i32 %43, 2
  br i1 %44, label %45, label %190

; <label>:45:                                     ; preds = %38
  tail call void @"\01?registerNames@@YAXAAV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %29) #14
  %46 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  tail call void @"\01?registerName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@AAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %46, %class.variant.43* nonnull dereferenceable(16) %23) #14
  %47 = getelementptr inbounds %struct.Combined, %struct.Combined* %26, i32 0, i32 2
  %48 = load i32, i32* %47, align 4, !tbaa !564
  %49 = load i32, i32* %31, align 4, !tbaa !23
  %50 = load i32, i32* %33, align 4, !tbaa !23
  %51 = sub i32 %49, %50
  %52 = sdiv exact i32 %51, 24
  %53 = icmp eq i32 %48, %52
  %54 = inttoptr i32 %50 to %struct.Field*
  br i1 %53, label %166, label %55

; <label>:55:                                     ; preds = %45
  %56 = getelementptr inbounds %struct.Field, %struct.Field* %54, i32 %48, i32 1, i32 1
  %57 = load i32, i32* %56, align 8, !tbaa !535
  %58 = add i32 %57, -15
  %59 = icmp ult i32 %58, 2
  br i1 %59, label %60, label %166

; <label>:60:                                     ; preds = %55
  %61 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %62 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %63 = sub i32 %61, %62
  %64 = ashr exact i32 %63, 4
  %65 = tail call dereferenceable(12) %"class.std::vector.37"* @"\01?acquireStack@@YAAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@I@Z"(i32 %64) #14
  %66 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %67 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %68 = icmp eq i32 %66, %67
  br i1 %68, label %71, label %69

; <label>:69:                                     ; preds = %60
  %70 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %65, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %80

; <label>:71:                                     ; preds = %80, %60
  %72 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %73 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %74 = add i32 %73, 1
  store i32 %74, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %75 = load i32, i32* %47, align 4, !tbaa !564
  %76 = load %struct.Field*, %struct.Field** %40, align 4, !tbaa !23
  %77 = getelementptr inbounds %struct.Field, %struct.Field* %76, i32 %75, i32 1, i32 1
  %78 = load i32, i32* %77, align 8, !tbaa !535
  %79 = icmp eq i32 %78, 16
  br i1 %79, label %93, label %102

; <label>:80:                                     ; preds = %80, %69
  %81 = phi i32 [ %67, %69 ], [ %89, %80 ]
  %82 = phi i32 [ 0, %69 ], [ %87, %80 ]
  %83 = inttoptr i32 %81 to %class.variant.43*
  %84 = load %class.variant.43*, %class.variant.43** %70, align 4, !tbaa !23
  %85 = getelementptr inbounds %class.variant.43, %class.variant.43* %84, i32 %82
  %86 = getelementptr inbounds %class.variant.43, %class.variant.43* %83, i32 %82
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* nonnull dereferenceable(16) %86, %class.variant.43* nonnull dereferenceable(16) %85) #14
  %87 = add i32 %82, 1
  %88 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %89 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %90 = sub i32 %88, %89
  %91 = ashr exact i32 %90, 4
  %92 = icmp ult i32 %87, %91
  br i1 %92, label %80, label %71

; <label>:93:                                     ; preds = %71
  tail call void @"\01?addNode@@YAXXZ"() #14
  %94 = load i32, i32* %47, align 4, !tbaa !564
  %95 = load %struct.Field*, %struct.Field** %40, align 4, !tbaa !23
  %96 = getelementptr inbounds %struct.Field, %struct.Field* %95, i32 %94, i32 1
  %97 = bitcast %class.variant.43* %96 to i1 ()**
  %98 = load i1 ()*, i1 ()** %97, align 4, !tbaa !23
  %99 = tail call zeroext i1 %98() #14
  tail call void @"\01?removeNode@@YAXXZ"() #14
  %100 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %101 = add i32 %100, -1
  store i32 %101, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  br i1 %99, label %112, label %130

; <label>:102:                                    ; preds = %71
  %103 = getelementptr inbounds %struct.Field, %struct.Field* %76, i32 %75, i32 1
  %104 = bitcast %class.variant.43* %103 to %struct.SourceCode*
  %105 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %104, i32 0, i32 1
  %106 = load i32, i32* %105, align 4, !tbaa !570
  %107 = bitcast %class.variant.43* %103 to %"class.std::vector.4"**
  %108 = load %"class.std::vector.4"*, %"class.std::vector.4"** %107, align 4, !tbaa !572
  %109 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %108, i32 %106) #14
  %110 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %111 = add i32 %110, -1
  store i32 %111, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  br i1 %109, label %112, label %130

; <label>:112:                                    ; preds = %102, %93
  %113 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %114 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %115 = sub i32 %113, %114
  %116 = ashr exact i32 %115, 4
  %117 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %118 = icmp eq i32 %116, %117
  %119 = inttoptr i32 %114 to %class.variant.43*
  br i1 %118, label %130, label %120

; <label>:120:                                    ; preds = %112
  %121 = add nsw i32 %116, -1
  %122 = getelementptr inbounds %class.variant.43, %class.variant.43* %119, i32 %121, i32 1
  %123 = load i32, i32* %122, align 8, !tbaa !535
  %124 = icmp eq i32 %123, 0
  br i1 %124, label %125, label %130

; <label>:125:                                    ; preds = %120
  %126 = getelementptr inbounds %class.variant.43, %class.variant.43* %119, i32 %121
  %127 = bitcast %class.variant.43* %126 to i8*
  %128 = load i8, i8* %127, align 1, !tbaa !566, !range !382
  %129 = icmp eq i8 %128, 0
  br label %130

; <label>:130:                                    ; preds = %125, %120, %112, %102, %93
  %131 = phi i1 [ true, %120 ], [ true, %112 ], [ true, %102 ], [ %129, %125 ], [ true, %93 ]
  %132 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %133 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %134 = sub i32 %132, %133
  %135 = ashr exact i32 %134, 4
  %136 = icmp eq i32 %135, 0
  br i1 %136, label %143, label %137

; <label>:137:                                    ; preds = %130
  %138 = inttoptr i32 %133 to %class.variant.43*
  %139 = add nsw i32 %135, -1
  %140 = getelementptr inbounds %class.variant.43, %class.variant.43* %138, i32 %139
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %140) #14
  %141 = icmp eq i32 %139, 0
  br i1 %141, label %143, label %142

; <label>:142:                                    ; preds = %137
  br label %160

; <label>:143:                                    ; preds = %160, %137, %130
  %144 = icmp eq %"class.std::vector.37"* %65, @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A"
  br i1 %144, label %157, label %145

; <label>:145:                                    ; preds = %143
  %146 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %147 = bitcast %"class.std::vector.37"* %65 to i32*
  %148 = load i32, i32* %147, align 4, !tbaa !23
  store i32 %148, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  store i32 %146, i32* %147, align 4, !tbaa !23
  %149 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %65, i32 0, i32 0, i32 0, i32 0, i32 1
  %150 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %151 = bitcast %class.variant.43** %149 to i32*
  %152 = load i32, i32* %151, align 4, !tbaa !23
  store i32 %152, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  store i32 %150, i32* %151, align 4, !tbaa !23
  %153 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %65, i32 0, i32 0, i32 0, i32 0, i32 2
  %154 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %155 = bitcast %class.variant.43** %153 to i32*
  %156 = load i32, i32* %155, align 4, !tbaa !23
  store i32 %156, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  store i32 %154, i32* %155, align 4, !tbaa !23
  br label %157

; <label>:157:                                    ; preds = %145, %143
  tail call void @"\01?releaseStack@@YAXAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@Z"(%"class.std::vector.37"* nonnull dereferenceable(12) %65) #14
  store i32 %72, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br i1 %131, label %204, label %158

; <label>:158:                                    ; preds = %157
  %159 = load %struct.Field*, %struct.Field** %40, align 4, !tbaa !23
  br label %166

; <label>:160:                                    ; preds = %160, %142
  %161 = phi i32 [ %163, %160 ], [ %139, %142 ]
  %162 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %163 = add i32 %161, -1
  %164 = getelementptr inbounds %class.variant.43, %class.variant.43* %162, i32 %163
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %164) #14
  %165 = icmp eq i32 %163, 0
  br i1 %165, label %143, label %160

; <label>:166:                                    ; preds = %158, %55, %45
  %167 = phi %struct.Field* [ %159, %158 ], [ %54, %45 ], [ %54, %55 ]
  %168 = load i32, i32* %27, align 4, !tbaa !563
  %169 = getelementptr inbounds %struct.Field, %struct.Field* %167, i32 %168, i32 1, i32 1
  %170 = load i32, i32* %169, align 8, !tbaa !535
  %171 = icmp eq i32 %170, 16
  br i1 %171, label %172, label %179

; <label>:172:                                    ; preds = %166
  tail call void @"\01?addNode@@YAXXZ"() #14
  %173 = load i32, i32* %27, align 4, !tbaa !563
  %174 = load %struct.Field*, %struct.Field** %40, align 4, !tbaa !23
  %175 = getelementptr inbounds %struct.Field, %struct.Field* %174, i32 %173, i32 1
  %176 = bitcast %class.variant.43* %175 to i1 ()**
  %177 = load i1 ()*, i1 ()** %176, align 4, !tbaa !23
  %178 = tail call zeroext i1 %177() #14
  tail call void @"\01?removeNode@@YAXXZ"() #14
  br label %187

; <label>:179:                                    ; preds = %166
  %180 = getelementptr inbounds %struct.Field, %struct.Field* %167, i32 %168, i32 1
  %181 = bitcast %class.variant.43* %180 to %struct.SourceCode*
  %182 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %181, i32 0, i32 1
  %183 = load i32, i32* %182, align 4, !tbaa !570
  %184 = bitcast %class.variant.43* %180 to %"class.std::vector.4"**
  %185 = load %"class.std::vector.4"*, %"class.std::vector.4"** %184, align 4, !tbaa !572
  %186 = tail call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %185, i32 %183) #14
  br label %187

; <label>:187:                                    ; preds = %179, %172
  %188 = phi i1 [ %178, %172 ], [ %186, %179 ]
  %189 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  tail call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %189) #14
  tail call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %29) #14
  br label %290

; <label>:190:                                    ; preds = %207, %38, %22, %12
  %191 = phi %class.variant.43* [ %17, %12 ], [ %211, %207 ], [ %23, %22 ], [ %23, %38 ]
  %192 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %193 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %194 = sub i32 %192, %193
  %195 = ashr exact i32 %194, 4
  %196 = add nsw i32 %195, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %196, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %197 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %198 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %199 = sub i32 %197, %198
  %200 = ashr exact i32 %199, 4
  %201 = add nsw i32 %200, -1
  %202 = inttoptr i32 %198 to %class.variant.43*
  %203 = getelementptr inbounds %class.variant.43, %class.variant.43* %202, i32 %201
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* nonnull dereferenceable(16) %191, %class.variant.43* nonnull dereferenceable(16) %203) #14
  br label %290

; <label>:204:                                    ; preds = %157
  %205 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  tail call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %205) #14
  tail call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %29) #14
  %206 = icmp eq i32 %24, 0
  br i1 %206, label %215, label %207

; <label>:207:                                    ; preds = %204
  %208 = load %class.variant.43**, %class.variant.43*** %14, align 4, !tbaa !23
  %209 = add i32 %24, -1
  %210 = getelementptr inbounds %class.variant.43*, %class.variant.43** %208, i32 %209
  %211 = load %class.variant.43*, %class.variant.43** %210, align 4, !tbaa !23
  %212 = getelementptr inbounds %class.variant.43, %class.variant.43* %211, i32 0, i32 1
  %213 = load i32, i32* %212, align 8, !tbaa !535
  %214 = icmp eq i32 %213, 17
  br i1 %214, label %22, label %190

; <label>:215:                                    ; preds = %204, %1
  %216 = ptrtoint %"struct.std::pair.23"* %0 to i32
  %217 = and i32 %216, 255
  %218 = xor i32 %217, -2128831035
  %219 = mul i32 %218, 16777619
  %220 = lshr i32 %216, 8
  %221 = and i32 %220, 255
  %222 = xor i32 %219, %221
  %223 = mul i32 %222, 16777619
  %224 = lshr i32 %216, 16
  %225 = and i32 %224, 255
  %226 = xor i32 %223, %225
  %227 = mul i32 %226, 16777619
  %228 = lshr i32 %216, 24
  %229 = xor i32 %227, %228
  %230 = mul i32 %229, 16777619
  %231 = load i32, i32* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 3), align 4, !tbaa !574, !noalias !1371
  %232 = and i32 %231, %230
  %233 = shl i32 %232, 1
  %234 = load %"class.std::_List_const_iterator.40"*, %"class.std::_List_const_iterator.40"** getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23, !noalias !1376
  %235 = load i32, i32* bitcast (%"class.std::list.27"* getelementptr inbounds (%"class.std::unordered_map", %"class.std::unordered_map"* @"\01?dynamicImports@@3V?$unordered_map@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@A", i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23, !noalias !1379
  %236 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %234, i32 %233, i32 0, i32 0
  %237 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %236, align 4, !tbaa !592, !noalias !1386
  %238 = inttoptr i32 %235 to %"struct.std::_List_node.32"*
  %239 = icmp eq %"struct.std::_List_node.32"* %237, %238
  br i1 %239, label %262, label %240

; <label>:240:                                    ; preds = %215
  %241 = or i32 %233, 1
  %242 = getelementptr inbounds %"class.std::_List_const_iterator.40", %"class.std::_List_const_iterator.40"* %234, i32 %241
  %243 = bitcast %"class.std::_List_const_iterator.40"* %242 to %"struct.std::_List_node.32"***
  %244 = load %"struct.std::_List_node.32"**, %"struct.std::_List_node.32"*** %243, align 4, !noalias !1386
  %245 = load %"struct.std::_List_node.32"*, %"struct.std::_List_node.32"** %244, align 4, !tbaa !595, !noalias !1386
  %246 = icmp eq %"struct.std::_List_node.32"* %245, %237
  br i1 %246, label %262, label %247

; <label>:247:                                    ; preds = %240
  %248 = ptrtoint %"struct.std::_List_node.32"* %237 to i32
  br label %249

; <label>:249:                                    ; preds = %255, %247
  %250 = phi %"struct.std::_List_node.32"* [ %258, %255 ], [ %237, %247 ]
  %251 = phi i32 [ %257, %255 ], [ %248, %247 ]
  %252 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %250, i32 0, i32 2, i32 0
  %253 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %252, align 4, !tbaa !23, !noalias !1371
  %254 = icmp eq %"struct.std::pair.23"* %253, %0
  br i1 %254, label %260, label %255

; <label>:255:                                    ; preds = %249
  %256 = inttoptr i32 %251 to i32*
  %257 = load i32, i32* %256, align 4, !noalias !1371
  %258 = inttoptr i32 %257 to %"struct.std::_List_node.32"*
  %259 = icmp eq %"struct.std::_List_node.32"* %245, %258
  br i1 %259, label %262, label %249

; <label>:260:                                    ; preds = %249
  %261 = ptrtoint %"struct.std::_List_node.32"* %250 to i32
  br label %262

; <label>:262:                                    ; preds = %260, %255, %240, %215
  %263 = phi i32 [ %261, %260 ], [ %235, %240 ], [ %235, %215 ], [ %235, %255 ]
  %264 = inttoptr i32 %263 to %"struct.std::_List_node.32"*
  %265 = icmp eq %"struct.std::_List_node.32"* %264, %238
  br i1 %265, label %269, label %266

; <label>:266:                                    ; preds = %262
  %267 = getelementptr inbounds %"struct.std::_List_node.32", %"struct.std::_List_node.32"* %264, i32 0, i32 2, i32 1
  %268 = tail call zeroext i1 @"\01?callImportedFunction@@YA_NAAUImportedFunction@@@Z"(%struct.ImportedFunction* dereferenceable(28) %267) #14
  br label %290

; <label>:269:                                    ; preds = %262
  %270 = getelementptr inbounds %"struct.std::pair.23", %"struct.std::pair.23"* %0, i32 0, i32 1, i32 3
  %271 = load i1 ()*, i1 ()** %270, align 4, !tbaa !774
  %272 = icmp eq i1 ()* %271, null
  br i1 %272, label %275, label %273

; <label>:273:                                    ; preds = %269
  %274 = tail call zeroext i1 %271() #14
  br label %290

; <label>:275:                                    ; preds = %269
  %276 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %277 = icmp eq i32 %276, 0
  br i1 %277, label %278, label %290

; <label>:278:                                    ; preds = %275
  %279 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %279) #14
  %280 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %281 = icmp ult i32 %280, 12
  br i1 %281, label %287, label %282

; <label>:282:                                    ; preds = %278
  %283 = icmp ugt i32 %280, 15
  %284 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %285 = select i1 %283, i8* %284, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %285, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %286 = getelementptr inbounds i8, i8* %285, i32 12
  store i8 0, i8* %286, align 1, !tbaa !12
  br label %289

; <label>:287:                                    ; preds = %278
  %288 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0)) #14
  br label %289

; <label>:289:                                    ; preds = %287, %282
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %279) #14
  br label %290

; <label>:290:                                    ; preds = %289, %275, %273, %266, %190, %187
  %291 = phi i1 [ %188, %187 ], [ true, %190 ], [ %268, %266 ], [ %274, %273 ], [ false, %289 ], [ false, %275 ]
  ret i1 %291
}

; Function Attrs: nounwind
define zeroext i1 @processNameRead(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = tail call %class.variant.43* @"\01?findName@@YAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %4 = icmp eq %class.variant.43* %3, null
  br i1 %4, label %5, label %20

; <label>:5:                                      ; preds = %1
  %6 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %7 = icmp eq i32 %6, 0
  br i1 %7, label %8, label %33

; <label>:8:                                      ; preds = %5
  %9 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %9) #14
  %10 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %11 = icmp ult i32 %10, 12
  br i1 %11, label %17, label %12

; <label>:12:                                     ; preds = %8
  %13 = icmp ugt i32 %10, 15
  %14 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %15 = select i1 %13, i8* %14, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %16 = getelementptr inbounds i8, i8* %15, i32 12
  store i8 0, i8* %16, align 1, !tbaa !12
  br label %19

; <label>:17:                                     ; preds = %8
  %18 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0)) #14
  br label %19

; <label>:19:                                     ; preds = %17, %12
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %9) #14
  br label %33

; <label>:20:                                     ; preds = %1
  %21 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %22 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %23 = sub i32 %21, %22
  %24 = ashr exact i32 %23, 4
  %25 = add nsw i32 %24, 1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %25, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %26 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %27 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %28 = sub i32 %26, %27
  %29 = ashr exact i32 %28, 4
  %30 = add nsw i32 %29, -1
  %31 = inttoptr i32 %27 to %class.variant.43*
  %32 = getelementptr inbounds %class.variant.43, %class.variant.43* %31, i32 %30
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* nonnull dereferenceable(16) %3, %class.variant.43* nonnull dereferenceable(16) %32) #14
  br label %33

; <label>:33:                                     ; preds = %20, %19, %5
  %34 = phi i1 [ true, %20 ], [ false, %19 ], [ false, %5 ]
  ret i1 %34
}

; Function Attrs: nounwind
define zeroext i1 @processNameWrite(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %5 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %6 = sub i32 %4, %5
  %7 = ashr exact i32 %6, 4
  %8 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %9 = icmp eq i32 %7, %8
  br i1 %9, label %10, label %29

; <label>:10:                                     ; preds = %1
  %11 = icmp eq i32 %7, 0
  br i1 %11, label %12, label %27

; <label>:12:                                     ; preds = %10
  %13 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %14 = icmp eq i32 %13, 0
  br i1 %14, label %15, label %62

; <label>:15:                                     ; preds = %12
  %16 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %16) #14
  %17 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %18 = icmp ult i32 %17, 15
  br i1 %18, label %24, label %19

; <label>:19:                                     ; preds = %15
  %20 = icmp eq i32 %17, 15
  %21 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %22 = select i1 %20, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %21
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %23 = getelementptr inbounds i8, i8* %22, i32 15
  store i8 0, i8* %23, align 1, !tbaa !12
  br label %26

; <label>:24:                                     ; preds = %15
  %25 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %26

; <label>:26:                                     ; preds = %24, %19
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %16) #14
  br label %62

; <label>:27:                                     ; preds = %10
  %28 = add nsw i32 %7, -1
  store i32 %28, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %29

; <label>:29:                                     ; preds = %27, %1
  %30 = tail call %class.variant.43* @"\01?findName@@YAPAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %31 = icmp eq %class.variant.43* %30, null
  br i1 %31, label %32, label %47

; <label>:32:                                     ; preds = %29
  %33 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %35, label %62

; <label>:35:                                     ; preds = %32
  %36 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %36) #14
  %37 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %38 = icmp ult i32 %37, 12
  br i1 %38, label %44, label %39

; <label>:39:                                     ; preds = %35
  %40 = icmp ugt i32 %37, 15
  %41 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %42 = select i1 %40, i8* %41, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 12, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %42, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0), i32 12, i32 1, i1 false) #14
  %43 = getelementptr inbounds i8, i8* %42, i32 12
  store i8 0, i8* %43, align 1, !tbaa !12
  br label %46

; <label>:44:                                     ; preds = %35
  %45 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 12, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @"\01??_C@_0N@COJPJGOK@unknown?5name?$AA@", i32 0, i32 0)) #14
  br label %46

; <label>:46:                                     ; preds = %44, %39
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %36) #14
  br label %62

; <label>:47:                                     ; preds = %29
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %30) #14
  %48 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %49 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %50 = sub i32 %48, %49
  %51 = ashr exact i32 %50, 4
  %52 = add nsw i32 %51, -1
  %53 = inttoptr i32 %49 to %class.variant.43*
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %53, i32 %52
  %55 = bitcast %class.variant.43* %30 to i8*
  %56 = bitcast %class.variant.43* %54 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %55, i8* %56, i32 16, i32 8, i1 false), !tbaa.struct !567
  %57 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %58 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %59 = sub i32 %57, %58
  %60 = ashr exact i32 %59, 4
  %61 = add nsw i32 %60, -1
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %61, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  br label %62

; <label>:62:                                     ; preds = %47, %46, %32, %26, %12
  %63 = phi i1 [ false, %26 ], [ false, %12 ], [ true, %47 ], [ false, %46 ], [ false, %32 ]
  ret i1 %63
}

; Function Attrs: nounwind
define zeroext i1 @processNameMember(%"struct.std::pair.23"* readnone dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %class.variant.43, align 8
  %7 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %8 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %9 = sub i32 %7, %8
  %10 = ashr exact i32 %9, 4
  %11 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %12 = icmp eq i32 %10, %11
  %13 = inttoptr i32 %8 to %class.variant.43*
  br i1 %12, label %16, label %14

; <label>:14:                                     ; preds = %1
  %15 = add nsw i32 %10, -1
  br label %35

; <label>:16:                                     ; preds = %1
  %17 = icmp eq i32 %10, 0
  br i1 %17, label %18, label %33

; <label>:18:                                     ; preds = %16
  %19 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %20 = icmp eq i32 %19, 0
  br i1 %20, label %21, label %377

; <label>:21:                                     ; preds = %18
  %22 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %22) #14
  %23 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %24 = icmp ult i32 %23, 15
  br i1 %24, label %30, label %25

; <label>:25:                                     ; preds = %21
  %26 = icmp eq i32 %23, 15
  %27 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %28 = select i1 %26, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %27
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %29 = getelementptr inbounds i8, i8* %28, i32 15
  store i8 0, i8* %29, align 1, !tbaa !12
  br label %32

; <label>:30:                                     ; preds = %21
  %31 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %32

; <label>:32:                                     ; preds = %30, %25
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %22) #14
  br label %377

; <label>:33:                                     ; preds = %16
  %34 = add nsw i32 %10, -1
  store i32 %34, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %35

; <label>:35:                                     ; preds = %33, %14
  %36 = phi i32 [ %15, %14 ], [ %34, %33 ]
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %36
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %13, i32 %36, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = icmp eq i32 %39, 17
  br i1 %40, label %56, label %41

; <label>:41:                                     ; preds = %35
  %42 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %43 = icmp eq i32 %42, 0
  br i1 %43, label %44, label %377

; <label>:44:                                     ; preds = %41
  %45 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %45) #14
  %46 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %47 = icmp ult i32 %46, 10
  br i1 %47, label %53, label %48

; <label>:48:                                     ; preds = %44
  %49 = icmp ugt i32 %46, 15
  %50 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %51 = select i1 %49, i8* %50, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 10
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %44
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %48
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %45) #14
  br label %377

; <label>:56:                                     ; preds = %35
  %57 = bitcast %class.variant.43* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %57) #14
  %58 = bitcast %class.variant.43* %37 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %57, i8* %58, i32 16, i32 8, i1 false), !tbaa.struct !567
  %59 = bitcast %class.variant.43* %6 to %struct.Combined**
  %60 = load %struct.Combined*, %struct.Combined** %59, align 8, !tbaa !23
  %61 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 4
  %62 = getelementptr inbounds %struct.Combined, %struct.Combined* %60, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %63 = bitcast %struct.Field** %62 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !23
  %65 = bitcast %"class.std::vector.17"* %61 to i32*
  %66 = load i32, i32* %65, align 4, !tbaa !23
  %67 = sub i32 %64, %66
  %68 = icmp eq i32 %67, 0
  %69 = inttoptr i32 %66 to %struct.Field*
  br i1 %68, label %75, label %70

; <label>:70:                                     ; preds = %56
  %71 = sdiv exact i32 %67, 24
  %72 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %61, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %90

; <label>:73:                                     ; preds = %90
  %74 = icmp eq i32 %92, 0
  br i1 %74, label %75, label %90

; <label>:75:                                     ; preds = %73, %56
  %76 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %77 = icmp eq i32 %76, 0
  br i1 %77, label %78, label %375

; <label>:78:                                     ; preds = %75
  %79 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %79) #14
  %80 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %81 = icmp ult i32 %80, 13
  br i1 %81, label %87, label %82

; <label>:82:                                     ; preds = %78
  %83 = icmp ugt i32 %80, 15
  %84 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %85 = select i1 %83, i8* %84, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %85, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %86 = getelementptr inbounds i8, i8* %85, i32 13
  store i8 0, i8* %86, align 1, !tbaa !12
  br label %89

; <label>:87:                                     ; preds = %78
  %88 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %89

; <label>:89:                                     ; preds = %87, %82
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %79) #14
  br label %375

; <label>:90:                                     ; preds = %73, %70
  %91 = phi i32 [ %71, %70 ], [ %92, %73 ]
  %92 = add i32 %91, -1
  %93 = getelementptr inbounds %struct.Field, %struct.Field* %69, i32 %92, i32 0
  %94 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %93, align 8, !tbaa !561
  %95 = icmp eq %"struct.std::pair.23"* %94, %0
  br i1 %95, label %96, label %73

; <label>:96:                                     ; preds = %90
  %97 = getelementptr inbounds %struct.Field, %struct.Field* %69, i32 %92, i32 1
  %98 = getelementptr inbounds %struct.Field, %struct.Field* %69, i32 %92, i32 1, i32 1
  %99 = load i32, i32* %98, align 8, !tbaa !535
  %100 = icmp eq i32 %99, 17
  br i1 %100, label %101, label %121

; <label>:101:                                    ; preds = %96
  %102 = bitcast %class.variant.43* %97 to %struct.Combined**
  %103 = load %struct.Combined*, %struct.Combined** %102, align 4, !tbaa !23
  %104 = getelementptr inbounds %struct.Combined, %struct.Combined* %103, i32 0, i32 1
  %105 = load i32, i32* %104, align 4, !tbaa !563
  %106 = getelementptr inbounds %struct.Combined, %struct.Combined* %103, i32 0, i32 4
  %107 = getelementptr inbounds %struct.Combined, %struct.Combined* %103, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %108 = bitcast %struct.Field** %107 to i32*
  %109 = load i32, i32* %108, align 4, !tbaa !23
  %110 = bitcast %"class.std::vector.17"* %106 to i32*
  %111 = load i32, i32* %110, align 4, !tbaa !23
  %112 = sub i32 %109, %111
  %113 = sdiv exact i32 %112, 24
  %114 = icmp eq i32 %105, %113
  br i1 %114, label %121, label %115

; <label>:115:                                    ; preds = %101
  %116 = inttoptr i32 %111 to %struct.Field*
  %117 = getelementptr inbounds %struct.Field, %struct.Field* %116, i32 %105, i32 1, i32 1
  %118 = load i32, i32* %117, align 8, !tbaa !535
  %119 = add i32 %118, -15
  %120 = icmp ult i32 %119, 2
  br i1 %120, label %122, label %121

; <label>:121:                                    ; preds = %115, %101, %96
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %97, %class.variant.43* nonnull dereferenceable(16) %37) #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %60) #14
  br label %375

; <label>:122:                                    ; preds = %115
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %36, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?registerNames@@YAXAAV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %61) #14
  %123 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?selfText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?registerName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@AAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %123, %class.variant.43* nonnull dereferenceable(16) %6) #14
  %124 = load %struct.Field*, %struct.Field** %72, align 4, !tbaa !23
  %125 = getelementptr inbounds %struct.Field, %struct.Field* %124, i32 %92, i32 1
  %126 = bitcast %class.variant.43* %125 to %struct.Combined**
  %127 = load %struct.Combined*, %struct.Combined** %126, align 4, !tbaa !23
  br label %128

; <label>:128:                                    ; preds = %344, %122
  %129 = phi %struct.Combined* [ %127, %122 ], [ %347, %344 ]
  %130 = phi i32 [ %92, %122 ], [ %336, %344 ]
  %131 = getelementptr inbounds %struct.Combined, %struct.Combined* %129, i32 0, i32 4
  call void @"\01?registerNames@@YAXAAV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* dereferenceable(12) %131) #14
  %132 = load %struct.Field*, %struct.Field** %72, align 4, !tbaa !23
  %133 = getelementptr inbounds %struct.Field, %struct.Field* %132, i32 %130, i32 1
  %134 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?registerName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@AAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %134, %class.variant.43* dereferenceable(16) %133) #14
  %135 = getelementptr inbounds %struct.Combined, %struct.Combined* %129, i32 0, i32 2
  %136 = load i32, i32* %135, align 4, !tbaa !564
  %137 = getelementptr inbounds %struct.Combined, %struct.Combined* %129, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %138 = bitcast %struct.Field** %137 to i32*
  %139 = load i32, i32* %138, align 4, !tbaa !23
  %140 = bitcast %"class.std::vector.17"* %131 to i32*
  %141 = load i32, i32* %140, align 4, !tbaa !23
  %142 = sub i32 %139, %141
  %143 = sdiv exact i32 %142, 24
  %144 = icmp eq i32 %136, %143
  %145 = inttoptr i32 %141 to %struct.Field*
  %146 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %131, i32 0, i32 0, i32 0, i32 0, i32 0
  br i1 %144, label %258, label %147

; <label>:147:                                    ; preds = %128
  %148 = getelementptr inbounds %struct.Field, %struct.Field* %145, i32 %136, i32 1, i32 1
  %149 = load i32, i32* %148, align 8, !tbaa !535
  %150 = add i32 %149, -15
  %151 = icmp ult i32 %150, 2
  br i1 %151, label %152, label %258

; <label>:152:                                    ; preds = %147
  %153 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %154 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %155 = sub i32 %153, %154
  %156 = ashr exact i32 %155, 4
  %157 = call dereferenceable(12) %"class.std::vector.37"* @"\01?acquireStack@@YAAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@I@Z"(i32 %156) #14
  %158 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %159 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %160 = icmp eq i32 %158, %159
  br i1 %160, label %163, label %161

; <label>:161:                                    ; preds = %152
  %162 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %157, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %172

; <label>:163:                                    ; preds = %172, %152
  %164 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %165 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %166 = add i32 %165, 1
  store i32 %166, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %167 = load i32, i32* %135, align 4, !tbaa !564
  %168 = load %struct.Field*, %struct.Field** %146, align 4, !tbaa !23
  %169 = getelementptr inbounds %struct.Field, %struct.Field* %168, i32 %167, i32 1, i32 1
  %170 = load i32, i32* %169, align 8, !tbaa !535
  %171 = icmp eq i32 %170, 16
  br i1 %171, label %185, label %194

; <label>:172:                                    ; preds = %172, %161
  %173 = phi i32 [ %159, %161 ], [ %181, %172 ]
  %174 = phi i32 [ 0, %161 ], [ %179, %172 ]
  %175 = inttoptr i32 %173 to %class.variant.43*
  %176 = load %class.variant.43*, %class.variant.43** %162, align 4, !tbaa !23
  %177 = getelementptr inbounds %class.variant.43, %class.variant.43* %176, i32 %174
  %178 = getelementptr inbounds %class.variant.43, %class.variant.43* %175, i32 %174
  call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* nonnull dereferenceable(16) %178, %class.variant.43* nonnull dereferenceable(16) %177) #14
  %179 = add i32 %174, 1
  %180 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %181 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %182 = sub i32 %180, %181
  %183 = ashr exact i32 %182, 4
  %184 = icmp ult i32 %179, %183
  br i1 %184, label %172, label %163

; <label>:185:                                    ; preds = %163
  call void @"\01?addNode@@YAXXZ"() #14
  %186 = load i32, i32* %135, align 4, !tbaa !564
  %187 = load %struct.Field*, %struct.Field** %146, align 4, !tbaa !23
  %188 = getelementptr inbounds %struct.Field, %struct.Field* %187, i32 %186, i32 1
  %189 = bitcast %class.variant.43* %188 to i1 ()**
  %190 = load i1 ()*, i1 ()** %189, align 4, !tbaa !23
  %191 = call zeroext i1 %190() #14
  call void @"\01?removeNode@@YAXXZ"() #14
  %192 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %193 = add i32 %192, -1
  store i32 %193, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  br i1 %191, label %204, label %222

; <label>:194:                                    ; preds = %163
  %195 = getelementptr inbounds %struct.Field, %struct.Field* %168, i32 %167, i32 1
  %196 = bitcast %class.variant.43* %195 to %struct.SourceCode*
  %197 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %196, i32 0, i32 1
  %198 = load i32, i32* %197, align 4, !tbaa !570
  %199 = bitcast %class.variant.43* %195 to %"class.std::vector.4"**
  %200 = load %"class.std::vector.4"*, %"class.std::vector.4"** %199, align 4, !tbaa !572
  %201 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %200, i32 %198) #14
  %202 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %203 = add i32 %202, -1
  store i32 %203, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  br i1 %201, label %204, label %222

; <label>:204:                                    ; preds = %194, %185
  %205 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %206 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %207 = sub i32 %205, %206
  %208 = ashr exact i32 %207, 4
  %209 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %210 = icmp eq i32 %208, %209
  %211 = inttoptr i32 %206 to %class.variant.43*
  br i1 %210, label %222, label %212

; <label>:212:                                    ; preds = %204
  %213 = add nsw i32 %208, -1
  %214 = getelementptr inbounds %class.variant.43, %class.variant.43* %211, i32 %213, i32 1
  %215 = load i32, i32* %214, align 8, !tbaa !535
  %216 = icmp eq i32 %215, 0
  br i1 %216, label %217, label %222

; <label>:217:                                    ; preds = %212
  %218 = getelementptr inbounds %class.variant.43, %class.variant.43* %211, i32 %213
  %219 = bitcast %class.variant.43* %218 to i8*
  %220 = load i8, i8* %219, align 1, !tbaa !566, !range !382
  %221 = icmp eq i8 %220, 0
  br label %222

; <label>:222:                                    ; preds = %217, %212, %204, %194, %185
  %223 = phi i1 [ true, %212 ], [ true, %204 ], [ true, %194 ], [ %221, %217 ], [ true, %185 ]
  %224 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %225 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %226 = sub i32 %224, %225
  %227 = ashr exact i32 %226, 4
  %228 = icmp eq i32 %227, 0
  br i1 %228, label %235, label %229

; <label>:229:                                    ; preds = %222
  %230 = inttoptr i32 %225 to %class.variant.43*
  %231 = add nsw i32 %227, -1
  %232 = getelementptr inbounds %class.variant.43, %class.variant.43* %230, i32 %231
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %232) #14
  %233 = icmp eq i32 %231, 0
  br i1 %233, label %235, label %234

; <label>:234:                                    ; preds = %229
  br label %252

; <label>:235:                                    ; preds = %252, %229, %222
  %236 = icmp eq %"class.std::vector.37"* %157, @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A"
  br i1 %236, label %249, label %237

; <label>:237:                                    ; preds = %235
  %238 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %239 = bitcast %"class.std::vector.37"* %157 to i32*
  %240 = load i32, i32* %239, align 4, !tbaa !23
  store i32 %240, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  store i32 %238, i32* %239, align 4, !tbaa !23
  %241 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %157, i32 0, i32 0, i32 0, i32 0, i32 1
  %242 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %243 = bitcast %class.variant.43** %241 to i32*
  %244 = load i32, i32* %243, align 4, !tbaa !23
  store i32 %244, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  store i32 %242, i32* %243, align 4, !tbaa !23
  %245 = getelementptr inbounds %"class.std::vector.37", %"class.std::vector.37"* %157, i32 0, i32 0, i32 0, i32 0, i32 2
  %246 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  %247 = bitcast %class.variant.43** %245 to i32*
  %248 = load i32, i32* %247, align 4, !tbaa !23
  store i32 %248, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2) to i32*), align 4, !tbaa !23
  store i32 %246, i32* %247, align 4, !tbaa !23
  br label %249

; <label>:249:                                    ; preds = %237, %235
  call void @"\01?releaseStack@@YAXAAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@Z"(%"class.std::vector.37"* nonnull dereferenceable(12) %157) #14
  store i32 %164, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br i1 %223, label %299, label %250

; <label>:250:                                    ; preds = %249
  %251 = load %struct.Field*, %struct.Field** %146, align 4, !tbaa !23
  br label %258

; <label>:252:                                    ; preds = %252, %234
  %253 = phi i32 [ %255, %252 ], [ %231, %234 ]
  %254 = load %class.variant.43*, %class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23
  %255 = add i32 %253, -1
  %256 = getelementptr inbounds %class.variant.43, %class.variant.43* %254, i32 %255
  call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* nonnull dereferenceable(16) %256) #14
  %257 = icmp eq i32 %255, 0
  br i1 %257, label %235, label %252

; <label>:258:                                    ; preds = %250, %147, %128
  %259 = phi %struct.Field* [ %251, %250 ], [ %145, %128 ], [ %145, %147 ]
  %260 = getelementptr inbounds %struct.Combined, %struct.Combined* %129, i32 0, i32 1
  %261 = load i32, i32* %260, align 4, !tbaa !563
  %262 = getelementptr inbounds %struct.Field, %struct.Field* %259, i32 %261, i32 1, i32 1
  %263 = load i32, i32* %262, align 8, !tbaa !535
  %264 = icmp eq i32 %263, 16
  br i1 %264, label %265, label %272

; <label>:265:                                    ; preds = %258
  call void @"\01?addNode@@YAXXZ"() #14
  %266 = load i32, i32* %260, align 4, !tbaa !563
  %267 = load %struct.Field*, %struct.Field** %146, align 4, !tbaa !23
  %268 = getelementptr inbounds %struct.Field, %struct.Field* %267, i32 %266, i32 1
  %269 = bitcast %class.variant.43* %268 to i1 ()**
  %270 = load i1 ()*, i1 ()** %269, align 4, !tbaa !23
  %271 = call zeroext i1 %270() #14
  call void @"\01?removeNode@@YAXXZ"() #14
  br label %280

; <label>:272:                                    ; preds = %258
  %273 = getelementptr inbounds %struct.Field, %struct.Field* %259, i32 %261, i32 1
  %274 = bitcast %class.variant.43* %273 to %struct.SourceCode*
  %275 = getelementptr inbounds %struct.SourceCode, %struct.SourceCode* %274, i32 0, i32 1
  %276 = load i32, i32* %275, align 4, !tbaa !570
  %277 = bitcast %class.variant.43* %273 to %"class.std::vector.4"**
  %278 = load %"class.std::vector.4"*, %"class.std::vector.4"** %277, align 4, !tbaa !572
  %279 = call zeroext i1 @"\01?interpret@@YA_NABV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@I@Z"(%"class.std::vector.4"* dereferenceable(12) %278, i32 %276) #14
  br label %280

; <label>:280:                                    ; preds = %272, %265
  %281 = phi i1 [ %271, %265 ], [ %279, %272 ]
  %282 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %282) #14
  call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %131) #14
  %283 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?selfText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %283) #14
  call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %61) #14
  br i1 %281, label %298, label %284

; <label>:284:                                    ; preds = %280
  %285 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %286 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %287 = sub i32 %285, %286
  %288 = ashr exact i32 %287, 4
  %289 = add nsw i32 %288, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %289, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %290 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %291 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %292 = sub i32 %290, %291
  %293 = ashr exact i32 %292, 4
  %294 = add nsw i32 %293, -1
  %295 = inttoptr i32 %291 to %class.variant.43*
  %296 = getelementptr inbounds %class.variant.43, %class.variant.43* %295, i32 %294
  %297 = bitcast %class.variant.43* %296 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %297, i8* nonnull %57, i32 16, i32 8, i1 false), !tbaa.struct !567
  br label %375

; <label>:298:                                    ; preds = %280
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %60) #14
  br label %375

; <label>:299:                                    ; preds = %249
  %300 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?closureText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %300) #14
  call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %131) #14
  %301 = icmp eq i32 %130, 0
  br i1 %301, label %306, label %302

; <label>:302:                                    ; preds = %299
  %303 = load %struct.Field*, %struct.Field** %72, align 4, !tbaa !23
  br label %334

; <label>:304:                                    ; preds = %334
  %305 = icmp eq i32 %336, 0
  br i1 %305, label %306, label %334

; <label>:306:                                    ; preds = %304, %299
  %307 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %308 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %309 = sub i32 %307, %308
  %310 = ashr exact i32 %309, 4
  %311 = add nsw i32 %310, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %311, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %312 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %313 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %314 = sub i32 %312, %313
  %315 = ashr exact i32 %314, 4
  %316 = add nsw i32 %315, -1
  %317 = inttoptr i32 %313 to %class.variant.43*
  %318 = getelementptr inbounds %class.variant.43, %class.variant.43* %317, i32 %316
  %319 = bitcast %class.variant.43* %318 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %319, i8* nonnull %57, i32 16, i32 8, i1 false), !tbaa.struct !567
  %320 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %321 = icmp eq i32 %320, 0
  br i1 %321, label %322, label %375

; <label>:322:                                    ; preds = %306
  %323 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %323) #14
  %324 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %325 = icmp ult i32 %324, 13
  br i1 %325, label %331, label %326

; <label>:326:                                    ; preds = %322
  %327 = icmp ugt i32 %324, 15
  %328 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %329 = select i1 %327, i8* %328, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %329, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %330 = getelementptr inbounds i8, i8* %329, i32 13
  store i8 0, i8* %330, align 1, !tbaa !12
  br label %333

; <label>:331:                                    ; preds = %322
  %332 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %333

; <label>:333:                                    ; preds = %331, %326
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %323) #14
  br label %375

; <label>:334:                                    ; preds = %304, %302
  %335 = phi i32 [ %130, %302 ], [ %336, %304 ]
  %336 = add i32 %335, -1
  %337 = getelementptr inbounds %struct.Field, %struct.Field* %303, i32 %336, i32 0
  %338 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** %337, align 8, !tbaa !561
  %339 = icmp eq %"struct.std::pair.23"* %338, %0
  br i1 %339, label %340, label %304

; <label>:340:                                    ; preds = %334
  %341 = getelementptr inbounds %struct.Field, %struct.Field* %303, i32 %336, i32 1, i32 1
  %342 = load i32, i32* %341, align 8, !tbaa !535
  %343 = icmp eq i32 %342, 17
  br i1 %343, label %344, label %359

; <label>:344:                                    ; preds = %340
  %345 = getelementptr inbounds %struct.Field, %struct.Field* %303, i32 %336, i32 1
  %346 = bitcast %class.variant.43* %345 to %struct.Combined**
  %347 = load %struct.Combined*, %struct.Combined** %346, align 4, !tbaa !23
  %348 = getelementptr inbounds %struct.Combined, %struct.Combined* %347, i32 0, i32 1
  %349 = load i32, i32* %348, align 4, !tbaa !563
  %350 = getelementptr inbounds %struct.Combined, %struct.Combined* %347, i32 0, i32 4
  %351 = getelementptr inbounds %struct.Combined, %struct.Combined* %347, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %352 = bitcast %struct.Field** %351 to i32*
  %353 = load i32, i32* %352, align 4, !tbaa !23
  %354 = bitcast %"class.std::vector.17"* %350 to i32*
  %355 = load i32, i32* %354, align 4, !tbaa !23
  %356 = sub i32 %353, %355
  %357 = sdiv exact i32 %356, 24
  %358 = icmp eq i32 %349, %357
  br i1 %358, label %359, label %128

; <label>:359:                                    ; preds = %344, %340
  %360 = load %"struct.std::pair.23"*, %"struct.std::pair.23"** @"\01?selfText@@3PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@A", align 4, !tbaa !23
  call void @"\01?unregisterName@@YAXAAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@Z"(%"struct.std::pair.23"* dereferenceable(48) %360) #14
  call void @"\01?unregisterNames@@YAXABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@@Z"(%"class.std::vector.17"* nonnull dereferenceable(12) %61) #14
  %361 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %362 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %363 = sub i32 %361, %362
  %364 = ashr exact i32 %363, 4
  %365 = add nsw i32 %364, 1
  call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %365, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  %366 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %367 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %368 = sub i32 %366, %367
  %369 = ashr exact i32 %368, 4
  %370 = add nsw i32 %369, -1
  %371 = inttoptr i32 %367 to %class.variant.43*
  %372 = getelementptr inbounds %class.variant.43, %class.variant.43* %371, i32 %370
  %373 = load %struct.Field*, %struct.Field** %72, align 4, !tbaa !23
  %374 = getelementptr inbounds %struct.Field, %struct.Field* %373, i32 %336, i32 1
  call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %374, %class.variant.43* nonnull dereferenceable(16) %372) #14
  call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* nonnull dereferenceable(28) %60) #14
  br label %375

; <label>:375:                                    ; preds = %359, %333, %306, %298, %284, %121, %89, %75
  %376 = phi i1 [ true, %121 ], [ true, %359 ], [ false, %89 ], [ false, %75 ], [ false, %333 ], [ false, %306 ], [ false, %284 ], [ true, %298 ]
  call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %57) #14
  br label %377

; <label>:377:                                    ; preds = %375, %55, %41, %32, %18
  %378 = phi i1 [ false, %32 ], [ false, %18 ], [ %376, %375 ], [ false, %55 ], [ false, %41 ]
  ret i1 %378
}

; Function Attrs: nounwind
define zeroext i1 @processNameReadMember(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = ashr exact i32 %7, 4
  %9 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %10 = icmp eq i32 %8, %9
  %11 = inttoptr i32 %6 to %class.variant.43*
  br i1 %10, label %14, label %12

; <label>:12:                                     ; preds = %1
  %13 = add nsw i32 %8, -1
  br label %33

; <label>:14:                                     ; preds = %1
  %15 = icmp eq i32 %8, 0
  br i1 %15, label %16, label %31

; <label>:16:                                     ; preds = %14
  %17 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %18 = icmp eq i32 %17, 0
  br i1 %18, label %19, label %92

; <label>:19:                                     ; preds = %16
  %20 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %20) #14
  %21 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %22 = icmp ult i32 %21, 15
  br i1 %22, label %28, label %23

; <label>:23:                                     ; preds = %19
  %24 = icmp eq i32 %21, 15
  %25 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %26 = select i1 %24, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %25
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %26, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %27 = getelementptr inbounds i8, i8* %26, i32 15
  store i8 0, i8* %27, align 1, !tbaa !12
  br label %30

; <label>:28:                                     ; preds = %19
  %29 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %30

; <label>:30:                                     ; preds = %28, %23
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %20) #14
  br label %92

; <label>:31:                                     ; preds = %14
  %32 = add nsw i32 %8, -1
  store i32 %32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %33

; <label>:33:                                     ; preds = %31, %12
  %34 = phi i32 [ %13, %12 ], [ %32, %31 ]
  %35 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34, i32 1
  %36 = load i32, i32* %35, align 8, !tbaa !535
  %37 = icmp eq i32 %36, 17
  br i1 %37, label %53, label %38

; <label>:38:                                     ; preds = %33
  %39 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %40 = icmp eq i32 %39, 0
  br i1 %40, label %41, label %92

; <label>:41:                                     ; preds = %38
  %42 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %42) #14
  %43 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %44 = icmp ult i32 %43, 10
  br i1 %44, label %50, label %45

; <label>:45:                                     ; preds = %41
  %46 = icmp ugt i32 %43, 15
  %47 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %48 = select i1 %46, i8* %47, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %49 = getelementptr inbounds i8, i8* %48, i32 10
  store i8 0, i8* %49, align 1, !tbaa !12
  br label %52

; <label>:50:                                     ; preds = %41
  %51 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %52

; <label>:52:                                     ; preds = %50, %45
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %42) #14
  br label %92

; <label>:53:                                     ; preds = %33
  %54 = getelementptr inbounds %class.variant.43, %class.variant.43* %11, i32 %34
  %55 = bitcast %class.variant.43* %54 to %struct.Combined**
  %56 = load %struct.Combined*, %struct.Combined** %55, align 4, !tbaa !23
  %57 = getelementptr inbounds %struct.Combined, %struct.Combined* %56, i32 0, i32 4
  %58 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %57, %"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %59 = getelementptr inbounds %struct.Combined, %struct.Combined* %56, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %60 = bitcast %struct.Field** %59 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !23
  %62 = bitcast %"class.std::vector.17"* %57 to i32*
  %63 = load i32, i32* %62, align 4, !tbaa !23
  %64 = sub i32 %61, %63
  %65 = sdiv exact i32 %64, 24
  %66 = icmp eq i32 %58, %65
  br i1 %66, label %67, label %82

; <label>:67:                                     ; preds = %53
  %68 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %69 = icmp eq i32 %68, 0
  br i1 %69, label %70, label %92

; <label>:70:                                     ; preds = %67
  %71 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %71) #14
  %72 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %73 = icmp ult i32 %72, 13
  br i1 %73, label %79, label %74

; <label>:74:                                     ; preds = %70
  %75 = icmp ugt i32 %72, 15
  %76 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %77 = select i1 %75, i8* %76, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %77, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %78 = getelementptr inbounds i8, i8* %77, i32 13
  store i8 0, i8* %78, align 1, !tbaa !12
  br label %81

; <label>:79:                                     ; preds = %70
  %80 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %81

; <label>:81:                                     ; preds = %79, %74
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %71) #14
  br label %92

; <label>:82:                                     ; preds = %53
  %83 = inttoptr i32 %63 to %struct.Field*
  %84 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %85 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %86 = sub i32 %84, %85
  %87 = ashr exact i32 %86, 4
  %88 = add nsw i32 %87, -1
  %89 = inttoptr i32 %85 to %class.variant.43*
  %90 = getelementptr inbounds %class.variant.43, %class.variant.43* %89, i32 %88
  %91 = getelementptr inbounds %struct.Field, %struct.Field* %83, i32 %58, i32 1
  tail call void @"\01?copy@@YAXABU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@AAU1@@Z"(%class.variant.43* dereferenceable(16) %91, %class.variant.43* nonnull dereferenceable(16) %90) #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %56) #14
  br label %92

; <label>:92:                                     ; preds = %82, %81, %67, %52, %38, %30, %16
  %93 = phi i1 [ false, %30 ], [ false, %16 ], [ false, %52 ], [ false, %38 ], [ true, %82 ], [ false, %81 ], [ false, %67 ]
  ret i1 %93
}

; Function Attrs: nounwind
define zeroext i1 @processNameWriteMember(%"struct.std::pair.23"* dereferenceable(48)) local_unnamed_addr #2 {
  %2 = alloca %"struct.std::_Not_a_node_tag", align 4
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %6 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %7 = sub i32 %5, %6
  %8 = ashr exact i32 %7, 4
  %9 = load i32, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  %10 = sub i32 %8, %9
  %11 = icmp ult i32 %10, 2
  %12 = inttoptr i32 %6 to %class.variant.43*
  br i1 %11, label %15, label %13

; <label>:13:                                     ; preds = %1
  %14 = add nsw i32 %8, -2
  br label %34

; <label>:15:                                     ; preds = %1
  %16 = icmp ult i32 %8, 2
  br i1 %16, label %17, label %32

; <label>:17:                                     ; preds = %15
  %18 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %19 = icmp eq i32 %18, 0
  br i1 %19, label %20, label %98

; <label>:20:                                     ; preds = %17
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14
  %22 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %23 = icmp ult i32 %22, 15
  br i1 %23, label %29, label %24

; <label>:24:                                     ; preds = %20
  %25 = icmp eq i32 %22, 15
  %26 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %27 = select i1 %25, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*), i8* %26
  store i32 15, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %27, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %28 = getelementptr inbounds i8, i8* %27, i32 15
  store i8 0, i8* %28, align 1, !tbaa !12
  br label %31

; <label>:29:                                     ; preds = %20
  %30 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 15, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@BPAOEPMJ@stack?5underflow?$AA@", i32 0, i32 0)) #14
  br label %31

; <label>:31:                                     ; preds = %29, %24
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14
  br label %98

; <label>:32:                                     ; preds = %15
  %33 = add nsw i32 %8, -2
  store i32 %33, i32* @"\01?reservedStack@@3IA", align 4, !tbaa !24
  br label %34

; <label>:34:                                     ; preds = %32, %13
  %35 = phi i32 [ %14, %13 ], [ %33, %32 ]
  %36 = add nsw i32 %8, -1
  %37 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %35
  %38 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %36, i32 1
  %39 = load i32, i32* %38, align 8, !tbaa !535
  %40 = icmp eq i32 %39, 17
  br i1 %40, label %56, label %41

; <label>:41:                                     ; preds = %34
  %42 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %43 = icmp eq i32 %42, 0
  br i1 %43, label %44, label %98

; <label>:44:                                     ; preds = %41
  %45 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %2, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %45) #14
  %46 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %47 = icmp ult i32 %46, 10
  br i1 %47, label %53, label %48

; <label>:48:                                     ; preds = %44
  %49 = icmp ugt i32 %46, 15
  %50 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %51 = select i1 %49, i8* %50, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 10, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0), i32 10, i32 1, i1 false) #14
  %52 = getelementptr inbounds i8, i8* %51, i32 10
  store i8 0, i8* %52, align 1, !tbaa !12
  br label %55

; <label>:53:                                     ; preds = %44
  %54 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 10, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %2, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @"\01??_C@_0L@MPGKFGAG@not?5a?5list?$AA@", i32 0, i32 0)) #14
  br label %55

; <label>:55:                                     ; preds = %53, %48
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %45) #14
  br label %98

; <label>:56:                                     ; preds = %34
  %57 = getelementptr inbounds %class.variant.43, %class.variant.43* %12, i32 %36
  %58 = bitcast %class.variant.43* %57 to %struct.Combined**
  %59 = load %struct.Combined*, %struct.Combined** %58, align 4, !tbaa !23
  %60 = getelementptr inbounds %struct.Combined, %struct.Combined* %59, i32 0, i32 4
  %61 = tail call i32 @"\01?findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@std@@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"(%"class.std::vector.17"* dereferenceable(12) %60, %"struct.std::pair.23"* nonnull dereferenceable(48) %0) #14
  %62 = getelementptr inbounds %struct.Combined, %struct.Combined* %59, i32 0, i32 4, i32 0, i32 0, i32 0, i32 1
  %63 = bitcast %struct.Field** %62 to i32*
  %64 = load i32, i32* %63, align 4, !tbaa !23
  %65 = bitcast %"class.std::vector.17"* %60 to i32*
  %66 = load i32, i32* %65, align 4, !tbaa !23
  %67 = sub i32 %64, %66
  %68 = sdiv exact i32 %67, 24
  %69 = icmp eq i32 %61, %68
  br i1 %69, label %70, label %85

; <label>:70:                                     ; preds = %56
  %71 = load i32, i32* @"\01?errorSuppressionLevel@@3IA", align 4, !tbaa !24
  %72 = icmp eq i32 %71, 0
  br i1 %72, label %73, label %98

; <label>:73:                                     ; preds = %70
  %74 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %74) #14
  %75 = load i32, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 2), align 4, !tbaa !81
  %76 = icmp ult i32 %75, 13
  br i1 %76, label %82, label %77

; <label>:77:                                     ; preds = %73
  %78 = icmp ugt i32 %75, 15
  %79 = load i8*, i8** getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4
  %80 = select i1 %78, i8* %79, i8* bitcast (%"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A" to i8*)
  store i32 13, i32* getelementptr inbounds (%"class.std::basic_string", %"class.std::basic_string"* @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !83
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %80, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0), i32 13, i32 1, i1 false) #14
  %81 = getelementptr inbounds i8, i8* %80, i32 13
  store i8 0, i8* %81, align 1, !tbaa !12
  br label %84

; <label>:82:                                     ; preds = %73
  %83 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull @"\01?errorMessage@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A", i32 13, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @"\01??_C@_0O@FHCGOAJP@unknown?5field?$AA@", i32 0, i32 0)) #14
  br label %84

; <label>:84:                                     ; preds = %82, %77
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %74) #14
  br label %98

; <label>:85:                                     ; preds = %56
  %86 = inttoptr i32 %66 to %struct.Field*
  %87 = getelementptr inbounds %"class.std::vector.17", %"class.std::vector.17"* %60, i32 0, i32 0, i32 0, i32 0, i32 0
  %88 = getelementptr inbounds %struct.Field, %struct.Field* %86, i32 %61, i32 1
  tail call void @"\01?destroyValue@@YAXAAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@Z"(%class.variant.43* dereferenceable(16) %88) #14
  %89 = load %struct.Field*, %struct.Field** %87, align 4, !tbaa !23
  %90 = getelementptr inbounds %struct.Field, %struct.Field* %89, i32 %61, i32 1
  %91 = bitcast %class.variant.43* %90 to i8*
  %92 = bitcast %class.variant.43* %37 to i8*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %91, i8* %92, i32 16, i32 8, i1 false), !tbaa.struct !567
  %93 = load i32, i32* bitcast (%class.variant.43** getelementptr inbounds (%"class.std::vector.37", %"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 1) to i32*), align 4, !tbaa !23
  %94 = load i32, i32* bitcast (%"class.std::vector.37"* @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A" to i32*), align 4, !tbaa !23
  %95 = sub i32 %93, %94
  %96 = ashr exact i32 %95, 4
  %97 = add nsw i32 %96, -2
  tail call x86_thiscallcc void @"\01??$_Resize@V<lambda_1>@?0??resize@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAEXI@Z@@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@AAEXIV<lambda_1>@?0??resize@01@QAEXI@Z@@Z"(%"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A", i32 %97, %"class.std::vector.37"* nonnull @"\01?stack@@3V?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@A") #14
  tail call void @"\01?release@@YAXAAUCombined@@@Z"(%struct.Combined* dereferenceable(28) %59) #14
  br label %98

; <label>:98:                                     ; preds = %85, %84, %70, %55, %41, %31, %17
  %99 = phi i1 [ false, %31 ], [ false, %17 ], [ false, %55 ], [ false, %41 ], [ true, %85 ], [ false, %84 ], [ false, %70 ]
  ret i1 %99
}

; Function Attrs: nounwind
define internal void @_GLOBAL__sub_I_System.cpp() #2 {
  store %"struct.std::_Tree_node"* null, %"struct.std::_Tree_node"** getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !1387
  store i32 0, i32* getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1), align 4, !tbaa !1389
  %1 = tail call i8* @"\01??2@YAPAXI@Z"(i32 44) #14
  %2 = ptrtoint i8* %1 to i32
  %3 = bitcast i8* %1 to i32*
  store i32 %2, i32* %3, align 4, !tbaa !23
  %4 = getelementptr inbounds i8, i8* %1, i32 4
  %5 = bitcast i8* %4 to i32*
  store i32 %2, i32* %5, align 4, !tbaa !23
  %6 = getelementptr inbounds i8, i8* %1, i32 8
  %7 = bitcast i8* %6 to i32*
  store i32 %2, i32* %7, align 4, !tbaa !23
  %8 = getelementptr inbounds i8, i8* %1, i32 12
  store i8 1, i8* %8, align 4, !tbaa !1390
  %9 = getelementptr inbounds i8, i8* %1, i32 13
  store i8 1, i8* %9, align 1, !tbaa !1393
  store i8* %1, i8** bitcast (%"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A" to i8**), align 4, !tbaa !23
  %10 = tail call i32 @atexit(void ()* nonnull @"\01??__Flibraries@?A@@YAXXZ") #14
  ret void
}

; Function Attrs: nounwind
define internal void @"\01??__Flibraries@?A@@YAXXZ"() #2 {
  %1 = alloca %"class.std::_Tree_iterator", align 4
  %2 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23, !noalias !84
  %3 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %2, i32 0, i32 0
  %4 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %3, align 4, !tbaa !23, !noalias !1394
  %5 = bitcast %"class.std::_Tree_iterator"* %1 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %5) #14
  call x86_thiscallcc void @"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@0@Z"(%"class.std::_Tree"* getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0), %"class.std::_Tree_iterator"* nonnull sret %1, %"struct.std::_Tree_node"* %4, %"struct.std::_Tree_node"* %2) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %5) #14
  %6 = load i8*, i8** bitcast (%"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A" to i8**), align 4, !tbaa !23
  call void @"\01??3@YAXPAXI@Z"(i8* %6, i32 44) #14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@0@Z"(%"class.std::_Tree"*, %"class.std::_Tree_iterator"* noalias sret, %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"*) local_unnamed_addr #2 comdat align 2 {
  %5 = alloca %"class.std::_Tree_iterator", align 4
  %6 = ptrtoint %"struct.std::_Tree_node"* %2 to i32
  %7 = bitcast %"class.std::_Tree"* %0 to %"struct.std::_Tree_node"***
  %8 = load %"struct.std::_Tree_node"**, %"struct.std::_Tree_node"*** %7, align 4, !tbaa !23, !noalias !1397
  %9 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %8, align 4, !tbaa !23, !noalias !1397
  %10 = icmp eq %"struct.std::_Tree_node"* %9, %2
  %11 = bitcast %"struct.std::_Tree_node"** %8 to %"struct.std::_Tree_node"*
  %12 = icmp eq %"struct.std::_Tree_node"* %11, %3
  %13 = and i1 %10, %12
  br i1 %13, label %14, label %33

; <label>:14:                                     ; preds = %4
  %15 = bitcast %"class.std::_Tree"* %0 to i32**
  %16 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %3, i32 0, i32 1
  %17 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %16, align 4, !tbaa !23
  tail call x86_thiscallcc void @"\01?_Erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@@Z"(%"class.std::_Tree"* nonnull %0, %"struct.std::_Tree_node"* %17) #14
  %18 = bitcast %"class.std::_Tree"* %0 to i32*
  %19 = load i32, i32* %18, align 4, !tbaa !23
  %20 = inttoptr i32 %19 to %"struct.std::_Tree_node"*
  %21 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %20, i32 0, i32 1
  %22 = bitcast %"struct.std::_Tree_node"** %21 to i32*
  store i32 %19, i32* %22, align 4, !tbaa !23
  %23 = load i32, i32* %18, align 4, !tbaa !23
  %24 = inttoptr i32 %23 to i32*
  store i32 %23, i32* %24, align 4, !tbaa !23
  %25 = load i32, i32* %18, align 4, !tbaa !23
  %26 = inttoptr i32 %25 to %"struct.std::_Tree_node"*
  %27 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %26, i32 0, i32 2
  %28 = bitcast %"struct.std::_Tree_node"** %27 to i32*
  store i32 %25, i32* %28, align 4, !tbaa !23
  %29 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %29, align 4, !tbaa !24
  %30 = load i32*, i32** %15, align 4, !tbaa !23, !noalias !1400
  %31 = load i32, i32* %30, align 4, !tbaa !23, !noalias !1400
  %32 = bitcast %"class.std::_Tree_iterator"* %1 to i32*
  store i32 %31, i32* %32, align 4, !tbaa !1403, !alias.scope !1400
  br label %86

; <label>:33:                                     ; preds = %4
  %34 = icmp eq %"struct.std::_Tree_node"* %2, %3
  br i1 %34, label %83, label %35

; <label>:35:                                     ; preds = %33
  %36 = bitcast %"class.std::_Tree_iterator"* %5 to i8*
  br label %37

; <label>:37:                                     ; preds = %79, %35
  %38 = phi %"struct.std::_Tree_node"* [ %2, %35 ], [ %81, %79 ]
  %39 = phi i32 [ %6, %35 ], [ %80, %79 ]
  %40 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %38, i32 0, i32 4
  %41 = load i8, i8* %40, align 1, !tbaa !1393, !noalias !1405
  %42 = icmp eq i8 %41, 0
  br i1 %42, label %43, label %79

; <label>:43:                                     ; preds = %37
  %44 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %38, i32 0, i32 2
  %45 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %44, align 4, !tbaa !1408, !noalias !1405
  %46 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %45, i32 0, i32 4
  %47 = load i8, i8* %46, align 1, !tbaa !1393, !noalias !1405
  %48 = icmp eq i8 %47, 0
  br i1 %48, label %49, label %57

; <label>:49:                                     ; preds = %43
  br label %50

; <label>:50:                                     ; preds = %50, %49
  %51 = phi %"struct.std::_Tree_node"* [ %53, %50 ], [ %45, %49 ]
  %52 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %51, i32 0, i32 0
  %53 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %52, align 4, !tbaa !1409, !noalias !1405
  %54 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %53, i32 0, i32 4
  %55 = load i8, i8* %54, align 1, !tbaa !1393, !noalias !1405
  %56 = icmp eq i8 %55, 0
  br i1 %56, label %50, label %76

; <label>:57:                                     ; preds = %43
  %58 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %38, i32 0, i32 1
  %59 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %58, align 4, !tbaa !1410, !noalias !1405
  %60 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %59, i32 0, i32 4
  %61 = load i8, i8* %60, align 1, !tbaa !1393, !noalias !1405
  %62 = icmp eq i8 %61, 0
  br i1 %62, label %63, label %76

; <label>:63:                                     ; preds = %57
  br label %70

; <label>:64:                                     ; preds = %70
  %65 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %71, i32 0, i32 1
  %66 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %65, align 4, !tbaa !1410, !noalias !1405
  %67 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %66, i32 0, i32 4
  %68 = load i8, i8* %67, align 1, !tbaa !1393, !noalias !1405
  %69 = icmp eq i8 %68, 0
  br i1 %69, label %70, label %76

; <label>:70:                                     ; preds = %64, %63
  %71 = phi %"struct.std::_Tree_node"* [ %66, %64 ], [ %59, %63 ]
  %72 = phi %"struct.std::_Tree_node"* [ %71, %64 ], [ %38, %63 ]
  %73 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %71, i32 0, i32 2
  %74 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %73, align 4, !tbaa !1408, !noalias !1405
  %75 = icmp eq %"struct.std::_Tree_node"* %72, %74
  br i1 %75, label %64, label %76

; <label>:76:                                     ; preds = %70, %64, %57, %50
  %77 = phi %"struct.std::_Tree_node"* [ %59, %57 ], [ %51, %50 ], [ %66, %64 ], [ %71, %70 ]
  %78 = ptrtoint %"struct.std::_Tree_node"* %77 to i32
  br label %79

; <label>:79:                                     ; preds = %76, %37
  %80 = phi i32 [ %78, %76 ], [ %39, %37 ]
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %36) #14
  call x86_thiscallcc void @"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z"(%"class.std::_Tree"* %0, %"class.std::_Tree_iterator"* nonnull sret %5, %"struct.std::_Tree_node"* %38)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %36) #14
  %81 = inttoptr i32 %80 to %"struct.std::_Tree_node"*
  %82 = icmp eq %"struct.std::_Tree_node"* %81, %3
  br i1 %82, label %83, label %37

; <label>:83:                                     ; preds = %79, %33
  %84 = phi %"struct.std::_Tree_node"* [ %2, %33 ], [ %3, %79 ]
  %85 = getelementptr inbounds %"class.std::_Tree_iterator", %"class.std::_Tree_iterator"* %1, i32 0, i32 0, i32 0, i32 0
  store %"struct.std::_Tree_node"* %84, %"struct.std::_Tree_node"** %85, align 4, !tbaa !1403
  br label %86

; <label>:86:                                     ; preds = %83, %14
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?_Erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@@Z"(%"class.std::_Tree"*, %"struct.std::_Tree_node"*) local_unnamed_addr #2 comdat align 2 {
  %3 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 4
  %4 = load i8, i8* %3, align 1, !tbaa !1393
  %5 = icmp eq i8 %4, 0
  br i1 %5, label %6, label %7

; <label>:6:                                      ; preds = %2
  br label %8

; <label>:7:                                      ; preds = %42, %2
  ret void

; <label>:8:                                      ; preds = %42, %6
  %9 = phi %"struct.std::_Tree_node"* [ %13, %42 ], [ %1, %6 ]
  %10 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %9, i32 0, i32 2
  %11 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %10, align 4, !tbaa !1408
  tail call x86_thiscallcc void @"\01?_Erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAEXPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@@Z"(%"class.std::_Tree"* %0, %"struct.std::_Tree_node"* %11)
  %12 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %9, i32 0, i32 0
  %13 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %12, align 4, !tbaa !1409
  %14 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %9, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %15 = load i32, i32* %14, align 4, !tbaa !81
  %16 = icmp ugt i32 %15, 15
  br i1 %16, label %17, label %42

; <label>:17:                                     ; preds = %8
  %18 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %9, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %19 = load i8*, i8** %18, align 4, !tbaa !12
  %20 = add i32 %15, 1
  %21 = icmp ugt i32 %20, 4095
  br i1 %21, label %22, label %39

; <label>:22:                                     ; preds = %17
  %23 = add i32 %15, 36
  %24 = icmp ugt i32 %20, -36
  br i1 %24, label %38, label %25

; <label>:25:                                     ; preds = %22
  %26 = ptrtoint i8* %19 to i32
  %27 = and i32 %26, 31
  %28 = icmp eq i32 %27, 0
  br i1 %28, label %29, label %38

; <label>:29:                                     ; preds = %25
  %30 = add i32 %26, -4
  %31 = inttoptr i32 %30 to i32*
  %32 = load i32, i32* %31, align 4, !tbaa !24
  %33 = icmp ult i32 %32, %26
  br i1 %33, label %34, label %38

; <label>:34:                                     ; preds = %29
  %35 = sub i32 %30, %32
  %36 = icmp ugt i32 %35, 31
  %37 = inttoptr i32 %32 to i8*
  br i1 %36, label %38, label %39

; <label>:38:                                     ; preds = %34, %29, %25, %22
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:39:                                     ; preds = %34, %17
  %40 = phi i8* [ %37, %34 ], [ %19, %17 ]
  %41 = phi i32 [ %23, %34 ], [ %20, %17 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %40, i32 %41) #14
  br label %42

; <label>:42:                                     ; preds = %39, %8
  %43 = bitcast %"struct.std::_Tree_node"* %9 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %43, i32 44) #14
  %44 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %13, i32 0, i32 4
  %45 = load i8, i8* %44, align 1, !tbaa !1393
  %46 = icmp eq i8 %45, 0
  br i1 %46, label %8, label %7
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?erase@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z"(%"class.std::_Tree"*, %"class.std::_Tree_iterator"* noalias sret, %"struct.std::_Tree_node"*) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %2, i32 0, i32 4
  %5 = load i8, i8* %4, align 1, !tbaa !1393
  %6 = icmp eq i8 %5, 0
  br i1 %6, label %7, label %40

; <label>:7:                                      ; preds = %3
  %8 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %2, i32 0, i32 2
  %9 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %8, align 4, !tbaa !1408
  %10 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %9, i32 0, i32 4
  %11 = load i8, i8* %10, align 1, !tbaa !1393
  %12 = icmp eq i8 %11, 0
  br i1 %12, label %13, label %21

; <label>:13:                                     ; preds = %7
  br label %14

; <label>:14:                                     ; preds = %14, %13
  %15 = phi %"struct.std::_Tree_node"* [ %17, %14 ], [ %9, %13 ]
  %16 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %15, i32 0, i32 0
  %17 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %16, align 4, !tbaa !1409
  %18 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %17, i32 0, i32 4
  %19 = load i8, i8* %18, align 1, !tbaa !1393
  %20 = icmp eq i8 %19, 0
  br i1 %20, label %14, label %40

; <label>:21:                                     ; preds = %7
  %22 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %2, i32 0, i32 1
  %23 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %22, align 4, !tbaa !1410
  %24 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %23, i32 0, i32 4
  %25 = load i8, i8* %24, align 1, !tbaa !1393
  %26 = icmp eq i8 %25, 0
  br i1 %26, label %27, label %40

; <label>:27:                                     ; preds = %21
  br label %34

; <label>:28:                                     ; preds = %34
  %29 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %35, i32 0, i32 1
  %30 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %29, align 4, !tbaa !1410
  %31 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %30, i32 0, i32 4
  %32 = load i8, i8* %31, align 1, !tbaa !1393
  %33 = icmp eq i8 %32, 0
  br i1 %33, label %34, label %40

; <label>:34:                                     ; preds = %28, %27
  %35 = phi %"struct.std::_Tree_node"* [ %30, %28 ], [ %23, %27 ]
  %36 = phi %"struct.std::_Tree_node"* [ %35, %28 ], [ %2, %27 ]
  %37 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %35, i32 0, i32 2
  %38 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %37, align 4, !tbaa !1408
  %39 = icmp eq %"struct.std::_Tree_node"* %36, %38
  br i1 %39, label %28, label %40

; <label>:40:                                     ; preds = %34, %28, %21, %14, %3
  %41 = phi %"struct.std::_Tree_node"* [ %2, %3 ], [ %23, %21 ], [ %15, %14 ], [ %30, %28 ], [ %35, %34 ]
  %42 = tail call x86_thiscallcc %"struct.std::_Tree_node"* @"\01?_Extract@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z"(%"class.std::_Tree"* %0, %"struct.std::_Tree_node"* %2)
  %43 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %42, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %44 = load i32, i32* %43, align 4, !tbaa !81
  %45 = icmp ugt i32 %44, 15
  br i1 %45, label %46, label %71

; <label>:46:                                     ; preds = %40
  %47 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %42, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %48 = load i8*, i8** %47, align 4, !tbaa !12
  %49 = add i32 %44, 1
  %50 = icmp ugt i32 %49, 4095
  br i1 %50, label %51, label %68

; <label>:51:                                     ; preds = %46
  %52 = add i32 %44, 36
  %53 = icmp ugt i32 %49, -36
  br i1 %53, label %67, label %54

; <label>:54:                                     ; preds = %51
  %55 = ptrtoint i8* %48 to i32
  %56 = and i32 %55, 31
  %57 = icmp eq i32 %56, 0
  br i1 %57, label %58, label %67

; <label>:58:                                     ; preds = %54
  %59 = add i32 %55, -4
  %60 = inttoptr i32 %59 to i32*
  %61 = load i32, i32* %60, align 4, !tbaa !24
  %62 = icmp ult i32 %61, %55
  br i1 %62, label %63, label %67

; <label>:63:                                     ; preds = %58
  %64 = sub i32 %59, %61
  %65 = icmp ugt i32 %64, 31
  %66 = inttoptr i32 %61 to i8*
  br i1 %65, label %67, label %68

; <label>:67:                                     ; preds = %63, %58, %54, %51
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:68:                                     ; preds = %63, %46
  %69 = phi i8* [ %66, %63 ], [ %48, %46 ]
  %70 = phi i32 [ %52, %63 ], [ %49, %46 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %69, i32 %70) #14
  br label %71

; <label>:71:                                     ; preds = %68, %40
  %72 = bitcast %"struct.std::_Tree_node"* %42 to i8*
  tail call void @"\01??3@YAXPAXI@Z"(i8* %72, i32 44) #14
  %73 = getelementptr inbounds %"class.std::_Tree_iterator", %"class.std::_Tree_iterator"* %1, i32 0, i32 0, i32 0, i32 0
  store %"struct.std::_Tree_node"* %41, %"struct.std::_Tree_node"** %73, align 4, !tbaa !1403
  ret void
}

; Function Attrs: norecurse nounwind
define linkonce_odr x86_thiscallcc %"struct.std::_Tree_node"* @"\01?_Extract@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAEPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@2@V?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@@Z"(%"class.std::_Tree"*, %"struct.std::_Tree_node"*) local_unnamed_addr #0 comdat align 2 {
  %3 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 4
  %4 = load i8, i8* %3, align 1, !tbaa !1393
  %5 = icmp eq i8 %4, 0
  %6 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 2
  %7 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %6, align 4, !tbaa !1408
  br i1 %5, label %10, label %8

; <label>:8:                                      ; preds = %2
  %9 = ptrtoint %"struct.std::_Tree_node"* %7 to i32
  br label %42

; <label>:10:                                     ; preds = %2
  %11 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %7, i32 0, i32 4
  %12 = load i8, i8* %11, align 1, !tbaa !1393
  %13 = icmp eq i8 %12, 0
  %14 = ptrtoint %"struct.std::_Tree_node"* %7 to i32
  br i1 %13, label %15, label %23

; <label>:15:                                     ; preds = %10
  br label %16

; <label>:16:                                     ; preds = %16, %15
  %17 = phi %"struct.std::_Tree_node"* [ %19, %16 ], [ %7, %15 ]
  %18 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %17, i32 0, i32 0
  %19 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %18, align 4, !tbaa !1409
  %20 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %19, i32 0, i32 4
  %21 = load i8, i8* %20, align 1, !tbaa !1393
  %22 = icmp eq i8 %21, 0
  br i1 %22, label %16, label %42

; <label>:23:                                     ; preds = %10
  %24 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 1
  %25 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %24, align 4, !tbaa !1410
  %26 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %25, i32 0, i32 4
  %27 = load i8, i8* %26, align 1, !tbaa !1393
  %28 = icmp eq i8 %27, 0
  br i1 %28, label %29, label %42

; <label>:29:                                     ; preds = %23
  br label %36

; <label>:30:                                     ; preds = %36
  %31 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %37, i32 0, i32 1
  %32 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %31, align 4, !tbaa !1410
  %33 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %32, i32 0, i32 4
  %34 = load i8, i8* %33, align 1, !tbaa !1393
  %35 = icmp eq i8 %34, 0
  br i1 %35, label %36, label %42

; <label>:36:                                     ; preds = %30, %29
  %37 = phi %"struct.std::_Tree_node"* [ %32, %30 ], [ %25, %29 ]
  %38 = phi %"struct.std::_Tree_node"* [ %37, %30 ], [ %1, %29 ]
  %39 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %37, i32 0, i32 2
  %40 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %39, align 4, !tbaa !1408
  %41 = icmp eq %"struct.std::_Tree_node"* %38, %40
  br i1 %41, label %30, label %42

; <label>:42:                                     ; preds = %36, %30, %23, %16, %8
  %43 = phi i32 [ %9, %8 ], [ %14, %23 ], [ %14, %16 ], [ %14, %30 ], [ %14, %36 ]
  %44 = phi %"struct.std::_Tree_node"* [ %1, %8 ], [ %25, %23 ], [ %17, %16 ], [ %37, %36 ], [ %32, %30 ]
  %45 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 0
  %46 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %45, align 4, !tbaa !1409
  %47 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %46, i32 0, i32 4
  %48 = load i8, i8* %47, align 1, !tbaa !1393
  %49 = icmp eq i8 %48, 0
  %50 = ptrtoint %"struct.std::_Tree_node"* %46 to i32
  br i1 %49, label %51, label %59

; <label>:51:                                     ; preds = %42
  %52 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %7, i32 0, i32 4
  %53 = load i8, i8* %52, align 1, !tbaa !1393
  %54 = icmp eq i8 %53, 0
  br i1 %54, label %55, label %59

; <label>:55:                                     ; preds = %51
  %56 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %44, i32 0, i32 2
  %57 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %56, align 4, !tbaa !1408
  %58 = icmp eq %"struct.std::_Tree_node"* %44, %1
  br i1 %58, label %59, label %114

; <label>:59:                                     ; preds = %55, %51, %42
  %60 = phi %"struct.std::_Tree_node"* [ %57, %55 ], [ %46, %51 ], [ %7, %42 ]
  %61 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 1
  %62 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %61, align 4, !tbaa !1410
  %63 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 4
  %64 = load i8, i8* %63, align 1, !tbaa !1393
  %65 = icmp eq i8 %64, 0
  br i1 %65, label %66, label %68

; <label>:66:                                     ; preds = %59
  %67 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 1
  store %"struct.std::_Tree_node"* %62, %"struct.std::_Tree_node"** %67, align 4, !tbaa !1410
  br label %68

; <label>:68:                                     ; preds = %66, %59
  %69 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %70 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %69, align 4, !tbaa !23
  %71 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %70, i32 0, i32 1
  %72 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %71, align 4, !tbaa !23
  %73 = icmp eq %"struct.std::_Tree_node"* %72, %1
  br i1 %73, label %80, label %74

; <label>:74:                                     ; preds = %68
  %75 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %62, i32 0, i32 0
  %76 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %75, align 4, !tbaa !1409
  %77 = icmp eq %"struct.std::_Tree_node"* %76, %1
  %78 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %62, i32 0, i32 2
  %79 = select i1 %77, %"struct.std::_Tree_node"** %75, %"struct.std::_Tree_node"** %78
  br label %80

; <label>:80:                                     ; preds = %74, %68
  %81 = phi %"struct.std::_Tree_node"** [ %79, %74 ], [ %71, %68 ]
  store %"struct.std::_Tree_node"* %60, %"struct.std::_Tree_node"** %81, align 4, !tbaa !23
  %82 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %69, align 4, !tbaa !23
  %83 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %82, i32 0, i32 0
  %84 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %83, align 4, !tbaa !23
  %85 = icmp eq %"struct.std::_Tree_node"* %84, %1
  br i1 %85, label %86, label %98

; <label>:86:                                     ; preds = %80
  br i1 %65, label %87, label %95

; <label>:87:                                     ; preds = %86
  br label %88

; <label>:88:                                     ; preds = %88, %87
  %89 = phi %"struct.std::_Tree_node"* [ %91, %88 ], [ %60, %87 ]
  %90 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %89, i32 0, i32 0
  %91 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %90, align 4, !tbaa !1409
  %92 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %91, i32 0, i32 4
  %93 = load i8, i8* %92, align 1, !tbaa !1393
  %94 = icmp eq i8 %93, 0
  br i1 %94, label %88, label %95

; <label>:95:                                     ; preds = %88, %86
  %96 = phi %"struct.std::_Tree_node"* [ %62, %86 ], [ %89, %88 ]
  store %"struct.std::_Tree_node"* %96, %"struct.std::_Tree_node"** %83, align 4, !tbaa !23
  %97 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %69, align 4, !tbaa !23
  br label %98

; <label>:98:                                     ; preds = %95, %80
  %99 = phi %"struct.std::_Tree_node"* [ %97, %95 ], [ %82, %80 ]
  %100 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %99, i32 0, i32 2
  %101 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %100, align 4, !tbaa !23
  %102 = icmp eq %"struct.std::_Tree_node"* %101, %1
  br i1 %102, label %103, label %156

; <label>:103:                                    ; preds = %98
  br i1 %65, label %104, label %112

; <label>:104:                                    ; preds = %103
  br label %105

; <label>:105:                                    ; preds = %105, %104
  %106 = phi %"struct.std::_Tree_node"* [ %108, %105 ], [ %60, %104 ]
  %107 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %106, i32 0, i32 2
  %108 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %107, align 4, !tbaa !1408
  %109 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %108, i32 0, i32 4
  %110 = load i8, i8* %109, align 1, !tbaa !1393
  %111 = icmp eq i8 %110, 0
  br i1 %111, label %105, label %112

; <label>:112:                                    ; preds = %105, %103
  %113 = phi %"struct.std::_Tree_node"* [ %62, %103 ], [ %106, %105 ]
  store %"struct.std::_Tree_node"* %113, %"struct.std::_Tree_node"** %100, align 4, !tbaa !23
  br label %156

; <label>:114:                                    ; preds = %55
  %115 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %46, i32 0, i32 1
  store %"struct.std::_Tree_node"* %44, %"struct.std::_Tree_node"** %115, align 4, !tbaa !1410
  %116 = bitcast %"struct.std::_Tree_node"* %44 to i32*
  store i32 %50, i32* %116, align 4, !tbaa !1409
  %117 = icmp eq %"struct.std::_Tree_node"* %44, %7
  br i1 %117, label %131, label %118

; <label>:118:                                    ; preds = %114
  %119 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %44, i32 0, i32 1
  %120 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %119, align 4, !tbaa !1410
  %121 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %57, i32 0, i32 4
  %122 = load i8, i8* %121, align 1, !tbaa !1393
  %123 = icmp eq i8 %122, 0
  br i1 %123, label %124, label %126

; <label>:124:                                    ; preds = %118
  %125 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %57, i32 0, i32 1
  store %"struct.std::_Tree_node"* %120, %"struct.std::_Tree_node"** %125, align 4, !tbaa !1410
  br label %126

; <label>:126:                                    ; preds = %124, %118
  %127 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %120, i32 0, i32 0
  store %"struct.std::_Tree_node"* %57, %"struct.std::_Tree_node"** %127, align 4, !tbaa !1409
  %128 = bitcast %"struct.std::_Tree_node"** %56 to i32*
  store i32 %43, i32* %128, align 4, !tbaa !1408
  %129 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %6, align 4, !tbaa !1408
  %130 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %129, i32 0, i32 1
  store %"struct.std::_Tree_node"* %44, %"struct.std::_Tree_node"** %130, align 4, !tbaa !1410
  br label %131

; <label>:131:                                    ; preds = %126, %114
  %132 = phi %"struct.std::_Tree_node"* [ %120, %126 ], [ %7, %114 ]
  %133 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %134 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %133, align 4, !tbaa !23
  %135 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %134, i32 0, i32 1
  %136 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %135, align 4, !tbaa !23
  %137 = icmp eq %"struct.std::_Tree_node"* %136, %1
  %138 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 1
  br i1 %137, label %146, label %139

; <label>:139:                                    ; preds = %131
  %140 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %138, align 4, !tbaa !1410
  %141 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %140, i32 0, i32 0
  %142 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %141, align 4, !tbaa !1409
  %143 = icmp eq %"struct.std::_Tree_node"* %142, %1
  %144 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %140, i32 0, i32 2
  %145 = select i1 %143, %"struct.std::_Tree_node"** %141, %"struct.std::_Tree_node"** %144
  br label %146

; <label>:146:                                    ; preds = %139, %131
  %147 = phi %"struct.std::_Tree_node"** [ %145, %139 ], [ %135, %131 ]
  store %"struct.std::_Tree_node"* %44, %"struct.std::_Tree_node"** %147, align 4, !tbaa !23
  %148 = bitcast %"struct.std::_Tree_node"** %138 to i32*
  %149 = load i32, i32* %148, align 4, !tbaa !1410
  %150 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %44, i32 0, i32 1
  %151 = bitcast %"struct.std::_Tree_node"** %150 to i32*
  store i32 %149, i32* %151, align 4, !tbaa !1410
  %152 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 3
  %153 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %44, i32 0, i32 3
  %154 = load i8, i8* %153, align 1, !tbaa !12
  %155 = load i8, i8* %152, align 1, !tbaa !12
  store i8 %155, i8* %153, align 1, !tbaa !12
  store i8 %154, i8* %152, align 1, !tbaa !12
  br label %156

; <label>:156:                                    ; preds = %146, %112, %98
  %157 = phi %"struct.std::_Tree_node"* [ %60, %112 ], [ %60, %98 ], [ %57, %146 ]
  %158 = phi %"struct.std::_Tree_node"* [ %62, %112 ], [ %62, %98 ], [ %132, %146 ]
  %159 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %1, i32 0, i32 3
  %160 = load i8, i8* %159, align 4, !tbaa !1390
  %161 = icmp eq i8 %160, 1
  br i1 %161, label %162, label %462

; <label>:162:                                    ; preds = %156
  %163 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %164 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %165 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %164, i32 0, i32 1
  %166 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %165, align 4, !tbaa !23
  %167 = icmp eq %"struct.std::_Tree_node"* %157, %166
  br i1 %167, label %459, label %168

; <label>:168:                                    ; preds = %162
  br label %169

; <label>:169:                                    ; preds = %452, %168
  %170 = phi %"struct.std::_Tree_node"* [ %454, %452 ], [ %158, %168 ]
  %171 = phi %"struct.std::_Tree_node"* [ %170, %452 ], [ %157, %168 ]
  %172 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %171, i32 0, i32 3
  %173 = load i8, i8* %172, align 4, !tbaa !1390
  %174 = icmp eq i8 %173, 1
  br i1 %174, label %175, label %459

; <label>:175:                                    ; preds = %169
  %176 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 0
  %177 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %176, align 4, !tbaa !1409
  %178 = icmp eq %"struct.std::_Tree_node"* %171, %177
  br i1 %178, label %179, label %316

; <label>:179:                                    ; preds = %175
  %180 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 2
  %181 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %180, align 4, !tbaa !1408
  %182 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %181, i32 0, i32 3
  %183 = load i8, i8* %182, align 4, !tbaa !1390
  %184 = icmp eq i8 %183, 0
  br i1 %184, label %185, label %217

; <label>:185:                                    ; preds = %179
  store i8 1, i8* %182, align 4, !tbaa !1390
  %186 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 3
  store i8 0, i8* %186, align 4, !tbaa !1390
  %187 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %181, i32 0, i32 0
  %188 = bitcast %"struct.std::_Tree_node"* %181 to i32*
  %189 = load i32, i32* %188, align 4, !tbaa !1409
  %190 = bitcast %"struct.std::_Tree_node"** %180 to i32*
  store i32 %189, i32* %190, align 4, !tbaa !1408
  %191 = inttoptr i32 %189 to %"struct.std::_Tree_node"*
  %192 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %191, i32 0, i32 4
  %193 = load i8, i8* %192, align 1, !tbaa !1393
  %194 = icmp eq i8 %193, 0
  br i1 %194, label %195, label %197

; <label>:195:                                    ; preds = %185
  %196 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %191, i32 0, i32 1
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %196, align 4, !tbaa !1410
  br label %197

; <label>:197:                                    ; preds = %195, %185
  %198 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 1
  %199 = bitcast %"struct.std::_Tree_node"** %198 to i32*
  %200 = load i32, i32* %199, align 4, !tbaa !1410
  %201 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %181, i32 0, i32 1
  %202 = bitcast %"struct.std::_Tree_node"** %201 to i32*
  store i32 %200, i32* %202, align 4, !tbaa !1410
  %203 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %204 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %203, i32 0, i32 1
  %205 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %204, align 4, !tbaa !23
  %206 = icmp eq %"struct.std::_Tree_node"* %205, %170
  br i1 %206, label %214, label %207

; <label>:207:                                    ; preds = %197
  %208 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %198, align 4, !tbaa !1410
  %209 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %208, i32 0, i32 0
  %210 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %209, align 4, !tbaa !1409
  %211 = icmp eq %"struct.std::_Tree_node"* %210, %170
  %212 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %208, i32 0, i32 2
  %213 = select i1 %211, %"struct.std::_Tree_node"** %209, %"struct.std::_Tree_node"** %212
  br label %214

; <label>:214:                                    ; preds = %207, %197
  %215 = phi %"struct.std::_Tree_node"** [ %213, %207 ], [ %204, %197 ]
  store %"struct.std::_Tree_node"* %181, %"struct.std::_Tree_node"** %215, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %187, align 4, !tbaa !1409
  store %"struct.std::_Tree_node"* %181, %"struct.std::_Tree_node"** %198, align 4, !tbaa !1410
  %216 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %180, align 4, !tbaa !1408
  br label %217

; <label>:217:                                    ; preds = %214, %179
  %218 = phi %"struct.std::_Tree_node"* [ %216, %214 ], [ %181, %179 ]
  %219 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 4
  %220 = load i8, i8* %219, align 1, !tbaa !1393
  %221 = icmp eq i8 %220, 0
  br i1 %221, label %222, label %452

; <label>:222:                                    ; preds = %217
  %223 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 0
  %224 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %223, align 4, !tbaa !1409
  %225 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %224, i32 0, i32 3
  %226 = load i8, i8* %225, align 4, !tbaa !1390
  %227 = icmp eq i8 %226, 1
  br i1 %227, label %228, label %236

; <label>:228:                                    ; preds = %222
  %229 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 2
  %230 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %229, align 4, !tbaa !1408
  %231 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %230, i32 0, i32 3
  %232 = load i8, i8* %231, align 4, !tbaa !1390
  %233 = icmp eq i8 %232, 1
  br i1 %233, label %234, label %279

; <label>:234:                                    ; preds = %228
  %235 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 3
  store i8 0, i8* %235, align 4, !tbaa !1390
  br label %452

; <label>:236:                                    ; preds = %222
  %237 = ptrtoint %"struct.std::_Tree_node"* %224 to i32
  %238 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 2
  %239 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %238, align 4, !tbaa !1408
  %240 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %239, i32 0, i32 3
  %241 = load i8, i8* %240, align 4, !tbaa !1390
  %242 = icmp eq i8 %241, 1
  br i1 %242, label %243, label %281

; <label>:243:                                    ; preds = %236
  store i8 1, i8* %225, align 4, !tbaa !1390
  %244 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 3
  store i8 0, i8* %244, align 4, !tbaa !1390
  %245 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %224, i32 0, i32 2
  %246 = bitcast %"struct.std::_Tree_node"** %245 to i32*
  %247 = load i32, i32* %246, align 4, !tbaa !1408
  %248 = bitcast %"struct.std::_Tree_node"* %218 to i32*
  store i32 %247, i32* %248, align 4, !tbaa !1409
  %249 = inttoptr i32 %247 to %"struct.std::_Tree_node"*
  %250 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %249, i32 0, i32 4
  %251 = load i8, i8* %250, align 1, !tbaa !1393
  %252 = icmp eq i8 %251, 0
  br i1 %252, label %253, label %255

; <label>:253:                                    ; preds = %243
  %254 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %249, i32 0, i32 1
  store %"struct.std::_Tree_node"* %218, %"struct.std::_Tree_node"** %254, align 4, !tbaa !1410
  br label %255

; <label>:255:                                    ; preds = %253, %243
  %256 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %218, i32 0, i32 1
  %257 = bitcast %"struct.std::_Tree_node"** %256 to i32*
  %258 = load i32, i32* %257, align 4, !tbaa !1410
  %259 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %224, i32 0, i32 1
  %260 = bitcast %"struct.std::_Tree_node"** %259 to i32*
  store i32 %258, i32* %260, align 4, !tbaa !1410
  %261 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %262 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %261, i32 0, i32 1
  %263 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %262, align 4, !tbaa !23
  %264 = icmp eq %"struct.std::_Tree_node"* %263, %218
  br i1 %264, label %272, label %265

; <label>:265:                                    ; preds = %255
  %266 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %256, align 4, !tbaa !1410
  %267 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %266, i32 0, i32 2
  %268 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %267, align 4, !tbaa !1408
  %269 = icmp eq %"struct.std::_Tree_node"* %268, %218
  %270 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %266, i32 0, i32 0
  %271 = select i1 %269, %"struct.std::_Tree_node"** %267, %"struct.std::_Tree_node"** %270
  br label %272

; <label>:272:                                    ; preds = %265, %255
  %273 = phi %"struct.std::_Tree_node"** [ %271, %265 ], [ %262, %255 ]
  store %"struct.std::_Tree_node"* %224, %"struct.std::_Tree_node"** %273, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %218, %"struct.std::_Tree_node"** %245, align 4, !tbaa !1408
  store %"struct.std::_Tree_node"* %224, %"struct.std::_Tree_node"** %256, align 4, !tbaa !1410
  %274 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %180, align 4, !tbaa !1408
  %275 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %274, i32 0, i32 2
  %276 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %275, align 4, !tbaa !1408
  %277 = bitcast %"struct.std::_Tree_node"* %274 to i32*
  %278 = load i32, i32* %277, align 4, !tbaa !1409
  br label %281

; <label>:279:                                    ; preds = %228
  %280 = ptrtoint %"struct.std::_Tree_node"* %224 to i32
  br label %281

; <label>:281:                                    ; preds = %279, %272, %236
  %282 = phi i32 [ %278, %272 ], [ %237, %236 ], [ %280, %279 ]
  %283 = phi %"struct.std::_Tree_node"* [ %276, %272 ], [ %239, %236 ], [ %230, %279 ]
  %284 = phi %"struct.std::_Tree_node"* [ %274, %272 ], [ %218, %236 ], [ %218, %279 ]
  %285 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 3
  %286 = load i8, i8* %285, align 4, !tbaa !1390
  %287 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %284, i32 0, i32 3
  store i8 %286, i8* %287, align 4, !tbaa !1390
  store i8 1, i8* %285, align 4, !tbaa !1390
  %288 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %283, i32 0, i32 3
  store i8 1, i8* %288, align 4, !tbaa !1390
  %289 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %284, i32 0, i32 0
  %290 = bitcast %"struct.std::_Tree_node"** %180 to i32*
  store i32 %282, i32* %290, align 4, !tbaa !1408
  %291 = inttoptr i32 %282 to %"struct.std::_Tree_node"*
  %292 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %291, i32 0, i32 4
  %293 = load i8, i8* %292, align 1, !tbaa !1393
  %294 = icmp eq i8 %293, 0
  br i1 %294, label %295, label %297

; <label>:295:                                    ; preds = %281
  %296 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %291, i32 0, i32 1
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %296, align 4, !tbaa !1410
  br label %297

; <label>:297:                                    ; preds = %295, %281
  %298 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 1
  %299 = bitcast %"struct.std::_Tree_node"** %298 to i32*
  %300 = load i32, i32* %299, align 4, !tbaa !1410
  %301 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %284, i32 0, i32 1
  %302 = bitcast %"struct.std::_Tree_node"** %301 to i32*
  store i32 %300, i32* %302, align 4, !tbaa !1410
  %303 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %304 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %303, i32 0, i32 1
  %305 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %304, align 4, !tbaa !23
  %306 = icmp eq %"struct.std::_Tree_node"* %305, %170
  br i1 %306, label %314, label %307

; <label>:307:                                    ; preds = %297
  %308 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %298, align 4, !tbaa !1410
  %309 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %308, i32 0, i32 0
  %310 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %309, align 4, !tbaa !1409
  %311 = icmp eq %"struct.std::_Tree_node"* %310, %170
  %312 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %308, i32 0, i32 2
  %313 = select i1 %311, %"struct.std::_Tree_node"** %309, %"struct.std::_Tree_node"** %312
  br label %314

; <label>:314:                                    ; preds = %307, %297
  %315 = phi %"struct.std::_Tree_node"** [ %313, %307 ], [ %304, %297 ]
  store %"struct.std::_Tree_node"* %284, %"struct.std::_Tree_node"** %315, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %289, align 4, !tbaa !1409
  store %"struct.std::_Tree_node"* %284, %"struct.std::_Tree_node"** %298, align 4, !tbaa !1410
  br label %459

; <label>:316:                                    ; preds = %175
  %317 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %177, i32 0, i32 3
  %318 = load i8, i8* %317, align 4, !tbaa !1390
  %319 = icmp eq i8 %318, 0
  br i1 %319, label %320, label %352

; <label>:320:                                    ; preds = %316
  store i8 1, i8* %317, align 4, !tbaa !1390
  %321 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 3
  store i8 0, i8* %321, align 4, !tbaa !1390
  %322 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %177, i32 0, i32 2
  %323 = bitcast %"struct.std::_Tree_node"** %322 to i32*
  %324 = load i32, i32* %323, align 4, !tbaa !1408
  %325 = bitcast %"struct.std::_Tree_node"* %170 to i32*
  store i32 %324, i32* %325, align 4, !tbaa !1409
  %326 = inttoptr i32 %324 to %"struct.std::_Tree_node"*
  %327 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %326, i32 0, i32 4
  %328 = load i8, i8* %327, align 1, !tbaa !1393
  %329 = icmp eq i8 %328, 0
  br i1 %329, label %330, label %332

; <label>:330:                                    ; preds = %320
  %331 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %326, i32 0, i32 1
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %331, align 4, !tbaa !1410
  br label %332

; <label>:332:                                    ; preds = %330, %320
  %333 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 1
  %334 = bitcast %"struct.std::_Tree_node"** %333 to i32*
  %335 = load i32, i32* %334, align 4, !tbaa !1410
  %336 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %177, i32 0, i32 1
  %337 = bitcast %"struct.std::_Tree_node"** %336 to i32*
  store i32 %335, i32* %337, align 4, !tbaa !1410
  %338 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %339 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %338, i32 0, i32 1
  %340 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %339, align 4, !tbaa !23
  %341 = icmp eq %"struct.std::_Tree_node"* %340, %170
  br i1 %341, label %349, label %342

; <label>:342:                                    ; preds = %332
  %343 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %333, align 4, !tbaa !1410
  %344 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %343, i32 0, i32 2
  %345 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %344, align 4, !tbaa !1408
  %346 = icmp eq %"struct.std::_Tree_node"* %345, %170
  %347 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %343, i32 0, i32 0
  %348 = select i1 %346, %"struct.std::_Tree_node"** %344, %"struct.std::_Tree_node"** %347
  br label %349

; <label>:349:                                    ; preds = %342, %332
  %350 = phi %"struct.std::_Tree_node"** [ %348, %342 ], [ %339, %332 ]
  store %"struct.std::_Tree_node"* %177, %"struct.std::_Tree_node"** %350, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %322, align 4, !tbaa !1408
  store %"struct.std::_Tree_node"* %177, %"struct.std::_Tree_node"** %333, align 4, !tbaa !1410
  %351 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %176, align 4, !tbaa !1409
  br label %352

; <label>:352:                                    ; preds = %349, %316
  %353 = phi %"struct.std::_Tree_node"* [ %351, %349 ], [ %177, %316 ]
  %354 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 4
  %355 = load i8, i8* %354, align 1, !tbaa !1393
  %356 = icmp eq i8 %355, 0
  br i1 %356, label %357, label %452

; <label>:357:                                    ; preds = %352
  %358 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 2
  %359 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %358, align 4, !tbaa !1408
  %360 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %359, i32 0, i32 3
  %361 = load i8, i8* %360, align 4, !tbaa !1390
  %362 = icmp eq i8 %361, 1
  br i1 %362, label %363, label %371

; <label>:363:                                    ; preds = %357
  %364 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 0
  %365 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %364, align 4, !tbaa !1409
  %366 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %365, i32 0, i32 3
  %367 = load i8, i8* %366, align 4, !tbaa !1390
  %368 = icmp eq i8 %367, 1
  br i1 %368, label %369, label %415

; <label>:369:                                    ; preds = %363
  %370 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 3
  store i8 0, i8* %370, align 4, !tbaa !1390
  br label %452

; <label>:371:                                    ; preds = %357
  %372 = ptrtoint %"struct.std::_Tree_node"* %359 to i32
  %373 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 0
  %374 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %373, align 4, !tbaa !1409
  %375 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %374, i32 0, i32 3
  %376 = load i8, i8* %375, align 4, !tbaa !1390
  %377 = icmp eq i8 %376, 1
  br i1 %377, label %378, label %417

; <label>:378:                                    ; preds = %371
  store i8 1, i8* %360, align 4, !tbaa !1390
  %379 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 3
  store i8 0, i8* %379, align 4, !tbaa !1390
  %380 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %359, i32 0, i32 0
  %381 = bitcast %"struct.std::_Tree_node"* %359 to i32*
  %382 = load i32, i32* %381, align 4, !tbaa !1409
  %383 = bitcast %"struct.std::_Tree_node"** %358 to i32*
  store i32 %382, i32* %383, align 4, !tbaa !1408
  %384 = inttoptr i32 %382 to %"struct.std::_Tree_node"*
  %385 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %384, i32 0, i32 4
  %386 = load i8, i8* %385, align 1, !tbaa !1393
  %387 = icmp eq i8 %386, 0
  br i1 %387, label %388, label %390

; <label>:388:                                    ; preds = %378
  %389 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %384, i32 0, i32 1
  store %"struct.std::_Tree_node"* %353, %"struct.std::_Tree_node"** %389, align 4, !tbaa !1410
  br label %390

; <label>:390:                                    ; preds = %388, %378
  %391 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %353, i32 0, i32 1
  %392 = bitcast %"struct.std::_Tree_node"** %391 to i32*
  %393 = load i32, i32* %392, align 4, !tbaa !1410
  %394 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %359, i32 0, i32 1
  %395 = bitcast %"struct.std::_Tree_node"** %394 to i32*
  store i32 %393, i32* %395, align 4, !tbaa !1410
  %396 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %397 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %396, i32 0, i32 1
  %398 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %397, align 4, !tbaa !23
  %399 = icmp eq %"struct.std::_Tree_node"* %398, %353
  br i1 %399, label %407, label %400

; <label>:400:                                    ; preds = %390
  %401 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %391, align 4, !tbaa !1410
  %402 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %401, i32 0, i32 0
  %403 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %402, align 4, !tbaa !1409
  %404 = icmp eq %"struct.std::_Tree_node"* %403, %353
  %405 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %401, i32 0, i32 2
  %406 = select i1 %404, %"struct.std::_Tree_node"** %402, %"struct.std::_Tree_node"** %405
  br label %407

; <label>:407:                                    ; preds = %400, %390
  %408 = phi %"struct.std::_Tree_node"** [ %406, %400 ], [ %397, %390 ]
  store %"struct.std::_Tree_node"* %359, %"struct.std::_Tree_node"** %408, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %353, %"struct.std::_Tree_node"** %380, align 4, !tbaa !1409
  store %"struct.std::_Tree_node"* %359, %"struct.std::_Tree_node"** %391, align 4, !tbaa !1410
  %409 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %176, align 4, !tbaa !1409
  %410 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %409, i32 0, i32 0
  %411 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %410, align 4, !tbaa !1409
  %412 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %409, i32 0, i32 2
  %413 = bitcast %"struct.std::_Tree_node"** %412 to i32*
  %414 = load i32, i32* %413, align 4, !tbaa !1408
  br label %417

; <label>:415:                                    ; preds = %363
  %416 = ptrtoint %"struct.std::_Tree_node"* %359 to i32
  br label %417

; <label>:417:                                    ; preds = %415, %407, %371
  %418 = phi i32 [ %414, %407 ], [ %372, %371 ], [ %416, %415 ]
  %419 = phi %"struct.std::_Tree_node"* [ %411, %407 ], [ %374, %371 ], [ %365, %415 ]
  %420 = phi %"struct.std::_Tree_node"* [ %409, %407 ], [ %353, %371 ], [ %353, %415 ]
  %421 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 3
  %422 = load i8, i8* %421, align 4, !tbaa !1390
  %423 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %420, i32 0, i32 3
  store i8 %422, i8* %423, align 4, !tbaa !1390
  store i8 1, i8* %421, align 4, !tbaa !1390
  %424 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %419, i32 0, i32 3
  store i8 1, i8* %424, align 4, !tbaa !1390
  %425 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %420, i32 0, i32 2
  %426 = bitcast %"struct.std::_Tree_node"* %170 to i32*
  store i32 %418, i32* %426, align 4, !tbaa !1409
  %427 = inttoptr i32 %418 to %"struct.std::_Tree_node"*
  %428 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %427, i32 0, i32 4
  %429 = load i8, i8* %428, align 1, !tbaa !1393
  %430 = icmp eq i8 %429, 0
  br i1 %430, label %431, label %433

; <label>:431:                                    ; preds = %417
  %432 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %427, i32 0, i32 1
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %432, align 4, !tbaa !1410
  br label %433

; <label>:433:                                    ; preds = %431, %417
  %434 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 1
  %435 = bitcast %"struct.std::_Tree_node"** %434 to i32*
  %436 = load i32, i32* %435, align 4, !tbaa !1410
  %437 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %420, i32 0, i32 1
  %438 = bitcast %"struct.std::_Tree_node"** %437 to i32*
  store i32 %436, i32* %438, align 4, !tbaa !1410
  %439 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %440 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %439, i32 0, i32 1
  %441 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %440, align 4, !tbaa !23
  %442 = icmp eq %"struct.std::_Tree_node"* %441, %170
  br i1 %442, label %450, label %443

; <label>:443:                                    ; preds = %433
  %444 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %434, align 4, !tbaa !1410
  %445 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %444, i32 0, i32 2
  %446 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %445, align 4, !tbaa !1408
  %447 = icmp eq %"struct.std::_Tree_node"* %446, %170
  %448 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %444, i32 0, i32 0
  %449 = select i1 %447, %"struct.std::_Tree_node"** %445, %"struct.std::_Tree_node"** %448
  br label %450

; <label>:450:                                    ; preds = %443, %433
  %451 = phi %"struct.std::_Tree_node"** [ %449, %443 ], [ %440, %433 ]
  store %"struct.std::_Tree_node"* %420, %"struct.std::_Tree_node"** %451, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %170, %"struct.std::_Tree_node"** %425, align 4, !tbaa !1408
  store %"struct.std::_Tree_node"* %420, %"struct.std::_Tree_node"** %434, align 4, !tbaa !1410
  br label %459

; <label>:452:                                    ; preds = %369, %352, %234, %217
  %453 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %170, i32 0, i32 1
  %454 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %453, align 4, !tbaa !1410
  %455 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %163, align 4, !tbaa !23
  %456 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %455, i32 0, i32 1
  %457 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %456, align 4, !tbaa !23
  %458 = icmp eq %"struct.std::_Tree_node"* %170, %457
  br i1 %458, label %459, label %169

; <label>:459:                                    ; preds = %452, %450, %314, %169, %162
  %460 = phi %"struct.std::_Tree_node"* [ %171, %450 ], [ %171, %314 ], [ %157, %162 ], [ %171, %169 ], [ %170, %452 ]
  %461 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %460, i32 0, i32 3
  store i8 1, i8* %461, align 4, !tbaa !1390
  br label %462

; <label>:462:                                    ; preds = %459, %156
  %463 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %464 = load i32, i32* %463, align 4, !tbaa !24
  %465 = icmp eq i32 %464, 0
  br i1 %465, label %468, label %466

; <label>:466:                                    ; preds = %462
  %467 = add i32 %464, -1
  store i32 %467, i32* %463, align 4, !tbaa !24
  br label %468

; <label>:468:                                    ; preds = %466, %462
  ret %"struct.std::_Tree_node"* %1
}

; Function Attrs: norecurse nounwind readnone
define zeroext i1 @"\01?hasDynamicImporter@@YA_NXZ"() local_unnamed_addr #11 {
  ret i1 true
}

; Function Attrs: nounwind
define void @"\01?getLocation@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@0AAPAX@Z"(%"class.std::basic_string"* noalias nocapture sret, %"class.std::basic_string"* dereferenceable(24), %"class.std::basic_string"* dereferenceable(24), i8** nocapture dereferenceable(4)) local_unnamed_addr #2 {
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca [21 x i8], align 1
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"class.std::_Tree_iterator", align 4
  %13 = alloca %"class.std::basic_string.101", align 4
  %14 = bitcast %"class.std::basic_string.101"* %13 to i8*
  %15 = alloca %"struct.std::pair.12", align 4
  %16 = alloca %"struct.std::pair.149", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = alloca %"class.std::basic_string", align 4
  %19 = bitcast %"class.std::_Tree_iterator"* %12 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %19) #14
  call x86_thiscallcc void @"\01?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::_Tree"* getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0), %"class.std::_Tree_iterator"* nonnull sret %12, %"class.std::basic_string"* nonnull dereferenceable(24) %1) #14
  %20 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0), align 4, !tbaa !23, !noalias !1411
  %21 = getelementptr inbounds %"class.std::_Tree_iterator", %"class.std::_Tree_iterator"* %12, i32 0, i32 0, i32 0, i32 0
  %22 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %21, align 4, !tbaa !1403
  %23 = icmp eq %"struct.std::_Tree_node"* %22, %20
  br i1 %23, label %24, label %285

; <label>:24:                                     ; preds = %4
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %14) #14
  %25 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %26 = load i32, i32* %25, align 4, !tbaa !83
  %27 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %13, i32 0, i32 0, i32 0, i32 0, i32 1
  %28 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %13, i32 0, i32 0, i32 0, i32 0, i32 2
  %29 = bitcast i32* %27 to i64*
  store i64 0, i64* %29, align 4
  store i32 7, i32* %28, align 4, !tbaa !54
  %30 = bitcast %"class.std::basic_string.101"* %13 to i16*
  store i16 0, i16* %30, align 4, !tbaa !56
  %31 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %31) #14
  %32 = icmp ugt i32 %26, 7
  br i1 %32, label %62, label %33

; <label>:33:                                     ; preds = %24
  store i32 %26, i32* %27, align 4, !tbaa !58
  %34 = icmp eq i32 %26, 0
  br i1 %34, label %60, label %35

; <label>:35:                                     ; preds = %33
  %36 = icmp ult i32 %26, 16
  br i1 %36, label %51, label %37

; <label>:37:                                     ; preds = %35
  %38 = and i32 %26, -16
  %39 = getelementptr i16, i16* %30, i32 %38
  %40 = sub i32 %26, %38
  br label %41

; <label>:41:                                     ; preds = %41, %37
  %42 = phi i32 [ 0, %37 ], [ %47, %41 ]
  %43 = getelementptr i16, i16* %30, i32 %42
  %44 = bitcast i16* %43 to <8 x i16>*
  store <8 x i16> <i16 97, i16 97, i16 97, i16 97, i16 97, i16 97, i16 97, i16 97>, <8 x i16>* %44, align 4, !tbaa !56
  %45 = getelementptr i16, i16* %43, i32 8
  %46 = bitcast i16* %45 to <8 x i16>*
  store <8 x i16> <i16 97, i16 97, i16 97, i16 97, i16 97, i16 97, i16 97, i16 97>, <8 x i16>* %46, align 4, !tbaa !56
  %47 = add i32 %42, 16
  %48 = icmp eq i32 %47, %38
  br i1 %48, label %49, label %41, !llvm.loop !1414

; <label>:49:                                     ; preds = %41
  %50 = icmp eq i32 %26, %38
  br i1 %50, label %60, label %51

; <label>:51:                                     ; preds = %49, %35
  %52 = phi i16* [ %30, %35 ], [ %39, %49 ]
  %53 = phi i32 [ %26, %35 ], [ %40, %49 ]
  br label %54

; <label>:54:                                     ; preds = %54, %51
  %55 = phi i16* [ %57, %54 ], [ %52, %51 ]
  %56 = phi i32 [ %58, %54 ], [ %53, %51 ]
  store i16 97, i16* %55, align 2, !tbaa !56
  %57 = getelementptr inbounds i16, i16* %55, i32 1
  %58 = add i32 %56, -1
  %59 = icmp eq i32 %58, 0
  br i1 %59, label %60, label %54, !llvm.loop !1415

; <label>:60:                                     ; preds = %54, %49, %33
  %61 = getelementptr inbounds i16, i16* %30, i32 %26
  store i16 0, i16* %61, align 2, !tbaa !56
  br label %65

; <label>:62:                                     ; preds = %24
  %63 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@I_W@Z@_W@Z"(%"class.std::basic_string.101"* nonnull %13, i32 %26, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i16 zeroext 97) #14
  %64 = load i32, i32* %27, align 4, !tbaa !58
  br label %65

; <label>:65:                                     ; preds = %62, %60
  %66 = phi i32 [ %26, %60 ], [ %64, %62 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %31) #14
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %71

; <label>:68:                                     ; preds = %65
  %69 = load i32, i32* %28, align 4, !tbaa !54
  %70 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %127

; <label>:71:                                     ; preds = %65
  %72 = bitcast %"class.std::basic_string"* %1 to i8*
  %73 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %74 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %75 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %13, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %76 = load i32, i32* %28, align 4, !tbaa !54
  %77 = icmp ugt i32 %76, 7
  %78 = load i32, i32* %73, align 4, !tbaa !81
  br i1 %77, label %79, label %92

; <label>:79:                                     ; preds = %71
  %80 = icmp ugt i32 %78, 15
  br label %81

; <label>:81:                                     ; preds = %81, %79
  %82 = phi i32 [ %66, %79 ], [ %83, %81 ]
  %83 = add i32 %82, -1
  %84 = load i8*, i8** %74, align 4
  %85 = select i1 %80, i8* %84, i8* %72
  %86 = getelementptr inbounds i8, i8* %85, i32 %83
  %87 = load i8, i8* %86, align 1, !tbaa !12
  %88 = sext i8 %87 to i16
  %89 = load i16*, i16** %75, align 4
  %90 = getelementptr inbounds i16, i16* %89, i32 %83
  store i16 %88, i16* %90, align 2, !tbaa !56
  %91 = icmp eq i32 %83, 0
  br i1 %91, label %127, label %81

; <label>:92:                                     ; preds = %71
  %93 = load i8*, i8** %74, align 4
  %94 = icmp ugt i32 %78, 15
  %95 = select i1 %94, i8* %93, i8* %72
  %96 = icmp ult i32 %66, 8
  br i1 %96, label %97, label %99

; <label>:97:                                     ; preds = %125, %99, %92
  %98 = phi i32 [ %66, %99 ], [ %66, %92 ], [ %108, %125 ]
  br label %136

; <label>:99:                                     ; preds = %92
  %100 = shl i32 %66, 1
  %101 = getelementptr i8, i8* %14, i32 %100
  %102 = getelementptr i8, i8* %95, i32 %66
  %103 = icmp ugt i8* %102, %14
  %104 = icmp ult i8* %95, %101
  %105 = and i1 %103, %104
  br i1 %105, label %97, label %106

; <label>:106:                                    ; preds = %99
  %107 = and i32 %66, -8
  %108 = sub i32 %66, %107
  br label %109

; <label>:109:                                    ; preds = %109, %106
  %110 = phi i32 [ 0, %106 ], [ %123, %109 ]
  %111 = sub i32 %66, %110
  %112 = add i32 %111, -1
  %113 = getelementptr inbounds i8, i8* %95, i32 %112
  %114 = getelementptr i8, i8* %113, i32 -7
  %115 = bitcast i8* %114 to <8 x i8>*
  %116 = load <8 x i8>, <8 x i8>* %115, align 1, !tbaa !12, !alias.scope !1416
  %117 = shufflevector <8 x i8> %116, <8 x i8> undef, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
  %118 = sext <8 x i8> %117 to <8 x i16>
  %119 = getelementptr inbounds i16, i16* %30, i32 %112
  %120 = shufflevector <8 x i16> %118, <8 x i16> undef, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
  %121 = getelementptr i16, i16* %119, i32 -7
  %122 = bitcast i16* %121 to <8 x i16>*
  store <8 x i16> %120, <8 x i16>* %122, align 2, !tbaa !56, !alias.scope !1419, !noalias !1416
  %123 = add i32 %110, 8
  %124 = icmp eq i32 %123, %107
  br i1 %124, label %125, label %109, !llvm.loop !1421

; <label>:125:                                    ; preds = %109
  %126 = icmp eq i32 %66, %107
  br i1 %126, label %127, label %97

; <label>:127:                                    ; preds = %136, %125, %81, %68
  %128 = phi i16** [ %70, %68 ], [ %75, %125 ], [ %75, %81 ], [ %75, %136 ]
  %129 = phi i32 [ %69, %68 ], [ %76, %125 ], [ %76, %81 ], [ %76, %136 ]
  %130 = icmp ugt i32 %129, 7
  %131 = load i16*, i16** %128, align 4
  %132 = select i1 %130, i16* %131, i16* %30
  %133 = call x86_stdcallcc %struct.HINSTANCE__* @"\01_LoadLibraryW@4"(i16* %132) #14
  %134 = ptrtoint %struct.HINSTANCE__* %133 to i32
  %135 = icmp eq %struct.HINSTANCE__* %133, null
  br i1 %135, label %249, label %144

; <label>:136:                                    ; preds = %136, %97
  %137 = phi i32 [ %138, %136 ], [ %98, %97 ]
  %138 = add i32 %137, -1
  %139 = getelementptr inbounds i8, i8* %95, i32 %138
  %140 = load i8, i8* %139, align 1, !tbaa !12
  %141 = sext i8 %140 to i16
  %142 = getelementptr inbounds i16, i16* %30, i32 %138
  store i16 %141, i16* %142, align 2, !tbaa !56
  %143 = icmp eq i32 %138, 0
  br i1 %143, label %127, label %136, !llvm.loop !1422

; <label>:144:                                    ; preds = %127
  %145 = bitcast %"struct.std::pair.12"* %15 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %145) #14
  %146 = bitcast %"struct.std::pair.149"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 28, i8* nonnull %146) #14
  %147 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %147, align 4, !tbaa !83
  %148 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 0, i32* %148, align 4, !tbaa !81
  %149 = load i32, i32* %25, align 4, !tbaa !83
  %150 = bitcast %"class.std::basic_string"* %1 to i8*
  %151 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %152 = load i32, i32* %151, align 4, !tbaa !81
  %153 = icmp ugt i32 %152, 15
  %154 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %155 = load i8*, i8** %154, align 4
  %156 = select i1 %153, i8* %155, i8* %150
  %157 = icmp ult i32 %149, 16
  br i1 %157, label %158, label %159

; <label>:158:                                    ; preds = %144
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %146, i8* %156, i32 16, i32 1, i1 false) #14
  br label %181

; <label>:159:                                    ; preds = %144
  %160 = or i32 %149, 15
  %161 = icmp ult i32 %160, 2147483647
  %162 = select i1 %161, i32 %160, i32 2147483647
  %163 = icmp ugt i32 %162, 4094
  br i1 %163, label %164, label %173

; <label>:164:                                    ; preds = %159
  %165 = add nuw i32 %162, 36
  %166 = call i8* @"\01??2@YAPAXI@Z"(i32 %165) #14
  %167 = ptrtoint i8* %166 to i32
  %168 = add i32 %167, 35
  %169 = and i32 %168, -32
  %170 = inttoptr i32 %169 to i8*
  %171 = inttoptr i32 %169 to i32*
  %172 = getelementptr inbounds i32, i32* %171, i32 -1
  store i32 %167, i32* %172, align 4, !tbaa !24
  br label %176

; <label>:173:                                    ; preds = %159
  %174 = add nuw i32 %162, 1
  %175 = call i8* @"\01??2@YAPAXI@Z"(i32 %174) #14
  br label %176

; <label>:176:                                    ; preds = %173, %164
  %177 = phi i8* [ %170, %164 ], [ %175, %173 ]
  %178 = ptrtoint i8* %177 to i32
  %179 = bitcast %"struct.std::pair.149"* %16 to i32*
  store i32 %178, i32* %179, align 4, !tbaa !23
  %180 = add i32 %149, 1
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %177, i8* %156, i32 %180, i32 1, i1 false) #14
  br label %181

; <label>:181:                                    ; preds = %176, %158
  %182 = phi i32 [ %162, %176 ], [ 15, %158 ]
  store i32 %149, i32* %147, align 4, !tbaa !83
  store i32 %182, i32* %148, align 4, !tbaa !81
  %183 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %16, i32 0, i32 1
  %184 = bitcast %struct.HINSTANCE__** %183 to i32*
  store i32 %134, i32* %184, align 4, !tbaa !1423
  %185 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %185) #14
  call x86_thiscallcc void @"\01??$_Insert_nohint@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@_N@1@_N$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Tree"* getelementptr inbounds (%"class.std::map", %"class.std::map"* @"\01?libraries@?A@@3V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@@std@@A", i32 0, i32 0), %"struct.std::pair.12"* nonnull sret %15, i1 zeroext false, %"struct.std::pair.149"* nonnull dereferenceable(28) %16, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10) #14
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %185) #14
  %186 = bitcast %"struct.std::pair.12"* %15 to i32*
  %187 = bitcast %"class.std::_Tree_iterator"* %12 to i32*
  %188 = load i32, i32* %186, align 4
  store i32 %188, i32* %187, align 4
  %189 = load i32, i32* %148, align 4, !tbaa !81
  %190 = icmp ugt i32 %189, 15
  br i1 %190, label %191, label %216

; <label>:191:                                    ; preds = %181
  %192 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %193 = load i8*, i8** %192, align 4, !tbaa !12
  %194 = add i32 %189, 1
  %195 = icmp ugt i32 %194, 4095
  br i1 %195, label %196, label %213

; <label>:196:                                    ; preds = %191
  %197 = add i32 %189, 36
  %198 = icmp ugt i32 %194, -36
  br i1 %198, label %212, label %199

; <label>:199:                                    ; preds = %196
  %200 = ptrtoint i8* %193 to i32
  %201 = and i32 %200, 31
  %202 = icmp eq i32 %201, 0
  br i1 %202, label %203, label %212

; <label>:203:                                    ; preds = %199
  %204 = add i32 %200, -4
  %205 = inttoptr i32 %204 to i32*
  %206 = load i32, i32* %205, align 4, !tbaa !24
  %207 = icmp ult i32 %206, %200
  br i1 %207, label %208, label %212

; <label>:208:                                    ; preds = %203
  %209 = sub i32 %204, %206
  %210 = icmp ugt i32 %209, 31
  %211 = inttoptr i32 %206 to i8*
  br i1 %210, label %212, label %213

; <label>:212:                                    ; preds = %208, %203, %199, %196
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:213:                                    ; preds = %208, %191
  %214 = phi i8* [ %211, %208 ], [ %193, %191 ]
  %215 = phi i32 [ %197, %208 ], [ %194, %191 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %214, i32 %215) #14
  br label %216

; <label>:216:                                    ; preds = %213, %181
  call void @llvm.lifetime.end.p0i8(i64 28, i8* nonnull %146) #14
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %145) #14
  %217 = load i32, i32* %28, align 4, !tbaa !54
  %218 = icmp ugt i32 %217, 7
  br i1 %218, label %219, label %247

; <label>:219:                                    ; preds = %216
  %220 = load i16*, i16** %128, align 4, !tbaa !12
  %221 = add i32 %217, 1
  %222 = icmp slt i32 %221, 0
  br i1 %222, label %243, label %223

; <label>:223:                                    ; preds = %219
  %224 = bitcast i16* %220 to i8*
  %225 = shl i32 %221, 1
  %226 = icmp ugt i32 %225, 4095
  br i1 %226, label %227, label %244

; <label>:227:                                    ; preds = %223
  %228 = add i32 %225, 35
  %229 = icmp ugt i32 %225, -36
  br i1 %229, label %243, label %230

; <label>:230:                                    ; preds = %227
  %231 = ptrtoint i16* %220 to i32
  %232 = and i32 %231, 31
  %233 = icmp eq i32 %232, 0
  br i1 %233, label %234, label %243

; <label>:234:                                    ; preds = %230
  %235 = add i32 %231, -4
  %236 = inttoptr i32 %235 to i32*
  %237 = load i32, i32* %236, align 4, !tbaa !24
  %238 = icmp ult i32 %237, %231
  br i1 %238, label %239, label %243

; <label>:239:                                    ; preds = %234
  %240 = sub i32 %235, %237
  %241 = icmp ugt i32 %240, 31
  %242 = inttoptr i32 %237 to i8*
  br i1 %241, label %243, label %244

; <label>:243:                                    ; preds = %239, %234, %230, %227, %219
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:244:                                    ; preds = %239, %223
  %245 = phi i8* [ %242, %239 ], [ %224, %223 ]
  %246 = phi i32 [ %228, %239 ], [ %225, %223 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %245, i32 %246) #14
  br label %247

; <label>:247:                                    ; preds = %244, %216
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %14) #14
  %248 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %21, align 4, !tbaa !1403
  br label %285

; <label>:249:                                    ; preds = %127
  %250 = load i32, i32* %28, align 4, !tbaa !54
  %251 = icmp ugt i32 %250, 7
  br i1 %251, label %252, label %280

; <label>:252:                                    ; preds = %249
  %253 = load i16*, i16** %128, align 4, !tbaa !12
  %254 = add i32 %250, 1
  %255 = icmp slt i32 %254, 0
  br i1 %255, label %276, label %256

; <label>:256:                                    ; preds = %252
  %257 = bitcast i16* %253 to i8*
  %258 = shl i32 %254, 1
  %259 = icmp ugt i32 %258, 4095
  br i1 %259, label %260, label %277

; <label>:260:                                    ; preds = %256
  %261 = add i32 %258, 35
  %262 = icmp ugt i32 %258, -36
  br i1 %262, label %276, label %263

; <label>:263:                                    ; preds = %260
  %264 = ptrtoint i16* %253 to i32
  %265 = and i32 %264, 31
  %266 = icmp eq i32 %265, 0
  br i1 %266, label %267, label %276

; <label>:267:                                    ; preds = %263
  %268 = add i32 %264, -4
  %269 = inttoptr i32 %268 to i32*
  %270 = load i32, i32* %269, align 4, !tbaa !24
  %271 = icmp ult i32 %270, %264
  br i1 %271, label %272, label %276

; <label>:272:                                    ; preds = %267
  %273 = sub i32 %268, %270
  %274 = icmp ugt i32 %273, 31
  %275 = inttoptr i32 %270 to i8*
  br i1 %274, label %276, label %277

; <label>:276:                                    ; preds = %272, %267, %263, %260, %252
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:277:                                    ; preds = %272, %256
  %278 = phi i8* [ %275, %272 ], [ %257, %256 ]
  %279 = phi i32 [ %261, %272 ], [ %258, %256 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %278, i32 %279) #14
  br label %280

; <label>:280:                                    ; preds = %277, %249
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %14) #14
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %19) #14
  %281 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %281) #14
  %282 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %283 = getelementptr inbounds [21 x i8], [21 x i8]* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %283) #14, !noalias !1424
  %284 = getelementptr inbounds [21 x i8], [21 x i8]* %9, i32 0, i32 21
  br label %299

; <label>:285:                                    ; preds = %247, %4
  %286 = phi %"struct.std::_Tree_node"* [ %248, %247 ], [ %22, %4 ]
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %19) #14
  %287 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %286, i32 0, i32 5, i32 1
  %288 = bitcast %"class.std::basic_string"* %2 to i8*
  %289 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %290 = load i32, i32* %289, align 4, !tbaa !81
  %291 = icmp ugt i32 %290, 15
  %292 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %293 = load i8*, i8** %292, align 4
  %294 = select i1 %291, i8* %293, i8* %288
  %295 = load %struct.HINSTANCE__*, %struct.HINSTANCE__** %287, align 4, !tbaa !23
  %296 = call x86_stdcallcc i32 ()* @"\01_GetProcAddress@8"(%struct.HINSTANCE__* %295, i8* %294) #14
  %297 = bitcast i8** %3 to i32 ()**
  store i32 ()* %296, i32 ()** %297, align 4, !tbaa !23
  %298 = icmp eq i32 ()* %296, null
  br i1 %298, label %389, label %484

; <label>:299:                                    ; preds = %299, %280
  %300 = phi i32 [ 0, %280 ], [ %305, %299 ]
  %301 = phi i32 [ %282, %280 ], [ %307, %299 ]
  %302 = urem i32 %301, 10
  %303 = trunc i32 %302 to i8
  %304 = or i8 %303, 48
  %305 = add nsw i32 %300, -1
  %306 = getelementptr inbounds i8, i8* %284, i32 %305
  store i8 %304, i8* %306, align 1, !tbaa !12, !noalias !1424
  %307 = udiv i32 %301, 10
  %308 = icmp ugt i32 %301, 9
  br i1 %308, label %299, label %309

; <label>:309:                                    ; preds = %299
  %310 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  %311 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  %312 = bitcast i32* %310 to i64*
  store i64 0, i64* %312, align 4, !alias.scope !1424
  store i32 15, i32* %311, align 4, !tbaa !81, !alias.scope !1424
  store i8 0, i8* %281, align 4, !tbaa !12, !alias.scope !1424
  %313 = icmp eq i32 %305, 0
  br i1 %313, label %325, label %314

; <label>:314:                                    ; preds = %309
  %315 = sub i32 1, %300
  %316 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %316) #14, !noalias !1424
  %317 = icmp ugt i32 %315, 15
  br i1 %317, label %320, label %318

; <label>:318:                                    ; preds = %314
  store i32 %315, i32* %310, align 4, !tbaa !83, !alias.scope !1424
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %281, i8* %306, i32 %315, i32 1, i1 false) #14
  %319 = getelementptr inbounds i8, i8* %281, i32 %315
  store i8 0, i8* %319, align 1, !tbaa !12, !alias.scope !1424
  br label %322

; <label>:320:                                    ; preds = %314
  %321 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %17, i32 %315, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8* %306) #14
  br label %322

; <label>:322:                                    ; preds = %320, %318
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %316) #14, !noalias !1424
  %323 = load i32, i32* %310, align 4, !tbaa !83, !noalias !1429
  %324 = load i32, i32* %311, align 4, !tbaa !81, !noalias !1429
  br label %325

; <label>:325:                                    ; preds = %322, %309
  %326 = phi i32 [ 15, %309 ], [ %324, %322 ]
  %327 = phi i32 [ 0, %309 ], [ %323, %322 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %283) #14, !noalias !1424
  %328 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %328) #14, !noalias !1429
  %329 = sub i32 %326, %327
  %330 = icmp ult i32 %329, 35
  br i1 %330, label %353, label %331

; <label>:331:                                    ; preds = %325
  %332 = add i32 %327, 35
  store i32 %332, i32* %310, align 4, !tbaa !83, !noalias !1429
  %333 = icmp ugt i32 %326, 15
  %334 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %335 = load i8*, i8** %334, align 4, !noalias !1429
  %336 = select i1 %333, i8* %335, i8* %281
  %337 = icmp uge i8* %336, getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 35)
  %338 = getelementptr inbounds i8, i8* %336, i32 %327
  %339 = icmp ult i8* %338, getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 0)
  %340 = or i1 %337, %339
  br i1 %340, label %346, label %341

; <label>:341:                                    ; preds = %331
  %342 = icmp ugt i8* %336, getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 0)
  br i1 %342, label %343, label %346

; <label>:343:                                    ; preds = %341
  %344 = ptrtoint i8* %336 to i32
  %345 = sub i32 %344, ptrtoint ([36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@" to i32)
  br label %346

; <label>:346:                                    ; preds = %343, %341, %331
  %347 = phi i32 [ %345, %343 ], [ 35, %331 ], [ 0, %341 ]
  %348 = add i32 %327, 1
  %349 = getelementptr inbounds i8, i8* %336, i32 35
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %349, i8* %336, i32 %348, i32 1, i1 false) #14, !noalias !1429
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %336, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 0), i32 %347, i32 1, i1 false) #14, !noalias !1429
  %350 = sub i32 35, %347
  %351 = getelementptr inbounds i8, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 35), i32 %347
  %352 = getelementptr inbounds i8, i8* %336, i32 %347
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %352, i8* %351, i32 %350, i32 1, i1 false) #14, !noalias !1429
  br label %355

; <label>:353:                                    ; preds = %325
  %354 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %17, i32 35, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i32 0, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @"\01??_C@_0CE@CKIAOEAF@Error?5while?5loading?5library?0?5cod@", i32 0, i32 0), i32 35) #14, !noalias !1429
  br label %355

; <label>:355:                                    ; preds = %353, %346
  %356 = phi %"class.std::basic_string"* [ %17, %346 ], [ %354, %353 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %328) #14, !noalias !1429
  %357 = bitcast %"class.std::basic_string"* %0 to i8*
  %358 = bitcast %"class.std::basic_string"* %356 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %357, i8* nonnull %358, i32 24, i32 1, i1 false) #14
  %359 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %356, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %359, align 4, !tbaa !83, !noalias !1429
  %360 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %356, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %360, align 4, !tbaa !81, !noalias !1429
  store i8 0, i8* %358, align 1, !tbaa !12, !noalias !1429
  %361 = load i32, i32* %311, align 4, !tbaa !81
  %362 = icmp ugt i32 %361, 15
  br i1 %362, label %363, label %388

; <label>:363:                                    ; preds = %355
  %364 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %365 = load i8*, i8** %364, align 4, !tbaa !12
  %366 = add i32 %361, 1
  %367 = icmp ugt i32 %366, 4095
  br i1 %367, label %368, label %385

; <label>:368:                                    ; preds = %363
  %369 = add i32 %361, 36
  %370 = icmp ugt i32 %366, -36
  br i1 %370, label %384, label %371

; <label>:371:                                    ; preds = %368
  %372 = ptrtoint i8* %365 to i32
  %373 = and i32 %372, 31
  %374 = icmp eq i32 %373, 0
  br i1 %374, label %375, label %384

; <label>:375:                                    ; preds = %371
  %376 = add i32 %372, -4
  %377 = inttoptr i32 %376 to i32*
  %378 = load i32, i32* %377, align 4, !tbaa !24
  %379 = icmp ult i32 %378, %372
  br i1 %379, label %380, label %384

; <label>:380:                                    ; preds = %375
  %381 = sub i32 %376, %378
  %382 = icmp ugt i32 %381, 31
  %383 = inttoptr i32 %378 to i8*
  br i1 %382, label %384, label %385

; <label>:384:                                    ; preds = %380, %375, %371, %368
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:385:                                    ; preds = %380, %363
  %386 = phi i8* [ %383, %380 ], [ %365, %363 ]
  %387 = phi i32 [ %369, %380 ], [ %366, %363 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %386, i32 %387) #14
  br label %388

; <label>:388:                                    ; preds = %385, %355
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %281) #14
  br label %489

; <label>:389:                                    ; preds = %285
  %390 = bitcast %"class.std::basic_string"* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %390) #14
  %391 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %392 = getelementptr inbounds [21 x i8], [21 x i8]* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %392) #14, !noalias !1432
  %393 = getelementptr inbounds [21 x i8], [21 x i8]* %9, i32 0, i32 21
  br label %394

; <label>:394:                                    ; preds = %394, %389
  %395 = phi i32 [ 0, %389 ], [ %400, %394 ]
  %396 = phi i32 [ %391, %389 ], [ %402, %394 ]
  %397 = urem i32 %396, 10
  %398 = trunc i32 %397 to i8
  %399 = or i8 %398, 48
  %400 = add nsw i32 %395, -1
  %401 = getelementptr inbounds i8, i8* %393, i32 %400
  store i8 %399, i8* %401, align 1, !tbaa !12, !noalias !1432
  %402 = udiv i32 %396, 10
  %403 = icmp ugt i32 %396, 9
  br i1 %403, label %394, label %404

; <label>:404:                                    ; preds = %394
  %405 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 1
  %406 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 2
  %407 = bitcast i32* %405 to i64*
  store i64 0, i64* %407, align 4, !alias.scope !1432
  store i32 15, i32* %406, align 4, !tbaa !81, !alias.scope !1432
  store i8 0, i8* %390, align 4, !tbaa !12, !alias.scope !1432
  %408 = icmp eq i32 %400, 0
  br i1 %408, label %420, label %409

; <label>:409:                                    ; preds = %404
  %410 = sub i32 1, %395
  %411 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %411) #14, !noalias !1432
  %412 = icmp ugt i32 %410, 15
  br i1 %412, label %415, label %413

; <label>:413:                                    ; preds = %409
  store i32 %410, i32* %405, align 4, !tbaa !83, !alias.scope !1432
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %390, i8* %401, i32 %410, i32 1, i1 false) #14
  %414 = getelementptr inbounds i8, i8* %390, i32 %410
  store i8 0, i8* %414, align 1, !tbaa !12, !alias.scope !1432
  br label %417

; <label>:415:                                    ; preds = %409
  %416 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %18, i32 %410, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8* %401) #14
  br label %417

; <label>:417:                                    ; preds = %415, %413
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %411) #14, !noalias !1432
  %418 = load i32, i32* %405, align 4, !tbaa !83, !noalias !1437
  %419 = load i32, i32* %406, align 4, !tbaa !81, !noalias !1437
  br label %420

; <label>:420:                                    ; preds = %417, %404
  %421 = phi i32 [ 15, %404 ], [ %419, %417 ]
  %422 = phi i32 [ 0, %404 ], [ %418, %417 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %392) #14, !noalias !1432
  %423 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %423) #14, !noalias !1437
  %424 = sub i32 %421, %422
  %425 = icmp ult i32 %424, 36
  br i1 %425, label %448, label %426

; <label>:426:                                    ; preds = %420
  %427 = add i32 %422, 36
  store i32 %427, i32* %405, align 4, !tbaa !83, !noalias !1437
  %428 = icmp ugt i32 %421, 15
  %429 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %430 = load i8*, i8** %429, align 4, !noalias !1437
  %431 = select i1 %428, i8* %430, i8* %390
  %432 = icmp uge i8* %431, getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 36)
  %433 = getelementptr inbounds i8, i8* %431, i32 %422
  %434 = icmp ult i8* %433, getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 0)
  %435 = or i1 %432, %434
  br i1 %435, label %441, label %436

; <label>:436:                                    ; preds = %426
  %437 = icmp ugt i8* %431, getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 0)
  br i1 %437, label %438, label %441

; <label>:438:                                    ; preds = %436
  %439 = ptrtoint i8* %431 to i32
  %440 = sub i32 %439, ptrtoint ([37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@" to i32)
  br label %441

; <label>:441:                                    ; preds = %438, %436, %426
  %442 = phi i32 [ %440, %438 ], [ 36, %426 ], [ 0, %436 ]
  %443 = add i32 %422, 1
  %444 = getelementptr inbounds i8, i8* %431, i32 36
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %444, i8* %431, i32 %443, i32 1, i1 false) #14, !noalias !1437
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %431, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 0), i32 %442, i32 1, i1 false) #14, !noalias !1437
  %445 = sub i32 36, %442
  %446 = getelementptr inbounds i8, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 36), i32 %442
  %447 = getelementptr inbounds i8, i8* %431, i32 %442
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %447, i8* %446, i32 %445, i32 1, i1 false) #14, !noalias !1437
  br label %450

; <label>:448:                                    ; preds = %420
  %449 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %18, i32 36, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i32 0, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @"\01??_C@_0CF@HDPFCPFJ@Error?5while?5loading?5function?0?5co@", i32 0, i32 0), i32 36) #14, !noalias !1437
  br label %450

; <label>:450:                                    ; preds = %448, %441
  %451 = phi %"class.std::basic_string"* [ %18, %441 ], [ %449, %448 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %423) #14, !noalias !1437
  %452 = bitcast %"class.std::basic_string"* %0 to i8*
  %453 = bitcast %"class.std::basic_string"* %451 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %452, i8* nonnull %453, i32 24, i32 1, i1 false) #14
  %454 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %451, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %454, align 4, !tbaa !83, !noalias !1437
  %455 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %451, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %455, align 4, !tbaa !81, !noalias !1437
  store i8 0, i8* %453, align 1, !tbaa !12, !noalias !1437
  %456 = load i32, i32* %406, align 4, !tbaa !81
  %457 = icmp ugt i32 %456, 15
  br i1 %457, label %458, label %483

; <label>:458:                                    ; preds = %450
  %459 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %460 = load i8*, i8** %459, align 4, !tbaa !12
  %461 = add i32 %456, 1
  %462 = icmp ugt i32 %461, 4095
  br i1 %462, label %463, label %480

; <label>:463:                                    ; preds = %458
  %464 = add i32 %456, 36
  %465 = icmp ugt i32 %461, -36
  br i1 %465, label %479, label %466

; <label>:466:                                    ; preds = %463
  %467 = ptrtoint i8* %460 to i32
  %468 = and i32 %467, 31
  %469 = icmp eq i32 %468, 0
  br i1 %469, label %470, label %479

; <label>:470:                                    ; preds = %466
  %471 = add i32 %467, -4
  %472 = inttoptr i32 %471 to i32*
  %473 = load i32, i32* %472, align 4, !tbaa !24
  %474 = icmp ult i32 %473, %467
  br i1 %474, label %475, label %479

; <label>:475:                                    ; preds = %470
  %476 = sub i32 %471, %473
  %477 = icmp ugt i32 %476, 31
  %478 = inttoptr i32 %473 to i8*
  br i1 %477, label %479, label %480

; <label>:479:                                    ; preds = %475, %470, %466, %463
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:480:                                    ; preds = %475, %458
  %481 = phi i8* [ %478, %475 ], [ %460, %458 ]
  %482 = phi i32 [ %464, %475 ], [ %461, %458 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %481, i32 %482) #14
  br label %483

; <label>:483:                                    ; preds = %480, %450
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %390) #14
  br label %489

; <label>:484:                                    ; preds = %285
  %485 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %486 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %487 = bitcast i32* %485 to i64*
  store i64 0, i64* %487, align 4
  store i32 15, i32* %486, align 4, !tbaa !81
  %488 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %488, align 4, !tbaa !12
  br label %489

; <label>:489:                                    ; preds = %484, %483, %388
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?find@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"(%"class.std::_Tree"*, %"class.std::_Tree_iterator"* noalias sret, %"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %5 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %4, align 4, !tbaa !23, !noalias !1440
  %6 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %5, i32 0, i32 1
  %7 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %6, align 4, !tbaa !23, !noalias !1440
  %8 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %7, i32 0, i32 4
  %9 = load i8, i8* %8, align 1, !tbaa !1393, !noalias !1440
  %10 = icmp eq i8 %9, 0
  br i1 %10, label %11, label %80

; <label>:11:                                     ; preds = %3
  %12 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %13 = load i32, i32* %12, align 4, !tbaa !83, !noalias !1440
  %14 = bitcast %"class.std::basic_string"* %2 to i8*
  %15 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %16 = load i32, i32* %15, align 4, !tbaa !81, !noalias !1440
  %17 = icmp ugt i32 %16, 15
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %19 = load i8*, i8** %18, align 4, !noalias !1440
  %20 = select i1 %17, i8* %19, i8* %14
  br label %21

; <label>:21:                                     ; preds = %21, %11
  %22 = phi %"struct.std::_Tree_node"* [ %7, %11 ], [ %46, %21 ]
  %23 = phi %"struct.std::_Tree_node"* [ %5, %11 ], [ %45, %21 ]
  %24 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %22, i32 0, i32 5, i32 0
  %25 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %22, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 1
  %26 = load i32, i32* %25, align 4, !tbaa !83, !noalias !1440
  %27 = bitcast %"class.std::basic_string"* %24 to i8*
  %28 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %22, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %29 = load i32, i32* %28, align 4, !tbaa !81, !noalias !1440
  %30 = icmp ugt i32 %29, 15
  %31 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %24, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %32 = load i8*, i8** %31, align 4, !noalias !1440
  %33 = select i1 %30, i8* %32, i8* %27
  %34 = icmp ult i32 %13, %26
  %35 = select i1 %34, i32 %13, i32 %26
  %36 = tail call i32 @memcmp(i8* %33, i8* %20, i32 %35) #14, !noalias !1440
  %37 = icmp eq i32 %36, 0
  %38 = icmp ult i32 %26, %13
  %39 = select i1 %38, i32 -2147483648, i32 0
  %40 = select i1 %37, i32 %39, i32 %36
  %41 = icmp slt i32 %40, 0
  %42 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %22, i32 0, i32 2
  %43 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %22, i32 0, i32 0
  %44 = select i1 %41, %"struct.std::_Tree_node"** %42, %"struct.std::_Tree_node"** %43
  %45 = select i1 %41, %"struct.std::_Tree_node"* %23, %"struct.std::_Tree_node"* %22
  %46 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %44, align 4, !tbaa !23, !noalias !1440
  %47 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %46, i32 0, i32 4
  %48 = load i8, i8* %47, align 1, !tbaa !1393, !noalias !1440
  %49 = icmp eq i8 %48, 0
  br i1 %49, label %21, label %50

; <label>:50:                                     ; preds = %21
  %51 = icmp eq %"struct.std::_Tree_node"* %45, %5
  br i1 %51, label %80, label %52

; <label>:52:                                     ; preds = %50
  %53 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %45, i32 0, i32 5, i32 0
  %54 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %45, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 1
  %55 = load i32, i32* %54, align 4, !tbaa !83
  %56 = bitcast %"class.std::basic_string"* %53 to i8*
  %57 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %45, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %58 = load i32, i32* %57, align 4, !tbaa !81
  %59 = icmp ugt i32 %58, 15
  %60 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %53, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %61 = load i8*, i8** %60, align 4
  %62 = select i1 %59, i8* %61, i8* %56
  %63 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %64 = load i32, i32* %63, align 4, !tbaa !83
  %65 = bitcast %"class.std::basic_string"* %2 to i8*
  %66 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %67 = load i32, i32* %66, align 4, !tbaa !81
  %68 = icmp ugt i32 %67, 15
  %69 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %70 = load i8*, i8** %69, align 4
  %71 = select i1 %68, i8* %70, i8* %65
  %72 = icmp ult i32 %55, %64
  %73 = select i1 %72, i32 %55, i32 %64
  %74 = tail call i32 @memcmp(i8* %71, i8* %62, i32 %73) #14
  %75 = icmp eq i32 %74, 0
  %76 = icmp ult i32 %64, %55
  %77 = select i1 %76, i32 -2147483648, i32 0
  %78 = select i1 %75, i32 %77, i32 %74
  %79 = icmp slt i32 %78, 0
  br i1 %79, label %80, label %81

; <label>:80:                                     ; preds = %52, %50, %3
  br label %81

; <label>:81:                                     ; preds = %80, %52
  %82 = phi %"struct.std::_Tree_node"* [ %5, %80 ], [ %45, %52 ]
  %83 = ptrtoint %"struct.std::_Tree_node"* %82 to i32
  %84 = bitcast %"class.std::_Tree_iterator"* %1 to i32*
  store i32 %83, i32* %84, align 4
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@I_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@I_W@Z@_W@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i16 zeroext) local_unnamed_addr #2 comdat align 2 {
  %5 = icmp ugt i32 %1, 2147483646
  br i1 %5, label %6, label %7

; <label>:6:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:7:                                      ; preds = %4
  %8 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !54
  %10 = or i32 %1, 7
  %11 = icmp ugt i32 %10, 2147483646
  br i1 %11, label %30, label %12

; <label>:12:                                     ; preds = %7
  %13 = lshr i32 %9, 1
  %14 = sub nsw i32 2147483646, %13
  %15 = icmp ugt i32 %9, %14
  br i1 %15, label %30, label %16

; <label>:16:                                     ; preds = %12
  %17 = add i32 %13, %9
  %18 = icmp ult i32 %10, %17
  %19 = select i1 %18, i32 %17, i32 %10
  %20 = add i32 %19, 1
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %42, label %22

; <label>:22:                                     ; preds = %16
  %23 = icmp slt i32 %20, 0
  br i1 %23, label %24, label %25

; <label>:24:                                     ; preds = %22
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:25:                                     ; preds = %22
  %26 = shl i32 %20, 1
  %27 = icmp ugt i32 %26, 4095
  br i1 %27, label %28, label %40

; <label>:28:                                     ; preds = %25
  %29 = icmp ugt i32 %26, -36
  br i1 %29, label %30, label %31

; <label>:30:                                     ; preds = %28, %12, %7
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:31:                                     ; preds = %28
  %32 = add i32 %26, 35
  %33 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %32) #14
  %34 = ptrtoint i8* %33 to i32
  %35 = add i32 %34, 35
  %36 = and i32 %35, -32
  %37 = inttoptr i32 %36 to i8*
  %38 = inttoptr i32 %36 to i32*
  %39 = getelementptr inbounds i32, i32* %38, i32 -1
  store i32 %34, i32* %39, align 4, !tbaa !24
  br label %42

; <label>:40:                                     ; preds = %25
  %41 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %26) #14
  br label %42

; <label>:42:                                     ; preds = %40, %31, %16
  %43 = phi i32 [ -1, %16 ], [ %19, %31 ], [ %19, %40 ]
  %44 = phi i8* [ null, %16 ], [ %37, %31 ], [ %41, %40 ]
  %45 = bitcast i8* %44 to i16*
  %46 = ptrtoint i8* %44 to i32
  %47 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 %1, i32* %47, align 4, !tbaa !58
  store i32 %43, i32* %8, align 4, !tbaa !54
  %48 = icmp eq i32 %1, 0
  br i1 %48, label %78, label %49

; <label>:49:                                     ; preds = %42
  %50 = icmp ult i32 %1, 16
  br i1 %50, label %69, label %51

; <label>:51:                                     ; preds = %49
  %52 = and i32 %1, -16
  %53 = getelementptr i16, i16* %45, i32 %52
  %54 = sub i32 %1, %52
  %55 = insertelement <8 x i16> undef, i16 %3, i32 0
  %56 = shufflevector <8 x i16> %55, <8 x i16> undef, <8 x i32> zeroinitializer
  %57 = insertelement <8 x i16> undef, i16 %3, i32 0
  %58 = shufflevector <8 x i16> %57, <8 x i16> undef, <8 x i32> zeroinitializer
  br label %59

; <label>:59:                                     ; preds = %59, %51
  %60 = phi i32 [ 0, %51 ], [ %65, %59 ]
  %61 = getelementptr i16, i16* %45, i32 %60
  %62 = bitcast i16* %61 to <8 x i16>*
  store <8 x i16> %56, <8 x i16>* %62, align 2, !tbaa !56
  %63 = getelementptr i16, i16* %61, i32 8
  %64 = bitcast i16* %63 to <8 x i16>*
  store <8 x i16> %58, <8 x i16>* %64, align 2, !tbaa !56
  %65 = add i32 %60, 16
  %66 = icmp eq i32 %65, %52
  br i1 %66, label %67, label %59, !llvm.loop !1443

; <label>:67:                                     ; preds = %59
  %68 = icmp eq i32 %52, %1
  br i1 %68, label %78, label %69

; <label>:69:                                     ; preds = %67, %49
  %70 = phi i16* [ %45, %49 ], [ %53, %67 ]
  %71 = phi i32 [ %1, %49 ], [ %54, %67 ]
  br label %72

; <label>:72:                                     ; preds = %72, %69
  %73 = phi i16* [ %75, %72 ], [ %70, %69 ]
  %74 = phi i32 [ %76, %72 ], [ %71, %69 ]
  store i16 %3, i16* %73, align 2, !tbaa !56
  %75 = getelementptr inbounds i16, i16* %73, i32 1
  %76 = add i32 %74, -1
  %77 = icmp eq i32 %76, 0
  br i1 %77, label %78, label %72, !llvm.loop !1444

; <label>:78:                                     ; preds = %72, %67, %42
  %79 = getelementptr inbounds i16, i16* %45, i32 %1
  store i16 0, i16* %79, align 2, !tbaa !56
  %80 = icmp ugt i32 %9, 7
  br i1 %80, label %81, label %110

; <label>:81:                                     ; preds = %78
  %82 = add i32 %9, 1
  %83 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %84 = load i16*, i16** %83, align 4, !tbaa !12
  %85 = icmp slt i32 %82, 0
  br i1 %85, label %106, label %86

; <label>:86:                                     ; preds = %81
  %87 = bitcast i16* %84 to i8*
  %88 = shl i32 %82, 1
  %89 = icmp ugt i32 %88, 4095
  br i1 %89, label %90, label %107

; <label>:90:                                     ; preds = %86
  %91 = add i32 %88, 35
  %92 = icmp ugt i32 %88, -36
  br i1 %92, label %106, label %93

; <label>:93:                                     ; preds = %90
  %94 = ptrtoint i16* %84 to i32
  %95 = and i32 %94, 31
  %96 = icmp eq i32 %95, 0
  br i1 %96, label %97, label %106

; <label>:97:                                     ; preds = %93
  %98 = add i32 %94, -4
  %99 = inttoptr i32 %98 to i32*
  %100 = load i32, i32* %99, align 4, !tbaa !24
  %101 = icmp ult i32 %100, %94
  br i1 %101, label %102, label %106

; <label>:102:                                    ; preds = %97
  %103 = sub i32 %98, %100
  %104 = icmp ugt i32 %103, 31
  %105 = inttoptr i32 %100 to i8*
  br i1 %104, label %106, label %107

; <label>:106:                                    ; preds = %102, %97, %93, %90, %81
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:107:                                    ; preds = %102, %86
  %108 = phi i8* [ %105, %102 ], [ %87, %86 ]
  %109 = phi i32 [ %91, %102 ], [ %88, %86 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %108, i32 %109) #14
  br label %110

; <label>:110:                                    ; preds = %107, %78
  %111 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %46, i32* %111, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

declare dllimport x86_stdcallcc %struct.HINSTANCE__* @"\01_LoadLibraryW@4"(i16*) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert_nohint@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@_N@1@_N$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Tree"*, %"struct.std::pair.12"* noalias sret, i1 zeroext, %"struct.std::pair.149"* dereferenceable(28), %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %6 = alloca %"class.std::_Tree_iterator", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"class.std::_Tree_iterator", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %11 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %10, align 4, !tbaa !23
  %12 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %11, i32 0, i32 1
  %13 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %12, align 4, !tbaa !23
  %14 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %13, i32 0, i32 4
  %15 = load i8, i8* %14, align 1, !tbaa !1393
  %16 = icmp eq i8 %15, 0
  %17 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %11, i32 0, i32 0
  br i1 %16, label %20, label %18

; <label>:18:                                     ; preds = %5
  %19 = ptrtoint %"struct.std::_Tree_node"* %11 to i32
  br label %90

; <label>:20:                                     ; preds = %5
  %21 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %22 = load i32, i32* %21, align 4
  %23 = bitcast %"struct.std::pair.149"* %3 to i8*
  %24 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %25 = load i32, i32* %24, align 4
  %26 = icmp ugt i32 %25, 15
  %27 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %28 = load i8*, i8** %27, align 4
  %29 = select i1 %26, i8* %28, i8* %23
  br i1 %2, label %31, label %30

; <label>:30:                                     ; preds = %20
  br label %59

; <label>:31:                                     ; preds = %20
  br label %32

; <label>:32:                                     ; preds = %32, %31
  %33 = phi %"struct.std::_Tree_node"* [ %55, %32 ], [ %13, %31 ]
  %34 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %33, i32 0, i32 5, i32 0
  %35 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %33, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 1
  %36 = load i32, i32* %35, align 4, !tbaa !83
  %37 = bitcast %"class.std::basic_string"* %34 to i8*
  %38 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %33, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %39 = load i32, i32* %38, align 4, !tbaa !81
  %40 = icmp ugt i32 %39, 15
  %41 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %34, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %42 = load i8*, i8** %41, align 4
  %43 = select i1 %40, i8* %42, i8* %37
  %44 = icmp ult i32 %22, %36
  %45 = select i1 %44, i32 %22, i32 %36
  %46 = tail call i32 @memcmp(i8* %43, i8* %29, i32 %45) #14
  %47 = icmp eq i32 %46, 0
  %48 = icmp ult i32 %36, %22
  %49 = select i1 %48, i32 -2147483648, i32 0
  %50 = select i1 %47, i32 %49, i32 %46
  %51 = icmp sgt i32 %50, -1
  %52 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %33, i32 0, i32 2
  %53 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %33, i32 0, i32 0
  %54 = select i1 %51, %"struct.std::_Tree_node"** %53, %"struct.std::_Tree_node"** %52
  %55 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %54, align 4, !tbaa !23
  %56 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %55, i32 0, i32 4
  %57 = load i8, i8* %56, align 1, !tbaa !1393
  %58 = icmp eq i8 %57, 0
  br i1 %58, label %32, label %86

; <label>:59:                                     ; preds = %59, %30
  %60 = phi %"struct.std::_Tree_node"* [ %82, %59 ], [ %13, %30 ]
  %61 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 5, i32 0
  %62 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 1
  %63 = load i32, i32* %62, align 4, !tbaa !83
  %64 = bitcast %"class.std::basic_string"* %61 to i8*
  %65 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %66 = load i32, i32* %65, align 4, !tbaa !81
  %67 = icmp ugt i32 %66, 15
  %68 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %61, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %69 = load i8*, i8** %68, align 4
  %70 = select i1 %67, i8* %69, i8* %64
  %71 = icmp ult i32 %63, %22
  %72 = select i1 %71, i32 %63, i32 %22
  %73 = tail call i32 @memcmp(i8* %29, i8* %70, i32 %72) #14
  %74 = icmp eq i32 %73, 0
  %75 = icmp ult i32 %22, %63
  %76 = select i1 %75, i32 -2147483648, i32 0
  %77 = select i1 %74, i32 %76, i32 %73
  %78 = icmp slt i32 %77, 0
  %79 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 2
  %80 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %60, i32 0, i32 0
  %81 = select i1 %78, %"struct.std::_Tree_node"** %80, %"struct.std::_Tree_node"** %79
  %82 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %81, align 4, !tbaa !23
  %83 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %82, i32 0, i32 4
  %84 = load i8, i8* %83, align 1, !tbaa !1393
  %85 = icmp eq i8 %84, 0
  br i1 %85, label %59, label %86

; <label>:86:                                     ; preds = %59, %32
  %87 = phi %"struct.std::_Tree_node"* [ %33, %32 ], [ %60, %59 ]
  %88 = phi i1 [ %51, %32 ], [ %78, %59 ]
  %89 = ptrtoint %"struct.std::_Tree_node"* %87 to i32
  br i1 %88, label %90, label %156

; <label>:90:                                     ; preds = %86, %18
  %91 = phi i32 [ %19, %18 ], [ %89, %86 ]
  %92 = phi %"struct.std::_Tree_node"* [ %11, %18 ], [ %87, %86 ]
  %93 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %17, align 4, !tbaa !23, !noalias !1445
  %94 = icmp eq %"struct.std::_Tree_node"* %92, %93
  br i1 %94, label %95, label %101

; <label>:95:                                     ; preds = %90
  %96 = bitcast %"class.std::_Tree_iterator"* %6 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %96) #14
  call x86_thiscallcc void @"\01??$_Insert_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@1@_NPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@1@$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Tree"* nonnull %0, %"class.std::_Tree_iterator"* nonnull sret %6, i1 zeroext true, %"struct.std::_Tree_node"* %92, %"struct.std::pair.149"* nonnull dereferenceable(28) %3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7)
  %97 = bitcast %"class.std::_Tree_iterator"* %6 to i32*
  %98 = bitcast %"struct.std::pair.12"* %1 to i32*
  %99 = load i32, i32* %97, align 4
  store i32 %99, i32* %98, align 4
  %100 = getelementptr inbounds %"struct.std::pair.12", %"struct.std::pair.12"* %1, i32 0, i32 1
  store i8 1, i8* %100, align 4, !tbaa !1448
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %96) #14
  br label %197

; <label>:101:                                    ; preds = %90
  %102 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %92, i32 0, i32 4
  %103 = load i8, i8* %102, align 1, !tbaa !1393
  %104 = icmp eq i8 %103, 0
  br i1 %104, label %109, label %105

; <label>:105:                                    ; preds = %101
  %106 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %92, i32 0, i32 2
  %107 = bitcast %"struct.std::_Tree_node"** %106 to i32*
  %108 = load i32, i32* %107, align 4, !tbaa !1408
  br label %156

; <label>:109:                                    ; preds = %101
  %110 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %92, i32 0, i32 0
  %111 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %110, align 4, !tbaa !1409
  %112 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %111, i32 0, i32 4
  %113 = load i8, i8* %112, align 1, !tbaa !1393
  %114 = icmp eq i8 %113, 0
  br i1 %114, label %115, label %125

; <label>:115:                                    ; preds = %109
  br label %116

; <label>:116:                                    ; preds = %116, %115
  %117 = phi %"struct.std::_Tree_node"* [ %119, %116 ], [ %111, %115 ]
  %118 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %117, i32 0, i32 2
  %119 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %118, align 4, !tbaa !1408
  %120 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 4
  %121 = load i8, i8* %120, align 1, !tbaa !1393
  %122 = icmp eq i8 %121, 0
  br i1 %122, label %116, label %123

; <label>:123:                                    ; preds = %116
  %124 = ptrtoint %"struct.std::_Tree_node"* %117 to i32
  br label %156

; <label>:125:                                    ; preds = %109
  %126 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %92, i32 0, i32 1
  %127 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %126, align 4, !tbaa !1410
  %128 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %127, i32 0, i32 4
  %129 = load i8, i8* %128, align 1, !tbaa !1393
  %130 = icmp eq i8 %129, 0
  br i1 %130, label %131, label %153

; <label>:131:                                    ; preds = %125
  br label %132

; <label>:132:                                    ; preds = %139, %131
  %133 = phi i32 [ %140, %139 ], [ %91, %131 ]
  %134 = phi %"struct.std::_Tree_node"* [ %142, %139 ], [ %127, %131 ]
  %135 = phi %"struct.std::_Tree_node"* [ %134, %139 ], [ %92, %131 ]
  %136 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %134, i32 0, i32 0
  %137 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %136, align 4, !tbaa !1409
  %138 = icmp eq %"struct.std::_Tree_node"* %135, %137
  br i1 %138, label %139, label %146

; <label>:139:                                    ; preds = %132
  %140 = ptrtoint %"struct.std::_Tree_node"* %134 to i32
  %141 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %134, i32 0, i32 1
  %142 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %141, align 4, !tbaa !1410
  %143 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %142, i32 0, i32 4
  %144 = load i8, i8* %143, align 1, !tbaa !1393
  %145 = icmp eq i8 %144, 0
  br i1 %145, label %132, label %146

; <label>:146:                                    ; preds = %139, %132
  %147 = phi i32 [ %140, %139 ], [ %133, %132 ]
  %148 = phi %"struct.std::_Tree_node"* [ %134, %139 ], [ %135, %132 ]
  %149 = phi %"struct.std::_Tree_node"* [ %142, %139 ], [ %134, %132 ]
  %150 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %148, i32 0, i32 4
  %151 = load i8, i8* %150, align 1, !tbaa !1393
  %152 = icmp eq i8 %151, 0
  br i1 %152, label %153, label %156

; <label>:153:                                    ; preds = %146, %125
  %154 = phi %"struct.std::_Tree_node"* [ %149, %146 ], [ %127, %125 ]
  %155 = ptrtoint %"struct.std::_Tree_node"* %154 to i32
  br label %156

; <label>:156:                                    ; preds = %153, %146, %123, %105, %86
  %157 = phi i1 [ false, %86 ], [ true, %123 ], [ true, %153 ], [ true, %146 ], [ true, %105 ]
  %158 = phi %"struct.std::_Tree_node"* [ %87, %86 ], [ %92, %123 ], [ %92, %153 ], [ %92, %146 ], [ %92, %105 ]
  %159 = phi i32 [ %89, %86 ], [ %124, %123 ], [ %155, %153 ], [ %147, %146 ], [ %108, %105 ]
  %160 = inttoptr i32 %159 to %"struct.std::_Tree_node"*
  %161 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %160, i32 0, i32 5, i32 0
  %162 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %163 = load i32, i32* %162, align 4, !tbaa !83
  %164 = bitcast %"struct.std::pair.149"* %3 to i8*
  %165 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %166 = load i32, i32* %165, align 4, !tbaa !81
  %167 = icmp ugt i32 %166, 15
  %168 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %169 = load i8*, i8** %168, align 4
  %170 = select i1 %167, i8* %169, i8* %164
  %171 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %160, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 1
  %172 = load i32, i32* %171, align 4, !tbaa !83
  %173 = bitcast %"class.std::basic_string"* %161 to i8*
  %174 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %160, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 2
  %175 = load i32, i32* %174, align 4, !tbaa !81
  %176 = icmp ugt i32 %175, 15
  %177 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %161, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %178 = load i8*, i8** %177, align 4
  %179 = select i1 %176, i8* %178, i8* %173
  %180 = icmp ult i32 %163, %172
  %181 = select i1 %180, i32 %163, i32 %172
  %182 = tail call i32 @memcmp(i8* %179, i8* %170, i32 %181) #14
  %183 = icmp eq i32 %182, 0
  %184 = icmp ult i32 %172, %163
  %185 = select i1 %184, i32 -2147483648, i32 0
  %186 = select i1 %183, i32 %185, i32 %182
  %187 = icmp slt i32 %186, 0
  br i1 %187, label %188, label %194

; <label>:188:                                    ; preds = %156
  %189 = bitcast %"class.std::_Tree_iterator"* %8 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %189) #14
  call x86_thiscallcc void @"\01??$_Insert_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@1@_NPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@1@$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Tree"* %0, %"class.std::_Tree_iterator"* nonnull sret %8, i1 zeroext %157, %"struct.std::_Tree_node"* %158, %"struct.std::pair.149"* nonnull dereferenceable(28) %3, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9)
  %190 = bitcast %"class.std::_Tree_iterator"* %8 to i32*
  %191 = bitcast %"struct.std::pair.12"* %1 to i32*
  %192 = load i32, i32* %190, align 4
  store i32 %192, i32* %191, align 4
  %193 = getelementptr inbounds %"struct.std::pair.12", %"struct.std::pair.12"* %1, i32 0, i32 1
  store i8 1, i8* %193, align 4, !tbaa !1448
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %189) #14
  br label %197

; <label>:194:                                    ; preds = %156
  %195 = bitcast %"struct.std::pair.12"* %1 to i32*
  store i32 %159, i32* %195, align 4
  %196 = getelementptr inbounds %"struct.std::pair.12", %"struct.std::pair.12"* %1, i32 0, i32 1
  store i8 0, i8* %196, align 4, !tbaa !1448
  br label %197

; <label>:197:                                    ; preds = %194, %188, %95
  ret void
}

declare dllimport x86_stdcallcc i32 @"\01_GetLastError@0"() local_unnamed_addr #6

declare dllimport x86_stdcallcc i32 ()* @"\01_GetProcAddress@8"(%struct.HINSTANCE__*, i8*) local_unnamed_addr #6

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01??$_Insert_at@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@U_Not_a_node_tag@2@@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@1@_NPAU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@1@$$QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@1@U_Not_a_node_tag@1@@Z"(%"class.std::_Tree"*, %"class.std::_Tree_iterator"* noalias sret, i1 zeroext, %"struct.std::_Tree_node"*, %"struct.std::pair.149"* dereferenceable(28), %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %7 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %8 = load i32, i32* %7, align 4, !tbaa !24
  %9 = icmp ult i32 %8, 97612892
  br i1 %9, label %11, label %10

; <label>:10:                                     ; preds = %6
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @"\01??_C@_0BE@JONHPENG@map?1set?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable

; <label>:11:                                     ; preds = %6
  %12 = tail call i8* @"\01??2@YAPAXI@Z"(i32 44) #14
  %13 = bitcast i8* %12 to %"struct.std::_Tree_node"*
  %14 = bitcast %"class.std::_Tree"* %0 to i32*
  %15 = load i32, i32* %14, align 4, !tbaa !23
  %16 = bitcast i8* %12 to i32*
  store i32 %15, i32* %16, align 4, !tbaa !23
  %17 = getelementptr inbounds i8, i8* %12, i32 4
  %18 = bitcast i8* %17 to i32*
  store i32 %15, i32* %18, align 4, !tbaa !23
  %19 = getelementptr inbounds i8, i8* %12, i32 8
  %20 = bitcast i8* %19 to i32*
  store i32 %15, i32* %20, align 4, !tbaa !23
  %21 = getelementptr inbounds i8, i8* %12, i32 12
  store i8 0, i8* %21, align 4, !tbaa !1390
  %22 = getelementptr inbounds i8, i8* %12, i32 13
  store i8 0, i8* %22, align 1, !tbaa !1393
  %23 = getelementptr inbounds i8, i8* %12, i32 16
  %24 = getelementptr inbounds i8, i8* %12, i32 32
  %25 = bitcast i8* %24 to i32*
  store i32 0, i32* %25, align 4, !tbaa !83
  %26 = getelementptr inbounds i8, i8* %12, i32 36
  %27 = bitcast i8* %26 to i32*
  store i32 0, i32* %27, align 4, !tbaa !81
  %28 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1
  %29 = load i32, i32* %28, align 4, !tbaa !83
  %30 = bitcast %"struct.std::pair.149"* %4 to i8*
  %31 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2
  %32 = load i32, i32* %31, align 4, !tbaa !81
  %33 = icmp ugt i32 %32, 15
  %34 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %35 = load i8*, i8** %34, align 4
  %36 = select i1 %33, i8* %35, i8* %30
  %37 = icmp ult i32 %29, 16
  br i1 %37, label %38, label %41

; <label>:38:                                     ; preds = %11
  %39 = inttoptr i32 %15 to %"struct.std::_Tree_node"*
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* %36, i32 16, i32 1, i1 false) #14
  %40 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %65

; <label>:41:                                     ; preds = %11
  %42 = or i32 %29, 15
  %43 = icmp ult i32 %42, 2147483647
  %44 = select i1 %43, i32 %42, i32 2147483647
  %45 = icmp ugt i32 %44, 4094
  br i1 %45, label %46, label %55

; <label>:46:                                     ; preds = %41
  %47 = add nuw i32 %44, 36
  %48 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %47) #14
  %49 = ptrtoint i8* %48 to i32
  %50 = add i32 %49, 35
  %51 = and i32 %50, -32
  %52 = inttoptr i32 %51 to i8*
  %53 = inttoptr i32 %51 to i32*
  %54 = getelementptr inbounds i32, i32* %53, i32 -1
  store i32 %49, i32* %54, align 4, !tbaa !24
  br label %58

; <label>:55:                                     ; preds = %41
  %56 = add nuw i32 %44, 1
  %57 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %56) #14
  br label %58

; <label>:58:                                     ; preds = %55, %46
  %59 = phi i8* [ %52, %46 ], [ %57, %55 ]
  %60 = ptrtoint i8* %59 to i32
  %61 = bitcast i8* %23 to i32*
  store i32 %60, i32* %61, align 4, !tbaa !23
  %62 = add i32 %29, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %59, i8* %36, i32 %62, i32 1, i1 false) #14
  %63 = getelementptr inbounds %"class.std::_Tree", %"class.std::_Tree"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %64 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %63, align 4, !tbaa !23
  br label %65

; <label>:65:                                     ; preds = %58, %38
  %66 = phi %"struct.std::_Tree_node"** [ %40, %38 ], [ %63, %58 ]
  %67 = phi %"struct.std::_Tree_node"* [ %39, %38 ], [ %64, %58 ]
  %68 = phi i32 [ 15, %38 ], [ %44, %58 ]
  store i32 %29, i32* %25, align 4, !tbaa !83
  store i32 %68, i32* %27, align 4, !tbaa !81
  %69 = getelementptr inbounds i8, i8* %12, i32 40
  %70 = getelementptr inbounds %"struct.std::pair.149", %"struct.std::pair.149"* %4, i32 0, i32 1
  %71 = bitcast %struct.HINSTANCE__** %70 to i32*
  %72 = load i32, i32* %71, align 4, !tbaa !1423
  %73 = bitcast i8* %69 to i32*
  store i32 %72, i32* %73, align 4, !tbaa !1423
  %74 = load i32, i32* %7, align 4, !tbaa !24
  %75 = add i32 %74, 1
  store i32 %75, i32* %7, align 4, !tbaa !24
  %76 = bitcast i8* %17 to %"struct.std::_Tree_node"**
  store %"struct.std::_Tree_node"* %3, %"struct.std::_Tree_node"** %76, align 4, !tbaa !1410
  %77 = icmp eq %"struct.std::_Tree_node"* %67, %3
  br i1 %77, label %78, label %86

; <label>:78:                                     ; preds = %65
  %79 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %67, i32 0, i32 1
  %80 = bitcast %"struct.std::_Tree_node"** %79 to i8**
  store i8* %12, i8** %80, align 4, !tbaa !23
  %81 = bitcast %"class.std::_Tree"* %0 to i8***
  %82 = load i8**, i8*** %81, align 4, !tbaa !23
  store i8* %12, i8** %82, align 4, !tbaa !23
  %83 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %84 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %83, i32 0, i32 2
  %85 = bitcast %"struct.std::_Tree_node"** %84 to i8**
  store i8* %12, i8** %85, align 4, !tbaa !23
  br label %104

; <label>:86:                                     ; preds = %65
  br i1 %2, label %87, label %95

; <label>:87:                                     ; preds = %86
  %88 = bitcast %"struct.std::_Tree_node"* %3 to i8**
  store i8* %12, i8** %88, align 4, !tbaa !1409
  %89 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %90 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %89, i32 0, i32 0
  %91 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %90, align 4, !tbaa !23
  %92 = icmp eq %"struct.std::_Tree_node"* %91, %3
  br i1 %92, label %93, label %104

; <label>:93:                                     ; preds = %87
  %94 = bitcast %"struct.std::_Tree_node"* %89 to i8**
  store i8* %12, i8** %94, align 4, !tbaa !23
  br label %104

; <label>:95:                                     ; preds = %86
  %96 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %3, i32 0, i32 2
  %97 = bitcast %"struct.std::_Tree_node"** %96 to i8**
  store i8* %12, i8** %97, align 4, !tbaa !1408
  %98 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %99 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %98, i32 0, i32 2
  %100 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %99, align 4, !tbaa !23
  %101 = icmp eq %"struct.std::_Tree_node"* %100, %3
  br i1 %101, label %102, label %104

; <label>:102:                                    ; preds = %95
  %103 = bitcast %"struct.std::_Tree_node"** %99 to i8**
  store i8* %12, i8** %103, align 4, !tbaa !23
  br label %104

; <label>:104:                                    ; preds = %102, %95, %93, %87, %78
  %105 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %76, align 4, !tbaa !1410
  %106 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %105, i32 0, i32 3
  %107 = load i8, i8* %106, align 4, !tbaa !1390
  %108 = icmp eq i8 %107, 0
  br i1 %108, label %109, label %110

; <label>:109:                                    ; preds = %104
  br label %116

; <label>:110:                                    ; preds = %290, %104
  %111 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %112 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %111, i32 0, i32 1
  %113 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %112, align 4, !tbaa !23
  %114 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %113, i32 0, i32 3
  store i8 1, i8* %114, align 4, !tbaa !1390
  %115 = bitcast %"class.std::_Tree_iterator"* %1 to i8**
  store i8* %12, i8** %115, align 4, !tbaa !1403
  ret void

; <label>:116:                                    ; preds = %290, %109
  %117 = phi i8* [ %294, %290 ], [ %106, %109 ]
  %118 = phi %"struct.std::_Tree_node"* [ %293, %290 ], [ %105, %109 ]
  %119 = phi %"struct.std::_Tree_node"* [ %291, %290 ], [ %13, %109 ]
  %120 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %118, i32 0, i32 1
  %121 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %120, align 4, !tbaa !1410
  %122 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %121, i32 0, i32 0
  %123 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %122, align 4, !tbaa !1409
  %124 = icmp eq %"struct.std::_Tree_node"* %118, %123
  %125 = ptrtoint %"struct.std::_Tree_node"* %121 to i32
  br i1 %124, label %126, label %209

; <label>:126:                                    ; preds = %116
  %127 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %121, i32 0, i32 2
  %128 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %127, align 4, !tbaa !1408
  %129 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %128, i32 0, i32 3
  %130 = load i8, i8* %129, align 4, !tbaa !1390
  %131 = icmp eq i8 %130, 0
  br i1 %131, label %132, label %134

; <label>:132:                                    ; preds = %126
  store i8 1, i8* %117, align 4, !tbaa !1390
  store i8 1, i8* %129, align 4, !tbaa !1390
  %133 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %121, i32 0, i32 3
  store i8 0, i8* %133, align 4, !tbaa !1390
  br label %290

; <label>:134:                                    ; preds = %126
  %135 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %118, i32 0, i32 2
  %136 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %135, align 4, !tbaa !1408
  %137 = icmp eq %"struct.std::_Tree_node"* %119, %136
  br i1 %137, label %141, label %138

; <label>:138:                                    ; preds = %134
  %139 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 1
  %140 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %139, align 4, !tbaa !1410
  br label %171

; <label>:141:                                    ; preds = %134
  %142 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 0
  %143 = bitcast %"struct.std::_Tree_node"* %119 to i32*
  %144 = load i32, i32* %143, align 4, !tbaa !1409
  %145 = bitcast %"struct.std::_Tree_node"** %135 to i32*
  store i32 %144, i32* %145, align 4, !tbaa !1408
  %146 = inttoptr i32 %144 to %"struct.std::_Tree_node"*
  %147 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %146, i32 0, i32 4
  %148 = load i8, i8* %147, align 1, !tbaa !1393
  %149 = icmp eq i8 %148, 0
  br i1 %149, label %150, label %154

; <label>:150:                                    ; preds = %141
  %151 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %146, i32 0, i32 1
  store %"struct.std::_Tree_node"* %118, %"struct.std::_Tree_node"** %151, align 4, !tbaa !1410
  %152 = bitcast %"struct.std::_Tree_node"** %120 to i32*
  %153 = load i32, i32* %152, align 4, !tbaa !1410
  br label %154

; <label>:154:                                    ; preds = %150, %141
  %155 = phi i32 [ %153, %150 ], [ %125, %141 ]
  %156 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 1
  %157 = bitcast %"struct.std::_Tree_node"** %156 to i32*
  store i32 %155, i32* %157, align 4, !tbaa !1410
  %158 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %159 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %158, i32 0, i32 1
  %160 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %159, align 4, !tbaa !23
  %161 = icmp eq %"struct.std::_Tree_node"* %160, %118
  br i1 %161, label %169, label %162

; <label>:162:                                    ; preds = %154
  %163 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %120, align 4, !tbaa !1410
  %164 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %163, i32 0, i32 0
  %165 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %164, align 4, !tbaa !1409
  %166 = icmp eq %"struct.std::_Tree_node"* %165, %118
  %167 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %163, i32 0, i32 2
  %168 = select i1 %166, %"struct.std::_Tree_node"** %164, %"struct.std::_Tree_node"** %167
  br label %169

; <label>:169:                                    ; preds = %162, %154
  %170 = phi %"struct.std::_Tree_node"** [ %168, %162 ], [ %159, %154 ]
  store %"struct.std::_Tree_node"* %119, %"struct.std::_Tree_node"** %170, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %118, %"struct.std::_Tree_node"** %142, align 4, !tbaa !1409
  store %"struct.std::_Tree_node"* %119, %"struct.std::_Tree_node"** %120, align 4, !tbaa !1410
  br label %171

; <label>:171:                                    ; preds = %169, %138
  %172 = phi %"struct.std::_Tree_node"* [ %119, %169 ], [ %140, %138 ]
  %173 = phi %"struct.std::_Tree_node"* [ %118, %169 ], [ %119, %138 ]
  %174 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %172, i32 0, i32 3
  store i8 1, i8* %174, align 4, !tbaa !1390
  %175 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %172, i32 0, i32 1
  %176 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %175, align 4, !tbaa !1410
  %177 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %176, i32 0, i32 3
  store i8 0, i8* %177, align 4, !tbaa !1390
  %178 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %176, i32 0, i32 0
  %179 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %178, align 4, !tbaa !1409
  %180 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %179, i32 0, i32 2
  %181 = bitcast %"struct.std::_Tree_node"** %180 to i32*
  %182 = load i32, i32* %181, align 4, !tbaa !1408
  %183 = bitcast %"struct.std::_Tree_node"* %176 to i32*
  store i32 %182, i32* %183, align 4, !tbaa !1409
  %184 = inttoptr i32 %182 to %"struct.std::_Tree_node"*
  %185 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %184, i32 0, i32 4
  %186 = load i8, i8* %185, align 1, !tbaa !1393
  %187 = icmp eq i8 %186, 0
  br i1 %187, label %188, label %190

; <label>:188:                                    ; preds = %171
  %189 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %184, i32 0, i32 1
  store %"struct.std::_Tree_node"* %176, %"struct.std::_Tree_node"** %189, align 4, !tbaa !1410
  br label %190

; <label>:190:                                    ; preds = %188, %171
  %191 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %176, i32 0, i32 1
  %192 = bitcast %"struct.std::_Tree_node"** %191 to i32*
  %193 = load i32, i32* %192, align 4, !tbaa !1410
  %194 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %179, i32 0, i32 1
  %195 = bitcast %"struct.std::_Tree_node"** %194 to i32*
  store i32 %193, i32* %195, align 4, !tbaa !1410
  %196 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %197 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %196, i32 0, i32 1
  %198 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %197, align 4, !tbaa !23
  %199 = icmp eq %"struct.std::_Tree_node"* %198, %176
  br i1 %199, label %207, label %200

; <label>:200:                                    ; preds = %190
  %201 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %191, align 4, !tbaa !1410
  %202 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %201, i32 0, i32 2
  %203 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %202, align 4, !tbaa !1408
  %204 = icmp eq %"struct.std::_Tree_node"* %203, %176
  %205 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %201, i32 0, i32 0
  %206 = select i1 %204, %"struct.std::_Tree_node"** %202, %"struct.std::_Tree_node"** %205
  br label %207

; <label>:207:                                    ; preds = %200, %190
  %208 = phi %"struct.std::_Tree_node"** [ %206, %200 ], [ %197, %190 ]
  store %"struct.std::_Tree_node"* %179, %"struct.std::_Tree_node"** %208, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %176, %"struct.std::_Tree_node"** %180, align 4, !tbaa !1408
  store %"struct.std::_Tree_node"* %179, %"struct.std::_Tree_node"** %191, align 4, !tbaa !1410
  br label %290

; <label>:209:                                    ; preds = %116
  %210 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %123, i32 0, i32 3
  %211 = load i8, i8* %210, align 4, !tbaa !1390
  %212 = icmp eq i8 %211, 0
  br i1 %212, label %213, label %215

; <label>:213:                                    ; preds = %209
  store i8 1, i8* %117, align 4, !tbaa !1390
  store i8 1, i8* %210, align 4, !tbaa !1390
  %214 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %121, i32 0, i32 3
  store i8 0, i8* %214, align 4, !tbaa !1390
  br label %290

; <label>:215:                                    ; preds = %209
  %216 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %118, i32 0, i32 0
  %217 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %216, align 4, !tbaa !1409
  %218 = icmp eq %"struct.std::_Tree_node"* %119, %217
  br i1 %218, label %222, label %219

; <label>:219:                                    ; preds = %215
  %220 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 1
  %221 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %220, align 4, !tbaa !1410
  br label %252

; <label>:222:                                    ; preds = %215
  %223 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 2
  %224 = bitcast %"struct.std::_Tree_node"** %223 to i32*
  %225 = load i32, i32* %224, align 4, !tbaa !1408
  %226 = bitcast %"struct.std::_Tree_node"* %118 to i32*
  store i32 %225, i32* %226, align 4, !tbaa !1409
  %227 = inttoptr i32 %225 to %"struct.std::_Tree_node"*
  %228 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %227, i32 0, i32 4
  %229 = load i8, i8* %228, align 1, !tbaa !1393
  %230 = icmp eq i8 %229, 0
  br i1 %230, label %231, label %235

; <label>:231:                                    ; preds = %222
  %232 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %227, i32 0, i32 1
  store %"struct.std::_Tree_node"* %118, %"struct.std::_Tree_node"** %232, align 4, !tbaa !1410
  %233 = bitcast %"struct.std::_Tree_node"** %120 to i32*
  %234 = load i32, i32* %233, align 4, !tbaa !1410
  br label %235

; <label>:235:                                    ; preds = %231, %222
  %236 = phi i32 [ %234, %231 ], [ %125, %222 ]
  %237 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %119, i32 0, i32 1
  %238 = bitcast %"struct.std::_Tree_node"** %237 to i32*
  store i32 %236, i32* %238, align 4, !tbaa !1410
  %239 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %240 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %239, i32 0, i32 1
  %241 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %240, align 4, !tbaa !23
  %242 = icmp eq %"struct.std::_Tree_node"* %241, %118
  br i1 %242, label %250, label %243

; <label>:243:                                    ; preds = %235
  %244 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %120, align 4, !tbaa !1410
  %245 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %244, i32 0, i32 2
  %246 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %245, align 4, !tbaa !1408
  %247 = icmp eq %"struct.std::_Tree_node"* %246, %118
  %248 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %244, i32 0, i32 0
  %249 = select i1 %247, %"struct.std::_Tree_node"** %245, %"struct.std::_Tree_node"** %248
  br label %250

; <label>:250:                                    ; preds = %243, %235
  %251 = phi %"struct.std::_Tree_node"** [ %249, %243 ], [ %240, %235 ]
  store %"struct.std::_Tree_node"* %119, %"struct.std::_Tree_node"** %251, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %118, %"struct.std::_Tree_node"** %223, align 4, !tbaa !1408
  store %"struct.std::_Tree_node"* %119, %"struct.std::_Tree_node"** %120, align 4, !tbaa !1410
  br label %252

; <label>:252:                                    ; preds = %250, %219
  %253 = phi %"struct.std::_Tree_node"* [ %119, %250 ], [ %221, %219 ]
  %254 = phi %"struct.std::_Tree_node"* [ %118, %250 ], [ %119, %219 ]
  %255 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %253, i32 0, i32 3
  store i8 1, i8* %255, align 4, !tbaa !1390
  %256 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %253, i32 0, i32 1
  %257 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %256, align 4, !tbaa !1410
  %258 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %257, i32 0, i32 3
  store i8 0, i8* %258, align 4, !tbaa !1390
  %259 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %257, i32 0, i32 2
  %260 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %259, align 4, !tbaa !1408
  %261 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %260, i32 0, i32 0
  %262 = bitcast %"struct.std::_Tree_node"* %260 to i32*
  %263 = load i32, i32* %262, align 4, !tbaa !1409
  %264 = bitcast %"struct.std::_Tree_node"** %259 to i32*
  store i32 %263, i32* %264, align 4, !tbaa !1408
  %265 = inttoptr i32 %263 to %"struct.std::_Tree_node"*
  %266 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %265, i32 0, i32 4
  %267 = load i8, i8* %266, align 1, !tbaa !1393
  %268 = icmp eq i8 %267, 0
  br i1 %268, label %269, label %271

; <label>:269:                                    ; preds = %252
  %270 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %265, i32 0, i32 1
  store %"struct.std::_Tree_node"* %257, %"struct.std::_Tree_node"** %270, align 4, !tbaa !1410
  br label %271

; <label>:271:                                    ; preds = %269, %252
  %272 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %257, i32 0, i32 1
  %273 = bitcast %"struct.std::_Tree_node"** %272 to i32*
  %274 = load i32, i32* %273, align 4, !tbaa !1410
  %275 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %260, i32 0, i32 1
  %276 = bitcast %"struct.std::_Tree_node"** %275 to i32*
  store i32 %274, i32* %276, align 4, !tbaa !1410
  %277 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %66, align 4, !tbaa !23
  %278 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %277, i32 0, i32 1
  %279 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %278, align 4, !tbaa !23
  %280 = icmp eq %"struct.std::_Tree_node"* %279, %257
  br i1 %280, label %288, label %281

; <label>:281:                                    ; preds = %271
  %282 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %272, align 4, !tbaa !1410
  %283 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %282, i32 0, i32 0
  %284 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %283, align 4, !tbaa !1409
  %285 = icmp eq %"struct.std::_Tree_node"* %284, %257
  %286 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %282, i32 0, i32 2
  %287 = select i1 %285, %"struct.std::_Tree_node"** %283, %"struct.std::_Tree_node"** %286
  br label %288

; <label>:288:                                    ; preds = %281, %271
  %289 = phi %"struct.std::_Tree_node"** [ %287, %281 ], [ %278, %271 ]
  store %"struct.std::_Tree_node"* %260, %"struct.std::_Tree_node"** %289, align 4, !tbaa !23
  store %"struct.std::_Tree_node"* %257, %"struct.std::_Tree_node"** %261, align 4, !tbaa !1409
  store %"struct.std::_Tree_node"* %260, %"struct.std::_Tree_node"** %272, align 4, !tbaa !1410
  br label %290

; <label>:290:                                    ; preds = %288, %213, %207, %132
  %291 = phi %"struct.std::_Tree_node"* [ %121, %132 ], [ %173, %207 ], [ %121, %213 ], [ %254, %288 ]
  %292 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %291, i32 0, i32 1
  %293 = load %"struct.std::_Tree_node"*, %"struct.std::_Tree_node"** %292, align 4, !tbaa !1410
  %294 = getelementptr inbounds %"struct.std::_Tree_node", %"struct.std::_Tree_node"* %293, i32 0, i32 3
  %295 = load i8, i8* %294, align 4, !tbaa !1390
  %296 = icmp eq i8 %295, 0
  br i1 %296, label %116, label %110
}

; Function Attrs: norecurse nounwind readnone
define zeroext i1 @"\01?hasFileSystem@@YA_NXZ"() local_unnamed_addr #11 {
  ret i1 true
}

; Function Attrs: nounwind
define void @"\01?loadFile@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@AAV12@@Z"(%"class.std::basic_string"* noalias sret, %"class.std::basic_string"* dereferenceable(24), %"class.std::basic_string"* dereferenceable(24)) local_unnamed_addr #2 {
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca [21 x i8], align 1
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = alloca %"class.std::basic_string.101", align 4
  %17 = alloca %"class.std::basic_string", align 4
  %18 = alloca %"struct.ast::IntX", align 8
  %19 = alloca %"class.std::basic_string", align 4
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::basic_string", align 4
  %22 = alloca %"class.std::basic_string", align 4
  %23 = bitcast %"class.std::basic_string.101"* %16 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %23) #14
  %24 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %25 = load i32, i32* %24, align 4, !tbaa !83, !noalias !1451
  %26 = icmp eq i32 %25, 0
  br i1 %26, label %27, label %32

; <label>:27:                                     ; preds = %3
  %28 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %29 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %30 = bitcast i32* %28 to i64*
  store i64 0, i64* %30, align 4, !alias.scope !1451
  store i32 7, i32* %29, align 4, !tbaa !54, !alias.scope !1451
  %31 = bitcast %"class.std::basic_string.101"* %16 to i16*
  store i16 0, i16* %31, align 4, !tbaa !56, !alias.scope !1451
  br label %114

; <label>:32:                                     ; preds = %3
  %33 = bitcast %"class.std::basic_string"* %1 to i8*
  %34 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %35 = load i32, i32* %34, align 4, !tbaa !81, !noalias !1451
  %36 = icmp ugt i32 %35, 15
  %37 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %38 = load i8*, i8** %37, align 4, !noalias !1451
  %39 = select i1 %36, i8* %38, i8* %33
  %40 = tail call x86_stdcallcc i32 @"\01_MultiByteToWideChar@24"(i32 65001, i32 8, i8* %39, i32 %25, i16* null, i32 0) #14, !noalias !1451
  %41 = icmp eq i32 %40, 0
  br i1 %41, label %42, label %47

; <label>:42:                                     ; preds = %32
  %43 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %44 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %45 = bitcast i32* %43 to i64*
  store i64 0, i64* %45, align 4, !alias.scope !1451
  store i32 7, i32* %44, align 4, !tbaa !54, !alias.scope !1451
  %46 = bitcast %"class.std::basic_string.101"* %16 to i16*
  store i16 0, i16* %46, align 4, !tbaa !56, !alias.scope !1451
  br label %114

; <label>:47:                                     ; preds = %32
  %48 = icmp slt i32 %40, 0
  br i1 %48, label %49, label %50

; <label>:49:                                     ; preds = %47
  tail call void @"\01?_Xlength@?$vector@_WV?$allocator@_W@std@@@std@@CAXXZ"() #12
  unreachable

; <label>:50:                                     ; preds = %47
  %51 = shl i32 %40, 1
  %52 = icmp ugt i32 %51, 4095
  br i1 %52, label %53, label %65

; <label>:53:                                     ; preds = %50
  %54 = icmp ugt i32 %51, -36
  br i1 %54, label %55, label %56

; <label>:55:                                     ; preds = %53
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:56:                                     ; preds = %53
  %57 = add i32 %51, 35
  %58 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %57) #14
  %59 = ptrtoint i8* %58 to i32
  %60 = add i32 %59, 35
  %61 = and i32 %60, -32
  %62 = inttoptr i32 %61 to i8*
  %63 = inttoptr i32 %61 to i32*
  %64 = getelementptr inbounds i32, i32* %63, i32 -1
  store i32 %59, i32* %64, align 4, !tbaa !24
  br label %67

; <label>:65:                                     ; preds = %50
  %66 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %51) #14
  br label %67

; <label>:67:                                     ; preds = %65, %56
  %68 = phi i8* [ %62, %56 ], [ %66, %65 ]
  %69 = bitcast i8* %68 to i16*
  %70 = getelementptr i16, i16* %69, i32 %40
  tail call void @llvm.memset.p0i8.i32(i8* %68, i8 0, i32 %51, i32 2, i1 false) #14, !noalias !1451
  %71 = ptrtoint i8* %68 to i32
  %72 = ptrtoint i16* %70 to i32
  %73 = load i32, i32* %24, align 4, !tbaa !83, !noalias !1451
  %74 = load i32, i32* %34, align 4, !tbaa !81, !noalias !1451
  %75 = icmp ugt i32 %74, 15
  %76 = load i8*, i8** %37, align 4, !noalias !1451
  %77 = select i1 %75, i8* %76, i8* %33
  %78 = tail call x86_stdcallcc i32 @"\01_MultiByteToWideChar@24"(i32 65001, i32 8, i8* %77, i32 %73, i16* %69, i32 %40) #14, !noalias !1451
  %79 = sub i32 %72, %71
  %80 = ashr exact i32 %79, 1
  %81 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 1
  %82 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 2
  %83 = bitcast i32* %81 to i64*
  store i64 0, i64* %83, align 4, !alias.scope !1451
  store i32 7, i32* %82, align 4, !tbaa !54, !alias.scope !1451
  %84 = bitcast %"class.std::basic_string.101"* %16 to i16*
  store i16 0, i16* %84, align 4, !tbaa !56, !alias.scope !1451
  %85 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %85) #14, !noalias !1451
  %86 = icmp ugt i32 %80, 7
  br i1 %86, label %89, label %87

; <label>:87:                                     ; preds = %67
  store i32 %80, i32* %81, align 4, !tbaa !58, !alias.scope !1451
  call void @llvm.memmove.p0i8.p0i8.i32(i8* nonnull %23, i8* %68, i32 %79, i32 2, i1 false) #14
  %88 = getelementptr inbounds i16, i16* %84, i32 %80
  store i16 0, i16* %88, align 2, !tbaa !56, !alias.scope !1451
  br label %91

; <label>:89:                                     ; preds = %67
  %90 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV34@QB_WI@Z@PB_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QB_WI@Z@PB_W@Z"(%"class.std::basic_string.101"* nonnull %16, i32 %80, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i16* %69) #14
  br label %91

; <label>:91:                                     ; preds = %89, %87
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %85) #14, !noalias !1451
  %92 = icmp eq i8* %68, null
  br i1 %92, label %114, label %93

; <label>:93:                                     ; preds = %91
  %94 = icmp slt i32 %79, 0
  br i1 %94, label %110, label %95

; <label>:95:                                     ; preds = %93
  %96 = icmp ugt i32 %79, 4095
  br i1 %96, label %97, label %111

; <label>:97:                                     ; preds = %95
  %98 = add i32 %79, 35
  %99 = and i32 %71, 31
  %100 = icmp eq i32 %99, 0
  br i1 %100, label %101, label %110

; <label>:101:                                    ; preds = %97
  %102 = add i32 %71, -4
  %103 = inttoptr i32 %102 to i32*
  %104 = load i32, i32* %103, align 4, !tbaa !24
  %105 = icmp ult i32 %104, %71
  br i1 %105, label %106, label %110

; <label>:106:                                    ; preds = %101
  %107 = sub i32 %102, %104
  %108 = icmp ugt i32 %107, 31
  %109 = inttoptr i32 %104 to i8*
  br i1 %108, label %110, label %111

; <label>:110:                                    ; preds = %106, %101, %97, %93
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:111:                                    ; preds = %106, %95
  %112 = phi i8* [ %109, %106 ], [ %68, %95 ]
  %113 = phi i32 [ %98, %106 ], [ %79, %95 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %112, i32 %113) #14
  br label %114

; <label>:114:                                    ; preds = %111, %91, %42, %27
  %115 = phi i32* [ %29, %27 ], [ %44, %42 ], [ %82, %91 ], [ %82, %111 ]
  %116 = phi i32* [ %28, %27 ], [ %43, %42 ], [ %81, %91 ], [ %81, %111 ]
  %117 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %117)
  %118 = load i32, i32* %116, align 4, !tbaa !58
  %119 = load i32, i32* %115, align 4, !tbaa !54
  %120 = icmp ult i32 %118, %119
  br i1 %120, label %121, label %130

; <label>:121:                                    ; preds = %114
  %122 = add i32 %118, 1
  store i32 %122, i32* %116, align 4, !tbaa !58
  %123 = bitcast %"class.std::basic_string.101"* %16 to i16*
  %124 = icmp ugt i32 %119, 7
  %125 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %126 = load i16*, i16** %125, align 4
  %127 = select i1 %124, i16* %126, i16* %123
  %128 = getelementptr inbounds i16, i16* %127, i32 %118
  store i16 0, i16* %128, align 2, !tbaa !56
  %129 = getelementptr inbounds i16, i16* %127, i32 %122
  store i16 0, i16* %129, align 2, !tbaa !56
  br label %135

; <label>:130:                                    ; preds = %114
  %131 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z"(%"class.std::basic_string.101"* nonnull %16, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i16 zeroext 0) #14
  %132 = load i32, i32* %115, align 4, !tbaa !54
  %133 = bitcast %"class.std::basic_string.101"* %16 to i16*
  %134 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %16, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %135

; <label>:135:                                    ; preds = %130, %121
  %136 = phi i16** [ %125, %121 ], [ %134, %130 ]
  %137 = phi i16* [ %123, %121 ], [ %133, %130 ]
  %138 = phi i32 [ %119, %121 ], [ %132, %130 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %117)
  %139 = icmp ugt i32 %138, 7
  %140 = load i16*, i16** %136, align 4
  %141 = select i1 %139, i16* %140, i16* %137
  %142 = call x86_stdcallcc i8* @"\01_CreateFileW@28"(i16* %141, i32 -2147483648, i32 1, %struct._SECURITY_ATTRIBUTES* null, i32 3, i32 0, i8* null) #14
  %143 = icmp eq i8* %142, inttoptr (i32 -1 to i8*)
  br i1 %143, label %144, label %239

; <label>:144:                                    ; preds = %135
  %145 = bitcast %"class.std::basic_string"* %17 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %145) #14
  %146 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %147 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %147) #14, !noalias !1454
  %148 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 21
  br label %149

; <label>:149:                                    ; preds = %149, %144
  %150 = phi i32 [ 0, %144 ], [ %155, %149 ]
  %151 = phi i32 [ %146, %144 ], [ %157, %149 ]
  %152 = urem i32 %151, 10
  %153 = trunc i32 %152 to i8
  %154 = or i8 %153, 48
  %155 = add nsw i32 %150, -1
  %156 = getelementptr inbounds i8, i8* %148, i32 %155
  store i8 %154, i8* %156, align 1, !tbaa !12, !noalias !1454
  %157 = udiv i32 %151, 10
  %158 = icmp ugt i32 %151, 9
  br i1 %158, label %149, label %159

; <label>:159:                                    ; preds = %149
  %160 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 1
  %161 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 2
  %162 = bitcast i32* %160 to i64*
  store i64 0, i64* %162, align 4, !alias.scope !1454
  store i32 15, i32* %161, align 4, !tbaa !81, !alias.scope !1454
  store i8 0, i8* %145, align 4, !tbaa !12, !alias.scope !1454
  %163 = icmp eq i32 %155, 0
  br i1 %163, label %175, label %164

; <label>:164:                                    ; preds = %159
  %165 = sub i32 1, %150
  %166 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %166) #14, !noalias !1454
  %167 = icmp ugt i32 %165, 15
  br i1 %167, label %170, label %168

; <label>:168:                                    ; preds = %164
  store i32 %165, i32* %160, align 4, !tbaa !83, !alias.scope !1454
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %145, i8* %156, i32 %165, i32 1, i1 false) #14
  %169 = getelementptr inbounds i8, i8* %145, i32 %165
  store i8 0, i8* %169, align 1, !tbaa !12, !alias.scope !1454
  br label %172

; <label>:170:                                    ; preds = %164
  %171 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %17, i32 %165, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8* %156) #14
  br label %172

; <label>:172:                                    ; preds = %170, %168
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %166) #14, !noalias !1454
  %173 = load i32, i32* %160, align 4, !tbaa !83, !noalias !1459
  %174 = load i32, i32* %161, align 4, !tbaa !81, !noalias !1459
  br label %175

; <label>:175:                                    ; preds = %172, %159
  %176 = phi i32 [ 15, %159 ], [ %174, %172 ]
  %177 = phi i32 [ 0, %159 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %147) #14, !noalias !1454
  %178 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %178) #14, !noalias !1459
  %179 = sub i32 %176, %177
  %180 = icmp ult i32 %179, 27
  br i1 %180, label %203, label %181

; <label>:181:                                    ; preds = %175
  %182 = add i32 %177, 27
  store i32 %182, i32* %160, align 4, !tbaa !83, !noalias !1459
  %183 = icmp ugt i32 %176, 15
  %184 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %185 = load i8*, i8** %184, align 4, !noalias !1459
  %186 = select i1 %183, i8* %185, i8* %145
  %187 = icmp uge i8* %186, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 27)
  %188 = getelementptr inbounds i8, i8* %186, i32 %177
  %189 = icmp ult i8* %188, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  %190 = or i1 %187, %189
  br i1 %190, label %196, label %191

; <label>:191:                                    ; preds = %181
  %192 = icmp ugt i8* %186, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  br i1 %192, label %193, label %196

; <label>:193:                                    ; preds = %191
  %194 = ptrtoint i8* %186 to i32
  %195 = sub i32 %194, ptrtoint ([28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@" to i32)
  br label %196

; <label>:196:                                    ; preds = %193, %191, %181
  %197 = phi i32 [ %195, %193 ], [ 27, %181 ], [ 0, %191 ]
  %198 = add i32 %177, 1
  %199 = getelementptr inbounds i8, i8* %186, i32 27
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %199, i8* %186, i32 %198, i32 1, i1 false) #14, !noalias !1459
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %186, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 %197, i32 1, i1 false) #14, !noalias !1459
  %200 = sub i32 27, %197
  %201 = getelementptr inbounds i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 27), i32 %197
  %202 = getelementptr inbounds i8, i8* %186, i32 %197
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %202, i8* %201, i32 %200, i32 1, i1 false) #14, !noalias !1459
  br label %205

; <label>:203:                                    ; preds = %175
  %204 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %17, i32 27, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HGMDHLG@CreateFileW?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 27) #14, !noalias !1459
  br label %205

; <label>:205:                                    ; preds = %203, %196
  %206 = phi %"class.std::basic_string"* [ %17, %196 ], [ %204, %203 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %178) #14, !noalias !1459
  %207 = bitcast %"class.std::basic_string"* %0 to i8*
  %208 = bitcast %"class.std::basic_string"* %206 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %207, i8* nonnull %208, i32 24, i32 1, i1 false) #14
  %209 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %206, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %209, align 4, !tbaa !83, !noalias !1459
  %210 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %206, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %210, align 4, !tbaa !81, !noalias !1459
  store i8 0, i8* %208, align 1, !tbaa !12, !noalias !1459
  %211 = load i32, i32* %161, align 4, !tbaa !81
  %212 = icmp ugt i32 %211, 15
  br i1 %212, label %213, label %238

; <label>:213:                                    ; preds = %205
  %214 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %17, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %215 = load i8*, i8** %214, align 4, !tbaa !12
  %216 = add i32 %211, 1
  %217 = icmp ugt i32 %216, 4095
  br i1 %217, label %218, label %235

; <label>:218:                                    ; preds = %213
  %219 = add i32 %211, 36
  %220 = icmp ugt i32 %216, -36
  br i1 %220, label %234, label %221

; <label>:221:                                    ; preds = %218
  %222 = ptrtoint i8* %215 to i32
  %223 = and i32 %222, 31
  %224 = icmp eq i32 %223, 0
  br i1 %224, label %225, label %234

; <label>:225:                                    ; preds = %221
  %226 = add i32 %222, -4
  %227 = inttoptr i32 %226 to i32*
  %228 = load i32, i32* %227, align 4, !tbaa !24
  %229 = icmp ult i32 %228, %222
  br i1 %229, label %230, label %234

; <label>:230:                                    ; preds = %225
  %231 = sub i32 %226, %228
  %232 = icmp ugt i32 %231, 31
  %233 = inttoptr i32 %228 to i8*
  br i1 %232, label %234, label %235

; <label>:234:                                    ; preds = %230, %225, %221, %218
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:235:                                    ; preds = %230, %213
  %236 = phi i8* [ %233, %230 ], [ %215, %213 ]
  %237 = phi i32 [ %219, %230 ], [ %216, %213 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %236, i32 %237) #14
  br label %238

; <label>:238:                                    ; preds = %235, %205
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %145) #14
  br label %599

; <label>:239:                                    ; preds = %135
  %240 = bitcast %"struct.ast::IntX"* %18 to i8*
  call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %240) #14
  %241 = call x86_stdcallcc i32 @"\01_GetFileSizeEx@8"(i8* %142, %"struct.ast::IntX"* nonnull %18) #14
  %242 = icmp eq i32 %241, 1
  br i1 %242, label %339, label %243

; <label>:243:                                    ; preds = %239
  %244 = call x86_stdcallcc i32 @"\01_CloseHandle@4"(i8* %142) #14
  %245 = bitcast %"class.std::basic_string"* %19 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %245) #14
  %246 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %247 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %247) #14, !noalias !1462
  %248 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 21
  br label %249

; <label>:249:                                    ; preds = %249, %243
  %250 = phi i32 [ 0, %243 ], [ %255, %249 ]
  %251 = phi i32 [ %246, %243 ], [ %257, %249 ]
  %252 = urem i32 %251, 10
  %253 = trunc i32 %252 to i8
  %254 = or i8 %253, 48
  %255 = add nsw i32 %250, -1
  %256 = getelementptr inbounds i8, i8* %248, i32 %255
  store i8 %254, i8* %256, align 1, !tbaa !12, !noalias !1462
  %257 = udiv i32 %251, 10
  %258 = icmp ugt i32 %251, 9
  br i1 %258, label %249, label %259

; <label>:259:                                    ; preds = %249
  %260 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 1
  %261 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 2
  %262 = bitcast i32* %260 to i64*
  store i64 0, i64* %262, align 4, !alias.scope !1462
  store i32 15, i32* %261, align 4, !tbaa !81, !alias.scope !1462
  store i8 0, i8* %245, align 4, !tbaa !12, !alias.scope !1462
  %263 = icmp eq i32 %255, 0
  br i1 %263, label %275, label %264

; <label>:264:                                    ; preds = %259
  %265 = sub i32 1, %250
  %266 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %266) #14, !noalias !1462
  %267 = icmp ugt i32 %265, 15
  br i1 %267, label %270, label %268

; <label>:268:                                    ; preds = %264
  store i32 %265, i32* %260, align 4, !tbaa !83, !alias.scope !1462
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %245, i8* %256, i32 %265, i32 1, i1 false) #14
  %269 = getelementptr inbounds i8, i8* %245, i32 %265
  store i8 0, i8* %269, align 1, !tbaa !12, !alias.scope !1462
  br label %272

; <label>:270:                                    ; preds = %264
  %271 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %19, i32 %265, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8* %256) #14
  br label %272

; <label>:272:                                    ; preds = %270, %268
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %266) #14, !noalias !1462
  %273 = load i32, i32* %260, align 4, !tbaa !83, !noalias !1467
  %274 = load i32, i32* %261, align 4, !tbaa !81, !noalias !1467
  br label %275

; <label>:275:                                    ; preds = %272, %259
  %276 = phi i32 [ 15, %259 ], [ %274, %272 ]
  %277 = phi i32 [ 0, %259 ], [ %273, %272 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %247) #14, !noalias !1462
  %278 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %278) #14, !noalias !1467
  %279 = sub i32 %276, %277
  %280 = icmp ult i32 %279, 29
  br i1 %280, label %303, label %281

; <label>:281:                                    ; preds = %275
  %282 = add i32 %277, 29
  store i32 %282, i32* %260, align 4, !tbaa !83, !noalias !1467
  %283 = icmp ugt i32 %276, 15
  %284 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %285 = load i8*, i8** %284, align 4, !noalias !1467
  %286 = select i1 %283, i8* %285, i8* %245
  %287 = icmp uge i8* %286, getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 29)
  %288 = getelementptr inbounds i8, i8* %286, i32 %277
  %289 = icmp ult i8* %288, getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  %290 = or i1 %287, %289
  br i1 %290, label %296, label %291

; <label>:291:                                    ; preds = %281
  %292 = icmp ugt i8* %286, getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  br i1 %292, label %293, label %296

; <label>:293:                                    ; preds = %291
  %294 = ptrtoint i8* %286 to i32
  %295 = sub i32 %294, ptrtoint ([30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@" to i32)
  br label %296

; <label>:296:                                    ; preds = %293, %291, %281
  %297 = phi i32 [ %295, %293 ], [ 29, %281 ], [ 0, %291 ]
  %298 = add i32 %277, 1
  %299 = getelementptr inbounds i8, i8* %286, i32 29
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %299, i8* %286, i32 %298, i32 1, i1 false) #14, !noalias !1467
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %286, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 %297, i32 1, i1 false) #14, !noalias !1467
  %300 = sub i32 29, %297
  %301 = getelementptr inbounds i8, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 29), i32 %297
  %302 = getelementptr inbounds i8, i8* %286, i32 %297
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %302, i8* %301, i32 %300, i32 1, i1 false) #14, !noalias !1467
  br label %305

; <label>:303:                                    ; preds = %275
  %304 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %19, i32 29, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i32 0, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @"\01??_C@_0BO@BIJLCCML@GetFileSizeEx?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 29) #14, !noalias !1467
  br label %305

; <label>:305:                                    ; preds = %303, %296
  %306 = phi %"class.std::basic_string"* [ %19, %296 ], [ %304, %303 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %278) #14, !noalias !1467
  %307 = bitcast %"class.std::basic_string"* %0 to i8*
  %308 = bitcast %"class.std::basic_string"* %306 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %307, i8* nonnull %308, i32 24, i32 1, i1 false) #14
  %309 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %306, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %309, align 4, !tbaa !83, !noalias !1467
  %310 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %306, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %310, align 4, !tbaa !81, !noalias !1467
  store i8 0, i8* %308, align 1, !tbaa !12, !noalias !1467
  %311 = load i32, i32* %261, align 4, !tbaa !81
  %312 = icmp ugt i32 %311, 15
  br i1 %312, label %313, label %338

; <label>:313:                                    ; preds = %305
  %314 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %19, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %315 = load i8*, i8** %314, align 4, !tbaa !12
  %316 = add i32 %311, 1
  %317 = icmp ugt i32 %316, 4095
  br i1 %317, label %318, label %335

; <label>:318:                                    ; preds = %313
  %319 = add i32 %311, 36
  %320 = icmp ugt i32 %316, -36
  br i1 %320, label %334, label %321

; <label>:321:                                    ; preds = %318
  %322 = ptrtoint i8* %315 to i32
  %323 = and i32 %322, 31
  %324 = icmp eq i32 %323, 0
  br i1 %324, label %325, label %334

; <label>:325:                                    ; preds = %321
  %326 = add i32 %322, -4
  %327 = inttoptr i32 %326 to i32*
  %328 = load i32, i32* %327, align 4, !tbaa !24
  %329 = icmp ult i32 %328, %322
  br i1 %329, label %330, label %334

; <label>:330:                                    ; preds = %325
  %331 = sub i32 %326, %328
  %332 = icmp ugt i32 %331, 31
  %333 = inttoptr i32 %328 to i8*
  br i1 %332, label %334, label %335

; <label>:334:                                    ; preds = %330, %325, %321, %318
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:335:                                    ; preds = %330, %313
  %336 = phi i8* [ %333, %330 ], [ %315, %313 ]
  %337 = phi i32 [ %319, %330 ], [ %316, %313 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %336, i32 %337) #14
  br label %338

; <label>:338:                                    ; preds = %335, %305
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %245) #14
  br label %598

; <label>:339:                                    ; preds = %239
  %340 = bitcast %"struct.ast::IntX"* %18 to %struct.anon*
  %341 = getelementptr inbounds %struct.anon, %struct.anon* %340, i32 0, i32 1
  %342 = load i32, i32* %341, align 4, !tbaa !12
  %343 = icmp eq i32 %342, 0
  br i1 %343, label %350, label %344

; <label>:344:                                    ; preds = %339
  %345 = call x86_stdcallcc i32 @"\01_CloseHandle@4"(i8* %142) #14
  %346 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %347 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %347, align 4, !tbaa !81
  %348 = bitcast %"class.std::basic_string"* %0 to i8*
  store i32 15, i32* %346, align 4, !tbaa !83
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %348, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @"\01??_C@_0BA@MFBJLJNL@file?5is?5too?5big?$AA@", i32 0, i32 0), i32 15, i32 1, i1 false) #14
  %349 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 11
  store i8 0, i8* %349, align 1, !tbaa !12
  br label %598

; <label>:350:                                    ; preds = %339
  %351 = bitcast %"struct.ast::IntX"* %18 to i32*
  %352 = load i32, i32* %351, align 8, !tbaa !12
  %353 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 1
  %354 = load i32, i32* %353, align 4, !tbaa !83
  %355 = icmp ugt i32 %352, %354
  br i1 %355, label %365, label %356

; <label>:356:                                    ; preds = %350
  %357 = bitcast %"class.std::basic_string"* %2 to i8*
  %358 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %359 = load i32, i32* %358, align 4, !tbaa !81
  %360 = icmp ugt i32 %359, 15
  %361 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %362 = load i8*, i8** %361, align 4
  %363 = select i1 %360, i8* %362, i8* %357
  store i32 %352, i32* %353, align 4, !tbaa !83
  %364 = getelementptr inbounds i8, i8* %363, i32 %352
  store i8 0, i8* %364, align 1, !tbaa !12
  br label %387

; <label>:365:                                    ; preds = %350
  %366 = sub i32 %352, %354
  %367 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %367) #14
  %368 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 2
  %369 = load i32, i32* %368, align 4, !tbaa !81
  %370 = sub i32 %369, %354
  %371 = icmp ult i32 %370, %366
  br i1 %371, label %380, label %372

; <label>:372:                                    ; preds = %365
  store i32 %352, i32* %353, align 4, !tbaa !83
  %373 = bitcast %"class.std::basic_string"* %2 to i8*
  %374 = icmp ugt i32 %369, 15
  %375 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %376 = load i8*, i8** %375, align 4
  %377 = select i1 %374, i8* %376, i8* %373
  %378 = getelementptr inbounds i8, i8* %377, i32 %354
  call void @llvm.memset.p0i8.i32(i8* %378, i8 0, i32 %366, i32 1, i1 false) #14
  %379 = getelementptr inbounds i8, i8* %377, i32 %352
  store i8 0, i8* %379, align 1, !tbaa !12
  br label %384

; <label>:380:                                    ; preds = %365
  %381 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@ID@Z@ID@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??append@01@QAEAAV01@ID@Z@ID@Z"(%"class.std::basic_string"* nonnull %2, i32 %366, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i32 %366, i8 signext 0) #14
  %382 = bitcast %"class.std::basic_string"* %2 to i8*
  %383 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  br label %384

; <label>:384:                                    ; preds = %380, %372
  %385 = phi i8** [ %383, %380 ], [ %375, %372 ]
  %386 = phi i8* [ %382, %380 ], [ %373, %372 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %367) #14
  br label %387

; <label>:387:                                    ; preds = %384, %356
  %388 = phi i8** [ %361, %356 ], [ %385, %384 ]
  %389 = phi i32* [ %358, %356 ], [ %368, %384 ]
  %390 = phi i8* [ %357, %356 ], [ %386, %384 ]
  %391 = bitcast i32* %20 to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %391) #14
  %392 = load i32, i32* %351, align 8, !tbaa !12
  %393 = load i32, i32* %389, align 4, !tbaa !81
  %394 = icmp ugt i32 %393, 15
  %395 = load i8*, i8** %388, align 4
  %396 = select i1 %394, i8* %395, i8* %390
  %397 = call x86_stdcallcc i32 @"\01_ReadFile@20"(i8* %142, i8* %396, i32 %392, i32* nonnull %20, %struct._OVERLAPPED* null) #14
  %398 = icmp eq i32 %397, 1
  %399 = call x86_stdcallcc i32 @"\01_CloseHandle@4"(i8* %142) #14
  br i1 %398, label %495, label %400

; <label>:400:                                    ; preds = %387
  %401 = bitcast %"class.std::basic_string"* %21 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %401) #14
  %402 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %403 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %403) #14, !noalias !1470
  %404 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 21
  br label %405

; <label>:405:                                    ; preds = %405, %400
  %406 = phi i32 [ 0, %400 ], [ %411, %405 ]
  %407 = phi i32 [ %402, %400 ], [ %413, %405 ]
  %408 = urem i32 %407, 10
  %409 = trunc i32 %408 to i8
  %410 = or i8 %409, 48
  %411 = add nsw i32 %406, -1
  %412 = getelementptr inbounds i8, i8* %404, i32 %411
  store i8 %410, i8* %412, align 1, !tbaa !12, !noalias !1470
  %413 = udiv i32 %407, 10
  %414 = icmp ugt i32 %407, 9
  br i1 %414, label %405, label %415

; <label>:415:                                    ; preds = %405
  %416 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 1
  %417 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 2
  %418 = bitcast i32* %416 to i64*
  store i64 0, i64* %418, align 4, !alias.scope !1470
  store i32 15, i32* %417, align 4, !tbaa !81, !alias.scope !1470
  store i8 0, i8* %401, align 4, !tbaa !12, !alias.scope !1470
  %419 = icmp eq i32 %411, 0
  br i1 %419, label %431, label %420

; <label>:420:                                    ; preds = %415
  %421 = sub i32 1, %406
  %422 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %422) #14, !noalias !1470
  %423 = icmp ugt i32 %421, 15
  br i1 %423, label %426, label %424

; <label>:424:                                    ; preds = %420
  store i32 %421, i32* %416, align 4, !tbaa !83, !alias.scope !1470
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %401, i8* %412, i32 %421, i32 1, i1 false) #14
  %425 = getelementptr inbounds i8, i8* %401, i32 %421
  store i8 0, i8* %425, align 1, !tbaa !12, !alias.scope !1470
  br label %428

; <label>:426:                                    ; preds = %420
  %427 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %21, i32 %421, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8* %412) #14
  br label %428

; <label>:428:                                    ; preds = %426, %424
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %422) #14, !noalias !1470
  %429 = load i32, i32* %416, align 4, !tbaa !83, !noalias !1475
  %430 = load i32, i32* %417, align 4, !tbaa !81, !noalias !1475
  br label %431

; <label>:431:                                    ; preds = %428, %415
  %432 = phi i32 [ 15, %415 ], [ %430, %428 ]
  %433 = phi i32 [ 0, %415 ], [ %429, %428 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %403) #14, !noalias !1470
  %434 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %434) #14, !noalias !1475
  %435 = sub i32 %432, %433
  %436 = icmp ult i32 %435, 24
  br i1 %436, label %459, label %437

; <label>:437:                                    ; preds = %431
  %438 = add i32 %433, 24
  store i32 %438, i32* %416, align 4, !tbaa !83, !noalias !1475
  %439 = icmp ugt i32 %432, 15
  %440 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %441 = load i8*, i8** %440, align 4, !noalias !1475
  %442 = select i1 %439, i8* %441, i8* %401
  %443 = icmp uge i8* %442, getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 24)
  %444 = getelementptr inbounds i8, i8* %442, i32 %433
  %445 = icmp ult i8* %444, getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  %446 = or i1 %443, %445
  br i1 %446, label %452, label %447

; <label>:447:                                    ; preds = %437
  %448 = icmp ugt i8* %442, getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  br i1 %448, label %449, label %452

; <label>:449:                                    ; preds = %447
  %450 = ptrtoint i8* %442 to i32
  %451 = sub i32 %450, ptrtoint ([25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@" to i32)
  br label %452

; <label>:452:                                    ; preds = %449, %447, %437
  %453 = phi i32 [ %451, %449 ], [ 24, %437 ], [ 0, %447 ]
  %454 = add i32 %433, 1
  %455 = getelementptr inbounds i8, i8* %442, i32 24
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %455, i8* %442, i32 %454, i32 1, i1 false) #14, !noalias !1475
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %442, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 %453, i32 1, i1 false) #14, !noalias !1475
  %456 = sub i32 24, %453
  %457 = getelementptr inbounds i8, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 24), i32 %453
  %458 = getelementptr inbounds i8, i8* %442, i32 %453
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %458, i8* %457, i32 %456, i32 1, i1 false) #14, !noalias !1475
  br label %461

; <label>:459:                                    ; preds = %431
  %460 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %21, i32 24, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @"\01??_C@_0BJ@MHPONOLA@ReadFile?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 24) #14, !noalias !1475
  br label %461

; <label>:461:                                    ; preds = %459, %452
  %462 = phi %"class.std::basic_string"* [ %21, %452 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %434) #14, !noalias !1475
  %463 = bitcast %"class.std::basic_string"* %0 to i8*
  %464 = bitcast %"class.std::basic_string"* %462 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %463, i8* nonnull %464, i32 24, i32 1, i1 false) #14
  %465 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %462, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %465, align 4, !tbaa !83, !noalias !1475
  %466 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %462, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %466, align 4, !tbaa !81, !noalias !1475
  store i8 0, i8* %464, align 1, !tbaa !12, !noalias !1475
  %467 = load i32, i32* %417, align 4, !tbaa !81
  %468 = icmp ugt i32 %467, 15
  br i1 %468, label %469, label %494

; <label>:469:                                    ; preds = %461
  %470 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %21, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %471 = load i8*, i8** %470, align 4, !tbaa !12
  %472 = add i32 %467, 1
  %473 = icmp ugt i32 %472, 4095
  br i1 %473, label %474, label %491

; <label>:474:                                    ; preds = %469
  %475 = add i32 %467, 36
  %476 = icmp ugt i32 %472, -36
  br i1 %476, label %490, label %477

; <label>:477:                                    ; preds = %474
  %478 = ptrtoint i8* %471 to i32
  %479 = and i32 %478, 31
  %480 = icmp eq i32 %479, 0
  br i1 %480, label %481, label %490

; <label>:481:                                    ; preds = %477
  %482 = add i32 %478, -4
  %483 = inttoptr i32 %482 to i32*
  %484 = load i32, i32* %483, align 4, !tbaa !24
  %485 = icmp ult i32 %484, %478
  br i1 %485, label %486, label %490

; <label>:486:                                    ; preds = %481
  %487 = sub i32 %482, %484
  %488 = icmp ugt i32 %487, 31
  %489 = inttoptr i32 %484 to i8*
  br i1 %488, label %490, label %491

; <label>:490:                                    ; preds = %486, %481, %477, %474
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:491:                                    ; preds = %486, %469
  %492 = phi i8* [ %489, %486 ], [ %471, %469 ]
  %493 = phi i32 [ %475, %486 ], [ %472, %469 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %492, i32 %493) #14
  br label %494

; <label>:494:                                    ; preds = %491, %461
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %401) #14
  br label %597

; <label>:495:                                    ; preds = %387
  %496 = icmp eq i32 %399, 1
  br i1 %496, label %592, label %497

; <label>:497:                                    ; preds = %495
  %498 = bitcast %"class.std::basic_string"* %22 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %498) #14
  %499 = call x86_stdcallcc i32 @"\01_GetLastError@0"() #14
  %500 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 21, i8* nonnull %500) #14, !noalias !1478
  %501 = getelementptr inbounds [21 x i8], [21 x i8]* %13, i32 0, i32 21
  br label %502

; <label>:502:                                    ; preds = %502, %497
  %503 = phi i32 [ 0, %497 ], [ %508, %502 ]
  %504 = phi i32 [ %499, %497 ], [ %510, %502 ]
  %505 = urem i32 %504, 10
  %506 = trunc i32 %505 to i8
  %507 = or i8 %506, 48
  %508 = add nsw i32 %503, -1
  %509 = getelementptr inbounds i8, i8* %501, i32 %508
  store i8 %507, i8* %509, align 1, !tbaa !12, !noalias !1478
  %510 = udiv i32 %504, 10
  %511 = icmp ugt i32 %504, 9
  br i1 %511, label %502, label %512

; <label>:512:                                    ; preds = %502
  %513 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 1
  %514 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 2
  %515 = bitcast i32* %513 to i64*
  store i64 0, i64* %515, align 4, !alias.scope !1478
  store i32 15, i32* %514, align 4, !tbaa !81, !alias.scope !1478
  store i8 0, i8* %498, align 4, !tbaa !12, !alias.scope !1478
  %516 = icmp eq i32 %508, 0
  br i1 %516, label %528, label %517

; <label>:517:                                    ; preds = %512
  %518 = sub i32 1, %503
  %519 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %519) #14, !noalias !1478
  %520 = icmp ugt i32 %518, 15
  br i1 %520, label %523, label %521

; <label>:521:                                    ; preds = %517
  store i32 %518, i32* %513, align 4, !tbaa !83, !alias.scope !1478
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* nonnull %498, i8* %509, i32 %518, i32 1, i1 false) #14
  %522 = getelementptr inbounds i8, i8* %498, i32 %518
  store i8 0, i8* %522, align 1, !tbaa !12, !alias.scope !1478
  br label %525

; <label>:523:                                    ; preds = %517
  %524 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_for@V<lambda_1>@?0??assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@QBDI@Z@PBD@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??assign@01@QAEAAV01@QBDI@Z@PBD@Z"(%"class.std::basic_string"* nonnull %22, i32 %518, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8* %509) #14
  br label %525

; <label>:525:                                    ; preds = %523, %521
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %519) #14, !noalias !1478
  %526 = load i32, i32* %513, align 4, !tbaa !83, !noalias !1483
  %527 = load i32, i32* %514, align 4, !tbaa !81, !noalias !1483
  br label %528

; <label>:528:                                    ; preds = %525, %512
  %529 = phi i32 [ 15, %512 ], [ %527, %525 ]
  %530 = phi i32 [ 0, %512 ], [ %526, %525 ]
  call void @llvm.lifetime.end.p0i8(i64 21, i8* nonnull %500) #14, !noalias !1478
  %531 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %531) #14, !noalias !1483
  %532 = sub i32 %529, %530
  %533 = icmp ult i32 %532, 27
  br i1 %533, label %556, label %534

; <label>:534:                                    ; preds = %528
  %535 = add i32 %530, 27
  store i32 %535, i32* %513, align 4, !tbaa !83, !noalias !1483
  %536 = icmp ugt i32 %529, 15
  %537 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %538 = load i8*, i8** %537, align 4, !noalias !1483
  %539 = select i1 %536, i8* %538, i8* %498
  %540 = icmp uge i8* %539, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 27)
  %541 = getelementptr inbounds i8, i8* %539, i32 %530
  %542 = icmp ult i8* %541, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  %543 = or i1 %540, %542
  br i1 %543, label %549, label %544

; <label>:544:                                    ; preds = %534
  %545 = icmp ugt i8* %539, getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 0)
  br i1 %545, label %546, label %549

; <label>:546:                                    ; preds = %544
  %547 = ptrtoint i8* %539 to i32
  %548 = sub i32 %547, ptrtoint ([28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@" to i32)
  br label %549

; <label>:549:                                    ; preds = %546, %544, %534
  %550 = phi i32 [ %548, %546 ], [ 27, %534 ], [ 0, %544 ]
  %551 = add i32 %530, 1
  %552 = getelementptr inbounds i8, i8* %539, i32 27
  call void @llvm.memmove.p0i8.p0i8.i32(i8* %552, i8* %539, i32 %551, i32 1, i1 false) #14, !noalias !1483
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %539, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 %550, i32 1, i1 false) #14, !noalias !1483
  %553 = sub i32 27, %550
  %554 = getelementptr inbounds i8, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 27), i32 %550
  %555 = getelementptr inbounds i8, i8* %539, i32 %550
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %555, i8* %554, i32 %553, i32 1, i1 false) #14, !noalias !1483
  br label %558

; <label>:556:                                    ; preds = %528
  %557 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV34@IQBDI@Z@IPBDI@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??insert@01@QAEAAV01@IQBDI@Z@IPBDI@Z"(%"class.std::basic_string"* nonnull %22, i32 27, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @"\01??_C@_0BM@HJOEIALC@CloseHandle?5failed?0?5result?$DN?$AA@", i32 0, i32 0), i32 27) #14, !noalias !1483
  br label %558

; <label>:558:                                    ; preds = %556, %549
  %559 = phi %"class.std::basic_string"* [ %22, %549 ], [ %557, %556 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %531) #14, !noalias !1483
  %560 = bitcast %"class.std::basic_string"* %0 to i8*
  %561 = bitcast %"class.std::basic_string"* %559 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %560, i8* nonnull %561, i32 24, i32 1, i1 false) #14
  %562 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %559, i32 0, i32 0, i32 0, i32 0, i32 1
  store i32 0, i32* %562, align 4, !tbaa !83, !noalias !1483
  %563 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %559, i32 0, i32 0, i32 0, i32 0, i32 2
  store i32 15, i32* %563, align 4, !tbaa !81, !noalias !1483
  store i8 0, i8* %561, align 1, !tbaa !12, !noalias !1483
  %564 = load i32, i32* %514, align 4, !tbaa !81
  %565 = icmp ugt i32 %564, 15
  br i1 %565, label %566, label %591

; <label>:566:                                    ; preds = %558
  %567 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %22, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %568 = load i8*, i8** %567, align 4, !tbaa !12
  %569 = add i32 %564, 1
  %570 = icmp ugt i32 %569, 4095
  br i1 %570, label %571, label %588

; <label>:571:                                    ; preds = %566
  %572 = add i32 %564, 36
  %573 = icmp ugt i32 %569, -36
  br i1 %573, label %587, label %574

; <label>:574:                                    ; preds = %571
  %575 = ptrtoint i8* %568 to i32
  %576 = and i32 %575, 31
  %577 = icmp eq i32 %576, 0
  br i1 %577, label %578, label %587

; <label>:578:                                    ; preds = %574
  %579 = add i32 %575, -4
  %580 = inttoptr i32 %579 to i32*
  %581 = load i32, i32* %580, align 4, !tbaa !24
  %582 = icmp ult i32 %581, %575
  br i1 %582, label %583, label %587

; <label>:583:                                    ; preds = %578
  %584 = sub i32 %579, %581
  %585 = icmp ugt i32 %584, 31
  %586 = inttoptr i32 %581 to i8*
  br i1 %585, label %587, label %588

; <label>:587:                                    ; preds = %583, %578, %574, %571
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:588:                                    ; preds = %583, %566
  %589 = phi i8* [ %586, %583 ], [ %568, %566 ]
  %590 = phi i32 [ %572, %583 ], [ %569, %566 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %589, i32 %590) #14
  br label %591

; <label>:591:                                    ; preds = %588, %558
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %498) #14
  br label %597

; <label>:592:                                    ; preds = %495
  %593 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %594 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %595 = bitcast i32* %593 to i64*
  store i64 0, i64* %595, align 4
  store i32 15, i32* %594, align 4, !tbaa !81
  %596 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %596, align 4, !tbaa !12
  br label %597

; <label>:597:                                    ; preds = %592, %591, %494
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %391) #14
  br label %598

; <label>:598:                                    ; preds = %597, %344, %338
  call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %240) #14
  br label %599

; <label>:599:                                    ; preds = %598, %238
  %600 = load i32, i32* %115, align 4, !tbaa !54
  %601 = icmp ugt i32 %600, 7
  br i1 %601, label %602, label %630

; <label>:602:                                    ; preds = %599
  %603 = load i16*, i16** %136, align 4, !tbaa !12
  %604 = add i32 %600, 1
  %605 = icmp slt i32 %604, 0
  br i1 %605, label %626, label %606

; <label>:606:                                    ; preds = %602
  %607 = bitcast i16* %603 to i8*
  %608 = shl i32 %604, 1
  %609 = icmp ugt i32 %608, 4095
  br i1 %609, label %610, label %627

; <label>:610:                                    ; preds = %606
  %611 = add i32 %608, 35
  %612 = icmp ugt i32 %608, -36
  br i1 %612, label %626, label %613

; <label>:613:                                    ; preds = %610
  %614 = ptrtoint i16* %603 to i32
  %615 = and i32 %614, 31
  %616 = icmp eq i32 %615, 0
  br i1 %616, label %617, label %626

; <label>:617:                                    ; preds = %613
  %618 = add i32 %614, -4
  %619 = inttoptr i32 %618 to i32*
  %620 = load i32, i32* %619, align 4, !tbaa !24
  %621 = icmp ult i32 %620, %614
  br i1 %621, label %622, label %626

; <label>:622:                                    ; preds = %617
  %623 = sub i32 %618, %620
  %624 = icmp ugt i32 %623, 31
  %625 = inttoptr i32 %620 to i8*
  br i1 %624, label %626, label %627

; <label>:626:                                    ; preds = %622, %617, %613, %610, %602
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:627:                                    ; preds = %622, %606
  %628 = phi i8* [ %625, %622 ], [ %607, %606 ]
  %629 = phi i32 [ %611, %622 ], [ %608, %606 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %628, i32 %629) #14
  br label %630

; <label>:630:                                    ; preds = %627, %599
  store i32 0, i32* %116, align 4, !tbaa !58
  store i32 7, i32* %115, align 4, !tbaa !54
  store i16 0, i16* %137, align 4, !tbaa !56
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %23) #14
  ret void
}

declare dllimport x86_stdcallcc i32 @"\01_MultiByteToWideChar@24"(i32, i32, i8*, i32, i16*, i32) local_unnamed_addr #6

; Function Attrs: noreturn nounwind
define linkonce_odr void @"\01?_Xlength@?$vector@_WV?$allocator@_W@std@@@std@@CAXXZ"() local_unnamed_addr #8 comdat align 2 {
  tail call void @"\01?_Xlength_error@std@@YAXPBD@Z"(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @"\01??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@", i32 0, i32 0)) #12
  unreachable
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4, i16 zeroext) local_unnamed_addr #2 comdat align 2 {
  %5 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %6 = load i32, i32* %5, align 4, !tbaa !58
  %7 = sub i32 2147483646, %6
  %8 = icmp ult i32 %7, %1
  br i1 %8, label %9, label %10

; <label>:9:                                      ; preds = %4
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:10:                                     ; preds = %4
  %11 = add i32 %6, %1
  %12 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %13 = load i32, i32* %12, align 4, !tbaa !54
  %14 = or i32 %11, 7
  %15 = icmp ugt i32 %14, 2147483646
  br i1 %15, label %34, label %16

; <label>:16:                                     ; preds = %10
  %17 = lshr i32 %13, 1
  %18 = sub nsw i32 2147483646, %17
  %19 = icmp ugt i32 %13, %18
  br i1 %19, label %34, label %20

; <label>:20:                                     ; preds = %16
  %21 = add i32 %17, %13
  %22 = icmp ult i32 %14, %21
  %23 = select i1 %22, i32 %21, i32 %14
  %24 = add i32 %23, 1
  %25 = icmp eq i32 %24, 0
  br i1 %25, label %46, label %26

; <label>:26:                                     ; preds = %20
  %27 = icmp slt i32 %24, 0
  br i1 %27, label %28, label %29

; <label>:28:                                     ; preds = %26
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:29:                                     ; preds = %26
  %30 = shl i32 %24, 1
  %31 = icmp ugt i32 %30, 4095
  br i1 %31, label %32, label %44

; <label>:32:                                     ; preds = %29
  %33 = icmp ugt i32 %30, -36
  br i1 %33, label %34, label %35

; <label>:34:                                     ; preds = %32, %16, %10
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:35:                                     ; preds = %32
  %36 = add i32 %30, 35
  %37 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %36) #14
  %38 = ptrtoint i8* %37 to i32
  %39 = add i32 %38, 35
  %40 = and i32 %39, -32
  %41 = inttoptr i32 %40 to i8*
  %42 = inttoptr i32 %40 to i32*
  %43 = getelementptr inbounds i32, i32* %42, i32 -1
  store i32 %38, i32* %43, align 4, !tbaa !24
  br label %46

; <label>:44:                                     ; preds = %29
  %45 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %30) #14
  br label %46

; <label>:46:                                     ; preds = %44, %35, %20
  %47 = phi i32 [ -1, %20 ], [ %23, %35 ], [ %23, %44 ]
  %48 = phi i8* [ null, %20 ], [ %41, %35 ], [ %45, %44 ]
  %49 = bitcast i8* %48 to i16*
  %50 = ptrtoint i8* %48 to i32
  store i32 %11, i32* %5, align 4, !tbaa !58
  store i32 %47, i32* %12, align 4, !tbaa !54
  %51 = icmp ugt i32 %13, 7
  br i1 %51, label %52, label %85

; <label>:52:                                     ; preds = %46
  %53 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %54 = load i16*, i16** %53, align 4, !tbaa !12
  %55 = bitcast i16* %54 to i8*
  %56 = shl i32 %6, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* %55, i32 %56, i32 2, i1 false) #14
  %57 = getelementptr inbounds i16, i16* %49, i32 %6
  store i16 %3, i16* %57, align 2, !tbaa !56
  %58 = add i32 %6, 1
  %59 = getelementptr inbounds i16, i16* %49, i32 %58
  store i16 0, i16* %59, align 2, !tbaa !56
  %60 = add i32 %13, 1
  %61 = icmp slt i32 %60, 0
  br i1 %61, label %81, label %62

; <label>:62:                                     ; preds = %52
  %63 = shl i32 %60, 1
  %64 = icmp ugt i32 %63, 4095
  br i1 %64, label %65, label %82

; <label>:65:                                     ; preds = %62
  %66 = add i32 %63, 35
  %67 = icmp ugt i32 %63, -36
  br i1 %67, label %81, label %68

; <label>:68:                                     ; preds = %65
  %69 = ptrtoint i16* %54 to i32
  %70 = and i32 %69, 31
  %71 = icmp eq i32 %70, 0
  br i1 %71, label %72, label %81

; <label>:72:                                     ; preds = %68
  %73 = add i32 %69, -4
  %74 = inttoptr i32 %73 to i32*
  %75 = load i32, i32* %74, align 4, !tbaa !24
  %76 = icmp ult i32 %75, %69
  br i1 %76, label %77, label %81

; <label>:77:                                     ; preds = %72
  %78 = sub i32 %73, %75
  %79 = icmp ugt i32 %78, 31
  %80 = inttoptr i32 %75 to i8*
  br i1 %79, label %81, label %82

; <label>:81:                                     ; preds = %77, %72, %68, %65, %52
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:82:                                     ; preds = %77, %62
  %83 = phi i8* [ %80, %77 ], [ %55, %62 ]
  %84 = phi i32 [ %66, %77 ], [ %63, %62 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %83, i32 %84) #14
  br label %91

; <label>:85:                                     ; preds = %46
  %86 = bitcast %"class.std::basic_string.101"* %0 to i8*
  %87 = shl i32 %6, 1
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %48, i8* %86, i32 %87, i32 2, i1 false) #14
  %88 = getelementptr inbounds i16, i16* %49, i32 %6
  store i16 %3, i16* %88, align 2, !tbaa !56
  %89 = add i32 %6, 1
  %90 = getelementptr inbounds i16, i16* %49, i32 %89
  store i16 0, i16* %90, align 2, !tbaa !56
  br label %91

; <label>:91:                                     ; preds = %85, %82
  %92 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %50, i32* %92, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

declare dllimport x86_stdcallcc i8* @"\01_CreateFileW@28"(i16*, i32, i32, %struct._SECURITY_ATTRIBUTES*, i32, i32, i8*) local_unnamed_addr #6

declare dllimport x86_stdcallcc i32 @"\01_GetFileSizeEx@8"(i8*, %"struct.ast::IntX"*) local_unnamed_addr #6

declare dllimport x86_stdcallcc i32 @"\01_CloseHandle@4"(i8*) local_unnamed_addr #6

declare dllimport x86_stdcallcc i32 @"\01_ReadFile@20"(i8*, i8*, i32, i32*, %struct._OVERLAPPED*) local_unnamed_addr #6

; Function Attrs: nounwind
define i32 @"\01?fromCodePoint@@YAIIPAD@Z"(i32, i8* nocapture) local_unnamed_addr #2 {
  %3 = icmp ult i32 %0, 1114112
  br i1 %3, label %5, label %4

; <label>:4:                                      ; preds = %2
  tail call void @_wassert(i16* getelementptr inbounds ([21 x i16], [21 x i16]* @"\01??_C@_1CK@NEHOOEBB@?$AAc?$AAo?$AAd?$AAe?$AAP?$AAo?$AAi?$AAn?$AAt?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA1?$AA1?$AA0?$AA0?$AA0?$AA0?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 5) #14
  br label %34

; <label>:5:                                      ; preds = %2
  %6 = icmp ult i32 %0, 128
  br i1 %6, label %7, label %9

; <label>:7:                                      ; preds = %5
  %8 = trunc i32 %0 to i8
  store i8 %8, i8* %1, align 1, !tbaa !12
  br label %52

; <label>:9:                                      ; preds = %5
  %10 = icmp ult i32 %0, 2048
  br i1 %10, label %11, label %19

; <label>:11:                                     ; preds = %9
  %12 = lshr i32 %0, 6
  %13 = trunc i32 %12 to i8
  %14 = or i8 %13, -64
  store i8 %14, i8* %1, align 1, !tbaa !12
  %15 = trunc i32 %0 to i8
  %16 = and i8 %15, 63
  %17 = or i8 %16, -128
  %18 = getelementptr inbounds i8, i8* %1, i32 1
  store i8 %17, i8* %18, align 1, !tbaa !12
  br label %52

; <label>:19:                                     ; preds = %9
  %20 = icmp ult i32 %0, 65536
  br i1 %20, label %21, label %34

; <label>:21:                                     ; preds = %19
  %22 = lshr i32 %0, 12
  %23 = trunc i32 %22 to i8
  %24 = or i8 %23, -32
  store i8 %24, i8* %1, align 1, !tbaa !12
  %25 = lshr i32 %0, 6
  %26 = trunc i32 %25 to i8
  %27 = and i8 %26, 63
  %28 = or i8 %27, -128
  %29 = getelementptr inbounds i8, i8* %1, i32 1
  store i8 %28, i8* %29, align 1, !tbaa !12
  %30 = trunc i32 %0 to i8
  %31 = and i8 %30, 63
  %32 = or i8 %31, -128
  %33 = getelementptr inbounds i8, i8* %1, i32 2
  store i8 %32, i8* %33, align 1, !tbaa !12
  br label %52

; <label>:34:                                     ; preds = %19, %4
  %35 = lshr i32 %0, 18
  %36 = trunc i32 %35 to i8
  %37 = or i8 %36, -16
  store i8 %37, i8* %1, align 1, !tbaa !12
  %38 = lshr i32 %0, 12
  %39 = trunc i32 %38 to i8
  %40 = and i8 %39, 63
  %41 = or i8 %40, -128
  %42 = getelementptr inbounds i8, i8* %1, i32 1
  store i8 %41, i8* %42, align 1, !tbaa !12
  %43 = lshr i32 %0, 6
  %44 = trunc i32 %43 to i8
  %45 = and i8 %44, 63
  %46 = or i8 %45, -128
  %47 = getelementptr inbounds i8, i8* %1, i32 2
  store i8 %46, i8* %47, align 1, !tbaa !12
  %48 = trunc i32 %0 to i8
  %49 = and i8 %48, 63
  %50 = or i8 %49, -128
  %51 = getelementptr inbounds i8, i8* %1, i32 3
  store i8 %50, i8* %51, align 1, !tbaa !12
  br label %52

; <label>:52:                                     ; preds = %34, %21, %11, %7
  %53 = phi i32 [ 1, %7 ], [ 2, %11 ], [ 3, %21 ], [ 4, %34 ]
  ret i32 %53
}

; Function Attrs: nounwind
define i32 @"\01?toCodePoint@@YAIPBDAAI@Z"(i8* nocapture readonly, i32* nocapture dereferenceable(4)) local_unnamed_addr #2 {
  %3 = load i8, i8* %0, align 1, !tbaa !12
  %4 = zext i8 %3 to i32
  %5 = icmp sgt i8 %3, -1
  br i1 %5, label %10, label %6

; <label>:6:                                      ; preds = %2
  %7 = add i8 %3, 64
  %8 = icmp ult i8 %7, 56
  br i1 %8, label %11, label %9

; <label>:9:                                      ; preds = %6
  tail call void @_wassert(i16* getelementptr inbounds ([40 x i16], [40 x i16]* @"\01??_C@_1FA@IEDPGJFO@?$AAc?$AAu?$AA0?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAc?$AAu?$AA0?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AAu?$AA0@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 29) #14
  br label %11

; <label>:10:                                     ; preds = %2
  store i32 1, i32* %1, align 4, !tbaa !24
  br label %81

; <label>:11:                                     ; preds = %9, %6
  %12 = icmp ult i8 %3, -32
  br i1 %12, label %13, label %26

; <label>:13:                                     ; preds = %11
  %14 = getelementptr inbounds i8, i8* %0, i32 1
  %15 = load i8, i8* %14, align 1, !tbaa !12
  %16 = and i8 %15, -64
  %17 = icmp eq i8 %16, -128
  br i1 %17, label %19, label %18

; <label>:18:                                     ; preds = %13
  tail call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@GHANBHFB@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 34) #14
  br label %19

; <label>:19:                                     ; preds = %18, %13
  store i32 2, i32* %1, align 4, !tbaa !24
  %20 = shl nuw nsw i32 %4, 6
  %21 = and i32 %20, 1984
  %22 = load i8, i8* %14, align 1, !tbaa !12
  %23 = and i8 %22, 63
  %24 = zext i8 %23 to i32
  %25 = or i32 %21, %24
  br label %81

; <label>:26:                                     ; preds = %11
  %27 = icmp ult i8 %3, -16
  %28 = getelementptr inbounds i8, i8* %0, i32 1
  %29 = load i8, i8* %28, align 1, !tbaa !12
  %30 = and i8 %29, -64
  %31 = icmp eq i8 %30, -128
  %32 = getelementptr inbounds i8, i8* %0, i32 2
  br i1 %27, label %33, label %51

; <label>:33:                                     ; preds = %26
  br i1 %31, label %34, label %38

; <label>:34:                                     ; preds = %33
  %35 = load i8, i8* %32, align 1, !tbaa !12
  %36 = and i8 %35, -64
  %37 = icmp eq i8 %36, -128
  br i1 %37, label %39, label %38

; <label>:38:                                     ; preds = %34, %33
  tail call void @_wassert(i16* getelementptr inbounds ([71 x i16], [71 x i16]* @"\01??_C@_1IO@ILHBODHE@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 38) #14
  br label %39

; <label>:39:                                     ; preds = %38, %34
  store i32 3, i32* %1, align 4, !tbaa !24
  %40 = shl nuw nsw i32 %4, 12
  %41 = and i32 %40, 61440
  %42 = load i8, i8* %28, align 1, !tbaa !12
  %43 = and i8 %42, 63
  %44 = zext i8 %43 to i32
  %45 = shl nuw nsw i32 %44, 6
  %46 = or i32 %45, %41
  %47 = load i8, i8* %32, align 1, !tbaa !12
  %48 = and i8 %47, 63
  %49 = zext i8 %48 to i32
  %50 = or i32 %46, %49
  br label %81

; <label>:51:                                     ; preds = %26
  br i1 %31, label %52, label %61

; <label>:52:                                     ; preds = %51
  %53 = load i8, i8* %32, align 1, !tbaa !12
  %54 = and i8 %53, -64
  %55 = icmp eq i8 %54, -128
  br i1 %55, label %56, label %61

; <label>:56:                                     ; preds = %52
  %57 = getelementptr inbounds i8, i8* %0, i32 3
  %58 = load i8, i8* %57, align 1, !tbaa !12
  %59 = and i8 %58, -64
  %60 = icmp eq i8 %59, -128
  br i1 %60, label %63, label %61

; <label>:61:                                     ; preds = %56, %52, %51
  tail call void @_wassert(i16* getelementptr inbounds ([108 x i16], [108 x i16]* @"\01??_C@_1NI@CHJMDPEJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 43) #14
  %62 = getelementptr inbounds i8, i8* %0, i32 3
  br label %63

; <label>:63:                                     ; preds = %61, %56
  %64 = phi i8* [ %62, %61 ], [ %57, %56 ]
  store i32 4, i32* %1, align 4, !tbaa !24
  %65 = shl nuw nsw i32 %4, 18
  %66 = and i32 %65, 1835008
  %67 = load i8, i8* %28, align 1, !tbaa !12
  %68 = and i8 %67, 63
  %69 = zext i8 %68 to i32
  %70 = shl nuw nsw i32 %69, 12
  %71 = or i32 %70, %66
  %72 = load i8, i8* %32, align 1, !tbaa !12
  %73 = and i8 %72, 63
  %74 = zext i8 %73 to i32
  %75 = shl nuw nsw i32 %74, 6
  %76 = or i32 %71, %75
  %77 = load i8, i8* %64, align 1, !tbaa !12
  %78 = and i8 %77, 63
  %79 = zext i8 %78 to i32
  %80 = or i32 %76, %79
  br label %81

; <label>:81:                                     ; preds = %63, %39, %19, %10
  %82 = phi i32 [ %4, %10 ], [ %25, %19 ], [ %50, %39 ], [ %80, %63 ]
  ret i32 %82
}

; Function Attrs: nounwind
define i32 @"\01?codePointSize@@YAIPBD@Z"(i8* nocapture readonly) local_unnamed_addr #2 {
  %2 = load i8, i8* %0, align 1, !tbaa !12
  %3 = icmp sgt i8 %2, -1
  br i1 %3, label %41, label %4

; <label>:4:                                      ; preds = %1
  %5 = add i8 %2, 64
  %6 = icmp ult i8 %5, 56
  br i1 %6, label %8, label %7

; <label>:7:                                      ; preds = %4
  tail call void @_wassert(i16* getelementptr inbounds ([40 x i16], [40 x i16]* @"\01??_C@_1FA@IEDPGJFO@?$AAc?$AAu?$AA0?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAc?$AAu?$AA0?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAc?$AAu?$AA0@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 50) #14
  br label %8

; <label>:8:                                      ; preds = %7, %4
  %9 = icmp ult i8 %2, -32
  br i1 %9, label %10, label %16

; <label>:10:                                     ; preds = %8
  %11 = getelementptr inbounds i8, i8* %0, i32 1
  %12 = load i8, i8* %11, align 1, !tbaa !12
  %13 = and i8 %12, -64
  %14 = icmp eq i8 %13, -128
  br i1 %14, label %41, label %15

; <label>:15:                                     ; preds = %10
  tail call void @_wassert(i16* getelementptr inbounds ([34 x i16], [34 x i16]* @"\01??_C@_1EE@GHANBHFB@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 54) #14
  br label %41

; <label>:16:                                     ; preds = %8
  %17 = icmp ult i8 %2, -16
  %18 = getelementptr inbounds i8, i8* %0, i32 1
  %19 = load i8, i8* %18, align 1, !tbaa !12
  %20 = and i8 %19, -64
  %21 = icmp eq i8 %20, -128
  br i1 %17, label %22, label %29

; <label>:22:                                     ; preds = %16
  br i1 %21, label %23, label %28

; <label>:23:                                     ; preds = %22
  %24 = getelementptr inbounds i8, i8* %0, i32 2
  %25 = load i8, i8* %24, align 1, !tbaa !12
  %26 = and i8 %25, -64
  %27 = icmp eq i8 %26, -128
  br i1 %27, label %41, label %28

; <label>:28:                                     ; preds = %23, %22
  tail call void @_wassert(i16* getelementptr inbounds ([71 x i16], [71 x i16]* @"\01??_C@_1IO@ILHBODHE@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 57) #14
  br label %41

; <label>:29:                                     ; preds = %16
  br i1 %21, label %30, label %40

; <label>:30:                                     ; preds = %29
  %31 = getelementptr inbounds i8, i8* %0, i32 2
  %32 = load i8, i8* %31, align 1, !tbaa !12
  %33 = and i8 %32, -64
  %34 = icmp eq i8 %33, -128
  br i1 %34, label %35, label %40

; <label>:35:                                     ; preds = %30
  %36 = getelementptr inbounds i8, i8* %0, i32 3
  %37 = load i8, i8* %36, align 1, !tbaa !12
  %38 = and i8 %37, -64
  %39 = icmp eq i8 %38, -128
  br i1 %39, label %41, label %40

; <label>:40:                                     ; preds = %35, %30, %29
  tail call void @_wassert(i16* getelementptr inbounds ([108 x i16], [108 x i16]* @"\01??_C@_1NI@CHJMDPEJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?$FL?$AA1?$AA?$FN?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AA8@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 61) #14
  br label %41

; <label>:41:                                     ; preds = %40, %35, %28, %23, %15, %10, %1
  %42 = phi i32 [ 2, %15 ], [ 2, %10 ], [ 3, %28 ], [ 3, %23 ], [ 4, %40 ], [ 4, %35 ], [ 1, %1 ]
  ret i32 %42
}

; Function Attrs: nounwind
define i32 @"\01?previousCodePointSize@@YAIPBD@Z"(i8* nocapture readonly) local_unnamed_addr #2 {
  %2 = getelementptr inbounds i8, i8* %0, i32 -1
  %3 = load i8, i8* %2, align 1, !tbaa !12
  %4 = and i8 %3, -64
  %5 = icmp eq i8 %4, -128
  br i1 %5, label %9, label %6

; <label>:6:                                      ; preds = %1
  %7 = icmp sgt i8 %3, -1
  br i1 %7, label %42, label %8

; <label>:8:                                      ; preds = %6
  tail call void @_wassert(i16* getelementptr inbounds ([10 x i16], [10 x i16]* @"\01??_C@_1BE@NMHMCMGK@?$AAc?$AAu?$AA?5?$AA?$DM?$AA?5?$AA0?$AAx?$AA8?$AA0?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 68) #14
  br label %42

; <label>:9:                                      ; preds = %1
  %10 = getelementptr inbounds i8, i8* %0, i32 -2
  %11 = load i8, i8* %10, align 1, !tbaa !12
  %12 = zext i8 %11 to i32
  %13 = and i32 %12, 192
  %14 = icmp eq i32 %13, 128
  br i1 %14, label %19, label %15

; <label>:15:                                     ; preds = %9
  %16 = and i32 %12, 224
  %17 = icmp eq i32 %16, 192
  br i1 %17, label %42, label %18

; <label>:18:                                     ; preds = %15
  tail call void @_wassert(i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@PMKMCCAI@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAC?$AA0?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 74) #14
  br label %42

; <label>:19:                                     ; preds = %9
  %20 = getelementptr inbounds i8, i8* %0, i32 -3
  %21 = load i8, i8* %20, align 1, !tbaa !12
  %22 = zext i8 %21 to i32
  %23 = and i32 %22, 192
  %24 = icmp eq i32 %23, 128
  br i1 %24, label %29, label %25

; <label>:25:                                     ; preds = %19
  %26 = and i32 %22, 240
  %27 = icmp eq i32 %26, 224
  br i1 %27, label %42, label %28

; <label>:28:                                     ; preds = %25
  tail call void @_wassert(i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HCOLGIDN@?$AA?$CI?$AAc?$AAu?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA0?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AAx?$AAE?$AA0?$AA?$AA@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 80) #14
  br label %42

; <label>:29:                                     ; preds = %19
  %30 = getelementptr inbounds i8, i8* %0, i32 -4
  %31 = load i8, i8* %30, align 1, !tbaa !12
  %32 = zext i8 %31 to i32
  %33 = and i32 %32, 248
  %34 = icmp eq i32 %33, 240
  br i1 %34, label %35, label %41

; <label>:35:                                     ; preds = %29
  %36 = shl nuw nsw i32 %32, 6
  %37 = and i32 %36, 448
  %38 = and i32 %22, 48
  %39 = or i32 %37, %38
  %40 = icmp ult i32 %39, 272
  br i1 %40, label %42, label %41

; <label>:41:                                     ; preds = %35, %29
  tail call void @_wassert(i16* getelementptr inbounds ([122 x i16], [122 x i16]* @"\01??_C@_1PE@FFKMHBIJ@?$AA?$CI?$AAu?$AAi?$AAn?$AAt?$AA8?$AA_?$AAt?$AA?$CI?$AA?$CK?$AA?$CI?$AAu?$AAt?$AAf?$AA8?$AA?5?$AA?9?$AA?5?$AA4?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AA0?$AAx?$AAF?$AA8?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN@", i32 0, i32 0), i16* getelementptr inbounds ([20 x i16], [20 x i16]* @"\01??_C@_1CI@HEJIKKKN@?$AA?4?$AA?4?$AA?1?$AAu?$AAn?$AAi?$AAc?$AAo?$AAd?$AAe?$AAT?$AAo?$AAo?$AAl?$AAs?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@", i32 0, i32 0), i32 84) #14
  br label %42

; <label>:42:                                     ; preds = %41, %35, %28, %25, %18, %15, %8, %6
  %43 = phi i32 [ 1, %8 ], [ 1, %6 ], [ 2, %18 ], [ 2, %15 ], [ 3, %28 ], [ 3, %25 ], [ 4, %41 ], [ 4, %35 ]
  ret i32 %43
}

; Function Attrs: nounwind
define void @"\01?toUtf8@utf8@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@3@@Z"(%"class.std::basic_string"* noalias sret, %"class.std::basic_string.101"* nocapture readonly dereferenceable(24)) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = alloca %"struct.std::_Not_a_node_tag", align 4
  %7 = alloca %"struct.std::_Not_a_node_tag", align 4
  %8 = alloca %"struct.std::_Not_a_node_tag", align 4
  %9 = alloca %"struct.std::_Not_a_node_tag", align 4
  %10 = alloca %"struct.std::_Not_a_node_tag", align 4
  %11 = alloca %"struct.std::_Not_a_node_tag", align 4
  %12 = alloca %"struct.std::_Not_a_node_tag", align 4
  %13 = alloca %"struct.std::_Not_a_node_tag", align 4
  %14 = alloca %"struct.std::_Not_a_node_tag", align 4
  %15 = alloca %"struct.std::_Not_a_node_tag", align 4
  %16 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %18 = bitcast i32* %16 to i64*
  store i64 0, i64* %18, align 4
  store i32 15, i32* %17, align 4, !tbaa !81
  %19 = bitcast %"class.std::basic_string"* %0 to i8*
  store i8 0, i8* %19, align 4, !tbaa !12
  %20 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %21 = load i32, i32* %20, align 4, !tbaa !58
  %22 = add i32 %21, 3
  tail call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* %0, i32 %22)
  %23 = load i32, i32* %20, align 4, !tbaa !58
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %321, label %25

; <label>:25:                                     ; preds = %2
  %26 = bitcast %"class.std::basic_string.101"* %1 to i16*
  %27 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %28 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %29 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %8, i32 0, i32 0
  %30 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %31 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %7, i32 0, i32 0
  %32 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %6, i32 0, i32 0
  %33 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  %34 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  %35 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  %36 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %9, i32 0, i32 0
  %37 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %10, i32 0, i32 0
  %38 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %11, i32 0, i32 0
  %39 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %12, i32 0, i32 0
  %40 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %13, i32 0, i32 0
  %41 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %14, i32 0, i32 0
  %42 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %15, i32 0, i32 0
  br label %43

; <label>:43:                                     ; preds = %316, %25
  %44 = phi i32 [ 0, %25 ], [ %318, %316 ]
  %45 = load i32, i32* %16, align 4, !tbaa !83
  %46 = add i32 %45, 4
  %47 = load i32, i32* %17, align 4, !tbaa !81
  %48 = icmp ult i32 %46, %47
  br i1 %48, label %51, label %49

; <label>:49:                                     ; preds = %43
  %50 = shl i32 %47, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z"(%"class.std::basic_string"* nonnull %0, i32 %50)
  br label %51

; <label>:51:                                     ; preds = %49, %43
  %52 = load i32, i32* %27, align 4, !tbaa !54
  %53 = icmp ugt i32 %52, 7
  %54 = load i16*, i16** %28, align 4
  %55 = select i1 %53, i16* %54, i16* %26
  %56 = getelementptr inbounds i16, i16* %55, i32 %44
  %57 = load i16, i16* %56, align 2, !tbaa !56
  %58 = zext i16 %57 to i32
  %59 = icmp ult i16 %57, 128
  br i1 %59, label %60, label %77

; <label>:60:                                     ; preds = %51
  %61 = trunc i16 %57 to i8
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %29) #14
  %62 = load i32, i32* %16, align 4, !tbaa !83
  %63 = load i32, i32* %17, align 4, !tbaa !81
  %64 = icmp ult i32 %62, %63
  br i1 %64, label %65, label %74

; <label>:65:                                     ; preds = %60
  %66 = add i32 %62, 1
  store i32 %66, i32* %16, align 4, !tbaa !83
  %67 = icmp ugt i32 %63, 15
  br i1 %67, label %68, label %70

; <label>:68:                                     ; preds = %65
  %69 = load i8*, i8** %30, align 4, !tbaa !12
  br label %70

; <label>:70:                                     ; preds = %68, %65
  %71 = phi i8* [ %69, %68 ], [ %19, %65 ]
  %72 = getelementptr inbounds i8, i8* %71, i32 %62
  store i8 %61, i8* %72, align 1, !tbaa !12
  %73 = getelementptr inbounds i8, i8* %71, i32 %66
  store i8 0, i8* %73, align 1, !tbaa !12
  br label %76

; <label>:74:                                     ; preds = %60
  %75 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %8, i8 signext %61) #14
  br label %76

; <label>:76:                                     ; preds = %74, %70
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %29) #14
  br label %316

; <label>:77:                                     ; preds = %51
  %78 = icmp ult i16 %57, 2048
  br i1 %78, label %79, label %116

; <label>:79:                                     ; preds = %77
  %80 = lshr i16 %57, 6
  %81 = trunc i16 %80 to i8
  %82 = or i8 %81, -64
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %31) #14
  %83 = load i32, i32* %16, align 4, !tbaa !83
  %84 = load i32, i32* %17, align 4, !tbaa !81
  %85 = icmp ult i32 %83, %84
  br i1 %85, label %86, label %95

; <label>:86:                                     ; preds = %79
  %87 = add i32 %83, 1
  store i32 %87, i32* %16, align 4, !tbaa !83
  %88 = icmp ugt i32 %84, 15
  br i1 %88, label %89, label %91

; <label>:89:                                     ; preds = %86
  %90 = load i8*, i8** %30, align 4, !tbaa !12
  br label %91

; <label>:91:                                     ; preds = %89, %86
  %92 = phi i8* [ %90, %89 ], [ %19, %86 ]
  %93 = getelementptr inbounds i8, i8* %92, i32 %83
  store i8 %82, i8* %93, align 1, !tbaa !12
  %94 = getelementptr inbounds i8, i8* %92, i32 %87
  store i8 0, i8* %94, align 1, !tbaa !12
  br label %97

; <label>:95:                                     ; preds = %79
  %96 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %7, i8 signext %82) #14
  br label %97

; <label>:97:                                     ; preds = %95, %91
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %31) #14
  %98 = trunc i16 %57 to i8
  %99 = and i8 %98, 63
  %100 = or i8 %99, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %32) #14
  %101 = load i32, i32* %16, align 4, !tbaa !83
  %102 = load i32, i32* %17, align 4, !tbaa !81
  %103 = icmp ult i32 %101, %102
  br i1 %103, label %104, label %113

; <label>:104:                                    ; preds = %97
  %105 = add i32 %101, 1
  store i32 %105, i32* %16, align 4, !tbaa !83
  %106 = icmp ugt i32 %102, 15
  br i1 %106, label %107, label %109

; <label>:107:                                    ; preds = %104
  %108 = load i8*, i8** %30, align 4, !tbaa !12
  br label %109

; <label>:109:                                    ; preds = %107, %104
  %110 = phi i8* [ %108, %107 ], [ %19, %104 ]
  %111 = getelementptr inbounds i8, i8* %110, i32 %101
  store i8 %100, i8* %111, align 1, !tbaa !12
  %112 = getelementptr inbounds i8, i8* %110, i32 %105
  store i8 0, i8* %112, align 1, !tbaa !12
  br label %115

; <label>:113:                                    ; preds = %97
  %114 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %6, i8 signext %100) #14
  br label %115

; <label>:115:                                    ; preds = %113, %109
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %32) #14
  br label %316

; <label>:116:                                    ; preds = %77
  %117 = icmp ult i16 %57, -10240
  br i1 %117, label %118, label %174

; <label>:118:                                    ; preds = %116
  %119 = lshr i16 %57, 12
  %120 = trunc i16 %119 to i8
  %121 = or i8 %120, -32
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %33) #14
  %122 = load i32, i32* %16, align 4, !tbaa !83
  %123 = load i32, i32* %17, align 4, !tbaa !81
  %124 = icmp ult i32 %122, %123
  br i1 %124, label %125, label %134

; <label>:125:                                    ; preds = %118
  %126 = add i32 %122, 1
  store i32 %126, i32* %16, align 4, !tbaa !83
  %127 = icmp ugt i32 %123, 15
  br i1 %127, label %128, label %130

; <label>:128:                                    ; preds = %125
  %129 = load i8*, i8** %30, align 4, !tbaa !12
  br label %130

; <label>:130:                                    ; preds = %128, %125
  %131 = phi i8* [ %129, %128 ], [ %19, %125 ]
  %132 = getelementptr inbounds i8, i8* %131, i32 %122
  store i8 %121, i8* %132, align 1, !tbaa !12
  %133 = getelementptr inbounds i8, i8* %131, i32 %126
  store i8 0, i8* %133, align 1, !tbaa !12
  br label %136

; <label>:134:                                    ; preds = %118
  %135 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i8 signext %121) #14
  br label %136

; <label>:136:                                    ; preds = %134, %130
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %33) #14
  %137 = lshr i16 %57, 6
  %138 = trunc i16 %137 to i8
  %139 = and i8 %138, 63
  %140 = or i8 %139, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %34) #14
  %141 = load i32, i32* %16, align 4, !tbaa !83
  %142 = load i32, i32* %17, align 4, !tbaa !81
  %143 = icmp ult i32 %141, %142
  br i1 %143, label %144, label %153

; <label>:144:                                    ; preds = %136
  %145 = add i32 %141, 1
  store i32 %145, i32* %16, align 4, !tbaa !83
  %146 = icmp ugt i32 %142, 15
  br i1 %146, label %147, label %149

; <label>:147:                                    ; preds = %144
  %148 = load i8*, i8** %30, align 4, !tbaa !12
  br label %149

; <label>:149:                                    ; preds = %147, %144
  %150 = phi i8* [ %148, %147 ], [ %19, %144 ]
  %151 = getelementptr inbounds i8, i8* %150, i32 %141
  store i8 %140, i8* %151, align 1, !tbaa !12
  %152 = getelementptr inbounds i8, i8* %150, i32 %145
  store i8 0, i8* %152, align 1, !tbaa !12
  br label %155

; <label>:153:                                    ; preds = %136
  %154 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i8 signext %140) #14
  br label %155

; <label>:155:                                    ; preds = %153, %149
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %34) #14
  %156 = trunc i16 %57 to i8
  %157 = and i8 %156, 63
  %158 = or i8 %157, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %35) #14
  %159 = load i32, i32* %16, align 4, !tbaa !83
  %160 = load i32, i32* %17, align 4, !tbaa !81
  %161 = icmp ult i32 %159, %160
  br i1 %161, label %162, label %171

; <label>:162:                                    ; preds = %155
  %163 = add i32 %159, 1
  store i32 %163, i32* %16, align 4, !tbaa !83
  %164 = icmp ugt i32 %160, 15
  br i1 %164, label %165, label %167

; <label>:165:                                    ; preds = %162
  %166 = load i8*, i8** %30, align 4, !tbaa !12
  br label %167

; <label>:167:                                    ; preds = %165, %162
  %168 = phi i8* [ %166, %165 ], [ %19, %162 ]
  %169 = getelementptr inbounds i8, i8* %168, i32 %159
  store i8 %158, i8* %169, align 1, !tbaa !12
  %170 = getelementptr inbounds i8, i8* %168, i32 %163
  store i8 0, i8* %170, align 1, !tbaa !12
  br label %173

; <label>:171:                                    ; preds = %155
  %172 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i8 signext %158) #14
  br label %173

; <label>:173:                                    ; preds = %171, %167
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %35) #14
  br label %316

; <label>:174:                                    ; preds = %116
  %175 = icmp ult i16 %57, -8192
  br i1 %175, label %176, label %260

; <label>:176:                                    ; preds = %174
  %177 = add i32 %44, 1
  %178 = getelementptr inbounds i16, i16* %55, i32 %177
  %179 = load i16, i16* %178, align 2, !tbaa !56
  %180 = shl nuw nsw i32 %58, 10
  %181 = and i32 %180, 1047552
  %182 = and i16 %179, 1023
  %183 = zext i16 %182 to i32
  %184 = or i32 %181, %183
  %185 = add nuw nsw i32 %184, 65536
  %186 = lshr i32 %185, 18
  %187 = trunc i32 %186 to i8
  %188 = or i8 %187, -16
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %36) #14
  %189 = load i32, i32* %16, align 4, !tbaa !83
  %190 = load i32, i32* %17, align 4, !tbaa !81
  %191 = icmp ult i32 %189, %190
  br i1 %191, label %192, label %201

; <label>:192:                                    ; preds = %176
  %193 = add i32 %189, 1
  store i32 %193, i32* %16, align 4, !tbaa !83
  %194 = icmp ugt i32 %190, 15
  br i1 %194, label %195, label %197

; <label>:195:                                    ; preds = %192
  %196 = load i8*, i8** %30, align 4, !tbaa !12
  br label %197

; <label>:197:                                    ; preds = %195, %192
  %198 = phi i8* [ %196, %195 ], [ %19, %192 ]
  %199 = getelementptr inbounds i8, i8* %198, i32 %189
  store i8 %188, i8* %199, align 1, !tbaa !12
  %200 = getelementptr inbounds i8, i8* %198, i32 %193
  store i8 0, i8* %200, align 1, !tbaa !12
  br label %203

; <label>:201:                                    ; preds = %176
  %202 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %9, i8 signext %188) #14
  br label %203

; <label>:203:                                    ; preds = %201, %197
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %36) #14
  %204 = lshr i32 %185, 12
  %205 = trunc i32 %204 to i8
  %206 = and i8 %205, 63
  %207 = or i8 %206, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %37) #14
  %208 = load i32, i32* %16, align 4, !tbaa !83
  %209 = load i32, i32* %17, align 4, !tbaa !81
  %210 = icmp ult i32 %208, %209
  br i1 %210, label %211, label %220

; <label>:211:                                    ; preds = %203
  %212 = add i32 %208, 1
  store i32 %212, i32* %16, align 4, !tbaa !83
  %213 = icmp ugt i32 %209, 15
  br i1 %213, label %214, label %216

; <label>:214:                                    ; preds = %211
  %215 = load i8*, i8** %30, align 4, !tbaa !12
  br label %216

; <label>:216:                                    ; preds = %214, %211
  %217 = phi i8* [ %215, %214 ], [ %19, %211 ]
  %218 = getelementptr inbounds i8, i8* %217, i32 %208
  store i8 %207, i8* %218, align 1, !tbaa !12
  %219 = getelementptr inbounds i8, i8* %217, i32 %212
  store i8 0, i8* %219, align 1, !tbaa !12
  br label %222

; <label>:220:                                    ; preds = %203
  %221 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %10, i8 signext %207) #14
  br label %222

; <label>:222:                                    ; preds = %220, %216
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %37) #14
  %223 = lshr i32 %185, 6
  %224 = trunc i32 %223 to i8
  %225 = and i8 %224, 63
  %226 = or i8 %225, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %38) #14
  %227 = load i32, i32* %16, align 4, !tbaa !83
  %228 = load i32, i32* %17, align 4, !tbaa !81
  %229 = icmp ult i32 %227, %228
  br i1 %229, label %230, label %239

; <label>:230:                                    ; preds = %222
  %231 = add i32 %227, 1
  store i32 %231, i32* %16, align 4, !tbaa !83
  %232 = icmp ugt i32 %228, 15
  br i1 %232, label %233, label %235

; <label>:233:                                    ; preds = %230
  %234 = load i8*, i8** %30, align 4, !tbaa !12
  br label %235

; <label>:235:                                    ; preds = %233, %230
  %236 = phi i8* [ %234, %233 ], [ %19, %230 ]
  %237 = getelementptr inbounds i8, i8* %236, i32 %227
  store i8 %226, i8* %237, align 1, !tbaa !12
  %238 = getelementptr inbounds i8, i8* %236, i32 %231
  store i8 0, i8* %238, align 1, !tbaa !12
  br label %241

; <label>:239:                                    ; preds = %222
  %240 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %11, i8 signext %226) #14
  br label %241

; <label>:241:                                    ; preds = %239, %235
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %38) #14
  %242 = trunc i32 %185 to i8
  %243 = and i8 %242, 63
  %244 = or i8 %243, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %39) #14
  %245 = load i32, i32* %16, align 4, !tbaa !83
  %246 = load i32, i32* %17, align 4, !tbaa !81
  %247 = icmp ult i32 %245, %246
  br i1 %247, label %248, label %257

; <label>:248:                                    ; preds = %241
  %249 = add i32 %245, 1
  store i32 %249, i32* %16, align 4, !tbaa !83
  %250 = icmp ugt i32 %246, 15
  br i1 %250, label %251, label %253

; <label>:251:                                    ; preds = %248
  %252 = load i8*, i8** %30, align 4, !tbaa !12
  br label %253

; <label>:253:                                    ; preds = %251, %248
  %254 = phi i8* [ %252, %251 ], [ %19, %248 ]
  %255 = getelementptr inbounds i8, i8* %254, i32 %245
  store i8 %244, i8* %255, align 1, !tbaa !12
  %256 = getelementptr inbounds i8, i8* %254, i32 %249
  store i8 0, i8* %256, align 1, !tbaa !12
  br label %259

; <label>:257:                                    ; preds = %241
  %258 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %12, i8 signext %244) #14
  br label %259

; <label>:259:                                    ; preds = %257, %253
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %39) #14
  br label %316

; <label>:260:                                    ; preds = %174
  %261 = lshr i16 %57, 12
  %262 = trunc i16 %261 to i8
  %263 = or i8 %262, -32
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %40) #14
  %264 = load i32, i32* %16, align 4, !tbaa !83
  %265 = load i32, i32* %17, align 4, !tbaa !81
  %266 = icmp ult i32 %264, %265
  br i1 %266, label %267, label %276

; <label>:267:                                    ; preds = %260
  %268 = add i32 %264, 1
  store i32 %268, i32* %16, align 4, !tbaa !83
  %269 = icmp ugt i32 %265, 15
  br i1 %269, label %270, label %272

; <label>:270:                                    ; preds = %267
  %271 = load i8*, i8** %30, align 4, !tbaa !12
  br label %272

; <label>:272:                                    ; preds = %270, %267
  %273 = phi i8* [ %271, %270 ], [ %19, %267 ]
  %274 = getelementptr inbounds i8, i8* %273, i32 %264
  store i8 %263, i8* %274, align 1, !tbaa !12
  %275 = getelementptr inbounds i8, i8* %273, i32 %268
  store i8 0, i8* %275, align 1, !tbaa !12
  br label %278

; <label>:276:                                    ; preds = %260
  %277 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %13, i8 signext %263) #14
  br label %278

; <label>:278:                                    ; preds = %276, %272
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %40) #14
  %279 = lshr i16 %57, 6
  %280 = trunc i16 %279 to i8
  %281 = and i8 %280, 63
  %282 = or i8 %281, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %41) #14
  %283 = load i32, i32* %16, align 4, !tbaa !83
  %284 = load i32, i32* %17, align 4, !tbaa !81
  %285 = icmp ult i32 %283, %284
  br i1 %285, label %286, label %295

; <label>:286:                                    ; preds = %278
  %287 = add i32 %283, 1
  store i32 %287, i32* %16, align 4, !tbaa !83
  %288 = icmp ugt i32 %284, 15
  br i1 %288, label %289, label %291

; <label>:289:                                    ; preds = %286
  %290 = load i8*, i8** %30, align 4, !tbaa !12
  br label %291

; <label>:291:                                    ; preds = %289, %286
  %292 = phi i8* [ %290, %289 ], [ %19, %286 ]
  %293 = getelementptr inbounds i8, i8* %292, i32 %283
  store i8 %282, i8* %293, align 1, !tbaa !12
  %294 = getelementptr inbounds i8, i8* %292, i32 %287
  store i8 0, i8* %294, align 1, !tbaa !12
  br label %297

; <label>:295:                                    ; preds = %278
  %296 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %14, i8 signext %282) #14
  br label %297

; <label>:297:                                    ; preds = %295, %291
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %41) #14
  %298 = trunc i16 %57 to i8
  %299 = and i8 %298, 63
  %300 = or i8 %299, -128
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %42) #14
  %301 = load i32, i32* %16, align 4, !tbaa !83
  %302 = load i32, i32* %17, align 4, !tbaa !81
  %303 = icmp ult i32 %301, %302
  br i1 %303, label %304, label %313

; <label>:304:                                    ; preds = %297
  %305 = add i32 %301, 1
  store i32 %305, i32* %16, align 4, !tbaa !83
  %306 = icmp ugt i32 %302, 15
  br i1 %306, label %307, label %309

; <label>:307:                                    ; preds = %304
  %308 = load i8*, i8** %30, align 4, !tbaa !12
  br label %309

; <label>:309:                                    ; preds = %307, %304
  %310 = phi i8* [ %308, %307 ], [ %19, %304 ]
  %311 = getelementptr inbounds i8, i8* %310, i32 %301
  store i8 %300, i8* %311, align 1, !tbaa !12
  %312 = getelementptr inbounds i8, i8* %310, i32 %305
  store i8 0, i8* %312, align 1, !tbaa !12
  br label %315

; <label>:313:                                    ; preds = %297
  %314 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXD@Z@D@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEXD@Z@D@Z"(%"class.std::basic_string"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %15, i8 signext %300) #14
  br label %315

; <label>:315:                                    ; preds = %313, %309
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %42) #14
  br label %316

; <label>:316:                                    ; preds = %315, %259, %173, %115, %76
  %317 = phi i32 [ %44, %76 ], [ %44, %115 ], [ %44, %173 ], [ %177, %259 ], [ %44, %315 ]
  %318 = add i32 %317, 1
  %319 = load i32, i32* %20, align 4, !tbaa !58
  %320 = icmp ult i32 %318, %319
  br i1 %320, label %43, label %321

; <label>:321:                                    ; preds = %316, %2
  ret void
}

; Function Attrs: nounwind
define void @"\01?fromUtf8@utf8@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z"(%"class.std::basic_string.101"* noalias sret, %"class.std::basic_string"* nocapture readonly dereferenceable(24)) local_unnamed_addr #2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = alloca %"struct.std::_Not_a_node_tag", align 4
  %5 = alloca %"struct.std::_Not_a_node_tag", align 4
  %6 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %7 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %8 = bitcast i32* %6 to i64*
  store i64 0, i64* %8, align 4
  store i32 7, i32* %7, align 4, !tbaa !54
  %9 = bitcast %"class.std::basic_string.101"* %0 to i16*
  store i16 0, i16* %9, align 4, !tbaa !56
  %10 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %11 = load i32, i32* %10, align 4, !tbaa !83
  %12 = add i32 %11, 1
  tail call x86_thiscallcc void @"\01?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z"(%"class.std::basic_string.101"* %0, i32 %12)
  %13 = load i32, i32* %10, align 4, !tbaa !83
  %14 = icmp eq i32 %13, 0
  br i1 %14, label %187, label %15

; <label>:15:                                     ; preds = %2
  %16 = bitcast %"class.std::basic_string"* %1 to i8*
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %18 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %19 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %3, i32 0, i32 0
  %20 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %21 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %4, i32 0, i32 0
  %22 = getelementptr inbounds %"struct.std::_Not_a_node_tag", %"struct.std::_Not_a_node_tag"* %5, i32 0, i32 0
  br label %23

; <label>:23:                                     ; preds = %183, %15
  %24 = phi i32 [ 0, %15 ], [ %184, %183 ]
  %25 = load i32, i32* %6, align 4, !tbaa !58
  %26 = add i32 %25, 2
  %27 = load i32, i32* %7, align 4, !tbaa !54
  %28 = icmp ult i32 %26, %27
  br i1 %28, label %31, label %29

; <label>:29:                                     ; preds = %23
  %30 = shl i32 %27, 1
  call x86_thiscallcc void @"\01?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z"(%"class.std::basic_string.101"* nonnull %0, i32 %30)
  br label %31

; <label>:31:                                     ; preds = %29, %23
  %32 = load i32, i32* %17, align 4, !tbaa !81
  %33 = icmp ugt i32 %32, 15
  %34 = load i8*, i8** %18, align 4
  %35 = select i1 %33, i8* %34, i8* %16
  %36 = getelementptr inbounds i8, i8* %35, i32 %24
  %37 = load i8, i8* %36, align 1, !tbaa !12
  %38 = sext i8 %37 to i32
  %39 = icmp sgt i8 %37, -1
  br i1 %39, label %116, label %40

; <label>:40:                                     ; preds = %31
  %41 = and i32 %38, 96
  %42 = icmp eq i32 %41, 64
  br i1 %42, label %43, label %56

; <label>:43:                                     ; preds = %40
  %44 = getelementptr inbounds i8, i8* %36, i32 1
  %45 = load i8, i8* %44, align 1, !tbaa !12
  %46 = sext i8 %45 to i32
  %47 = and i32 %46, 192
  %48 = icmp eq i32 %47, 128
  br i1 %48, label %49, label %56

; <label>:49:                                     ; preds = %43
  %50 = shl nsw i32 %38, 6
  %51 = and i32 %50, 1984
  %52 = and i32 %46, 63
  %53 = or i32 %52, %51
  %54 = icmp ult i32 %53, 128
  %55 = select i1 %54, i32 0, i32 2
  br label %119

; <label>:56:                                     ; preds = %43, %40
  %57 = and i32 %38, 112
  %58 = icmp eq i32 %57, 96
  br i1 %58, label %59, label %81

; <label>:59:                                     ; preds = %56
  %60 = getelementptr inbounds i8, i8* %36, i32 1
  %61 = load i8, i8* %60, align 1, !tbaa !12
  %62 = sext i8 %61 to i32
  %63 = and i32 %62, 192
  %64 = icmp eq i32 %63, 128
  br i1 %64, label %65, label %81

; <label>:65:                                     ; preds = %59
  %66 = getelementptr inbounds i8, i8* %36, i32 2
  %67 = load i8, i8* %66, align 1, !tbaa !12
  %68 = sext i8 %67 to i32
  %69 = and i32 %68, 192
  %70 = icmp eq i32 %69, 128
  br i1 %70, label %71, label %81

; <label>:71:                                     ; preds = %65
  %72 = shl nsw i32 %38, 12
  %73 = and i32 %72, 61440
  %74 = shl nsw i32 %62, 6
  %75 = and i32 %74, 4032
  %76 = or i32 %75, %73
  %77 = and i32 %68, 63
  %78 = or i32 %76, %77
  %79 = icmp ult i32 %78, 2048
  %80 = select i1 %79, i32 0, i32 3
  br label %119

; <label>:81:                                     ; preds = %65, %59, %56
  %82 = and i32 %38, 120
  %83 = icmp eq i32 %82, 112
  br i1 %83, label %84, label %116

; <label>:84:                                     ; preds = %81
  %85 = getelementptr inbounds i8, i8* %36, i32 1
  %86 = load i8, i8* %85, align 1, !tbaa !12
  %87 = sext i8 %86 to i32
  %88 = and i32 %87, 192
  %89 = icmp eq i32 %88, 128
  br i1 %89, label %90, label %116

; <label>:90:                                     ; preds = %84
  %91 = getelementptr inbounds i8, i8* %36, i32 2
  %92 = load i8, i8* %91, align 1, !tbaa !12
  %93 = sext i8 %92 to i32
  %94 = and i32 %93, 192
  %95 = icmp eq i32 %94, 128
  br i1 %95, label %96, label %116

; <label>:96:                                     ; preds = %90
  %97 = getelementptr inbounds i8, i8* %36, i32 3
  %98 = load i8, i8* %97, align 1, !tbaa !12
  %99 = sext i8 %98 to i32
  %100 = and i32 %99, 192
  %101 = icmp eq i32 %100, 128
  br i1 %101, label %102, label %116

; <label>:102:                                    ; preds = %96
  %103 = shl nsw i32 %38, 18
  %104 = and i32 %103, 1835008
  %105 = shl nsw i32 %87, 12
  %106 = and i32 %105, 258048
  %107 = or i32 %106, %104
  %108 = shl nsw i32 %93, 6
  %109 = and i32 %108, 4032
  %110 = or i32 %107, %109
  %111 = and i32 %99, 63
  %112 = or i32 %110, %111
  %113 = add nsw i32 %112, -65536
  %114 = icmp ugt i32 %113, 1048575
  %115 = select i1 %114, i32 0, i32 4
  br label %119

; <label>:116:                                    ; preds = %96, %90, %84, %81, %31
  %117 = phi i32 [ 1, %31 ], [ 0, %81 ], [ 0, %84 ], [ 0, %90 ], [ 0, %96 ]
  %118 = add i32 %117, %24
  br label %124

; <label>:119:                                    ; preds = %102, %71, %49
  %120 = phi i32 [ %55, %49 ], [ %115, %102 ], [ %80, %71 ]
  %121 = phi i32 [ %53, %49 ], [ %112, %102 ], [ %78, %71 ]
  %122 = add i32 %120, %24
  %123 = icmp slt i32 %121, 65536
  br i1 %123, label %124, label %143

; <label>:124:                                    ; preds = %119, %116
  %125 = phi i32 [ %118, %116 ], [ %122, %119 ]
  %126 = phi i32 [ %38, %116 ], [ %121, %119 ]
  %127 = trunc i32 %126 to i16
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %19) #14
  %128 = load i32, i32* %6, align 4, !tbaa !58
  %129 = load i32, i32* %7, align 4, !tbaa !54
  %130 = icmp ult i32 %128, %129
  br i1 %130, label %131, label %140

; <label>:131:                                    ; preds = %124
  %132 = add i32 %128, 1
  store i32 %132, i32* %6, align 4, !tbaa !58
  %133 = icmp ugt i32 %129, 7
  br i1 %133, label %134, label %136

; <label>:134:                                    ; preds = %131
  %135 = load i16*, i16** %20, align 4, !tbaa !12
  br label %136

; <label>:136:                                    ; preds = %134, %131
  %137 = phi i16* [ %135, %134 ], [ %9, %131 ]
  %138 = getelementptr inbounds i16, i16* %137, i32 %128
  store i16 %127, i16* %138, align 2, !tbaa !56
  %139 = getelementptr inbounds i16, i16* %137, i32 %132
  store i16 0, i16* %139, align 2, !tbaa !56
  br label %142

; <label>:140:                                    ; preds = %124
  %141 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z"(%"class.std::basic_string.101"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3, i16 zeroext %127) #14
  br label %142

; <label>:142:                                    ; preds = %140, %136
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %19) #14
  br label %183

; <label>:143:                                    ; preds = %119
  %144 = add nsw i32 %121, -65536
  %145 = lshr i32 %144, 10
  %146 = trunc i32 %145 to i16
  %147 = or i16 %146, -10240
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %21) #14
  %148 = load i32, i32* %6, align 4, !tbaa !58
  %149 = load i32, i32* %7, align 4, !tbaa !54
  %150 = icmp ult i32 %148, %149
  br i1 %150, label %151, label %160

; <label>:151:                                    ; preds = %143
  %152 = add i32 %148, 1
  store i32 %152, i32* %6, align 4, !tbaa !58
  %153 = icmp ugt i32 %149, 7
  br i1 %153, label %154, label %156

; <label>:154:                                    ; preds = %151
  %155 = load i16*, i16** %20, align 4, !tbaa !12
  br label %156

; <label>:156:                                    ; preds = %154, %151
  %157 = phi i16* [ %155, %154 ], [ %9, %151 ]
  %158 = getelementptr inbounds i16, i16* %157, i32 %148
  store i16 %147, i16* %158, align 2, !tbaa !56
  %159 = getelementptr inbounds i16, i16* %157, i32 %152
  store i16 0, i16* %159, align 2, !tbaa !56
  br label %164

; <label>:160:                                    ; preds = %143
  %161 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z"(%"class.std::basic_string.101"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %4, i16 zeroext %147) #14
  %162 = load i32, i32* %6, align 4, !tbaa !58
  %163 = load i32, i32* %7, align 4, !tbaa !54
  br label %164

; <label>:164:                                    ; preds = %160, %156
  %165 = phi i32 [ %149, %156 ], [ %163, %160 ]
  %166 = phi i32 [ %152, %156 ], [ %162, %160 ]
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %21) #14
  %167 = trunc i32 %144 to i16
  %168 = and i16 %167, 1023
  %169 = or i16 %168, -9216
  call void @llvm.lifetime.start.p0i8(i64 1, i8* nonnull %22) #14
  %170 = icmp ult i32 %166, %165
  br i1 %170, label %171, label %180

; <label>:171:                                    ; preds = %164
  %172 = add i32 %166, 1
  store i32 %172, i32* %6, align 4, !tbaa !58
  %173 = icmp ugt i32 %165, 7
  br i1 %173, label %174, label %176

; <label>:174:                                    ; preds = %171
  %175 = load i16*, i16** %20, align 4, !tbaa !12
  br label %176

; <label>:176:                                    ; preds = %174, %171
  %177 = phi i16* [ %175, %174 ], [ %9, %171 ]
  %178 = getelementptr inbounds i16, i16* %177, i32 %166
  store i16 %169, i16* %178, align 2, !tbaa !56
  %179 = getelementptr inbounds i16, i16* %177, i32 %172
  store i16 0, i16* %179, align 2, !tbaa !56
  br label %182

; <label>:180:                                    ; preds = %164
  %181 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??push_back@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_W@Z@_W@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??push_back@01@QAEX_W@Z@_W@Z"(%"class.std::basic_string.101"* nonnull %0, i32 1, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %5, i16 zeroext %169) #14
  br label %182

; <label>:182:                                    ; preds = %180, %176
  call void @llvm.lifetime.end.p0i8(i64 1, i8* nonnull %22) #14
  br label %183

; <label>:183:                                    ; preds = %182, %142
  %184 = phi i32 [ %122, %182 ], [ %125, %142 ]
  %185 = load i32, i32* %10, align 4, !tbaa !83
  %186 = icmp ult i32 %184, %185
  br i1 %186, label %23, label %187

; <label>:187:                                    ; preds = %183, %2
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc void @"\01?reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z"(%"class.std::basic_string.101"*, i32) local_unnamed_addr #2 comdat align 2 {
  %3 = alloca %"struct.std::_Not_a_node_tag", align 4
  %4 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !58
  %6 = icmp ugt i32 %5, %1
  br i1 %6, label %53, label %7

; <label>:7:                                      ; preds = %2
  %8 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %9 = load i32, i32* %8, align 4, !tbaa !54
  %10 = icmp eq i32 %9, %1
  br i1 %10, label %53, label %11

; <label>:11:                                     ; preds = %7
  %12 = icmp ult i32 %9, %1
  br i1 %12, label %13, label %16

; <label>:13:                                     ; preds = %11
  %14 = sub i32 %1, %5
  %15 = call x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z@$$V@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z"(%"class.std::basic_string.101"* nonnull %0, i32 %14, %"struct.std::_Not_a_node_tag"* byval nonnull align 4 %3)
  store i32 %5, i32* %4, align 4, !tbaa !58
  br label %53

; <label>:16:                                     ; preds = %11
  %17 = icmp ult i32 %1, 8
  %18 = icmp ugt i32 %9, 7
  %19 = and i1 %17, %18
  br i1 %19, label %20, label %53

; <label>:20:                                     ; preds = %16
  %21 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %22 = load i16*, i16** %21, align 4, !tbaa !12
  %23 = bitcast %"class.std::basic_string.101"* %0 to i8*
  %24 = bitcast i16* %22 to i8*
  %25 = shl i32 %5, 1
  %26 = add i32 %25, 2
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %23, i8* %24, i32 %26, i32 2, i1 false) #14
  %27 = load i32, i32* %8, align 4, !tbaa !54
  %28 = add i32 %27, 1
  %29 = icmp slt i32 %28, 0
  br i1 %29, label %49, label %30

; <label>:30:                                     ; preds = %20
  %31 = shl i32 %28, 1
  %32 = icmp ugt i32 %31, 4095
  br i1 %32, label %33, label %50

; <label>:33:                                     ; preds = %30
  %34 = add i32 %31, 35
  %35 = icmp ugt i32 %31, -36
  br i1 %35, label %49, label %36

; <label>:36:                                     ; preds = %33
  %37 = ptrtoint i16* %22 to i32
  %38 = and i32 %37, 31
  %39 = icmp eq i32 %38, 0
  br i1 %39, label %40, label %49

; <label>:40:                                     ; preds = %36
  %41 = add i32 %37, -4
  %42 = inttoptr i32 %41 to i32*
  %43 = load i32, i32* %42, align 4, !tbaa !24
  %44 = icmp ult i32 %43, %37
  br i1 %44, label %45, label %49

; <label>:45:                                     ; preds = %40
  %46 = sub i32 %41, %43
  %47 = icmp ugt i32 %46, 31
  %48 = inttoptr i32 %43 to i8*
  br i1 %47, label %49, label %50

; <label>:49:                                     ; preds = %45, %40, %36, %33, %20
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:50:                                     ; preds = %45, %30
  %51 = phi i8* [ %48, %45 ], [ %24, %30 ]
  %52 = phi i32 [ %34, %45 ], [ %31, %30 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %51, i32 %52) #14
  store i32 7, i32* %8, align 4, !tbaa !54
  br label %53

; <label>:53:                                     ; preds = %50, %16, %13, %7, %2
  ret void
}

; Function Attrs: nounwind
define linkonce_odr x86_thiscallcc dereferenceable(24) %"class.std::basic_string.101"* @"\01??$_Reallocate_grow_by@V<lambda_1>@?0??reserve@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z@$$V@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@IV<lambda_1>@?0??reserve@01@QAEXI@Z@@Z"(%"class.std::basic_string.101"*, i32, %"struct.std::_Not_a_node_tag"* byval align 4) local_unnamed_addr #2 comdat align 2 {
  %4 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 1
  %5 = load i32, i32* %4, align 4, !tbaa !58
  %6 = sub i32 2147483646, %5
  %7 = icmp ult i32 %6, %1
  br i1 %7, label %8, label %9

; <label>:8:                                      ; preds = %3
  tail call void @"\01?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@SAXXZ"() #22
  unreachable

; <label>:9:                                      ; preds = %3
  %10 = add i32 %5, %1
  %11 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 2
  %12 = load i32, i32* %11, align 4, !tbaa !54
  %13 = or i32 %10, 7
  %14 = icmp ugt i32 %13, 2147483646
  br i1 %14, label %33, label %15

; <label>:15:                                     ; preds = %9
  %16 = lshr i32 %12, 1
  %17 = sub nsw i32 2147483646, %16
  %18 = icmp ugt i32 %12, %17
  br i1 %18, label %33, label %19

; <label>:19:                                     ; preds = %15
  %20 = add i32 %16, %12
  %21 = icmp ult i32 %13, %20
  %22 = select i1 %21, i32 %20, i32 %13
  %23 = add i32 %22, 1
  %24 = icmp eq i32 %23, 0
  br i1 %24, label %45, label %25

; <label>:25:                                     ; preds = %19
  %26 = icmp slt i32 %23, 0
  br i1 %26, label %27, label %28

; <label>:27:                                     ; preds = %25
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:28:                                     ; preds = %25
  %29 = shl i32 %23, 1
  %30 = icmp ugt i32 %29, 4095
  br i1 %30, label %31, label %43

; <label>:31:                                     ; preds = %28
  %32 = icmp ugt i32 %29, -36
  br i1 %32, label %33, label %34

; <label>:33:                                     ; preds = %31, %15, %9
  tail call void @"\01?_Xbad_alloc@std@@YAXXZ"() #12
  unreachable

; <label>:34:                                     ; preds = %31
  %35 = add i32 %29, 35
  %36 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %35) #14
  %37 = ptrtoint i8* %36 to i32
  %38 = add i32 %37, 35
  %39 = and i32 %38, -32
  %40 = inttoptr i32 %39 to i8*
  %41 = inttoptr i32 %39 to i32*
  %42 = getelementptr inbounds i32, i32* %41, i32 -1
  store i32 %37, i32* %42, align 4, !tbaa !24
  br label %45

; <label>:43:                                     ; preds = %28
  %44 = tail call i8* @"\01??2@YAPAXI@Z"(i32 %29) #14
  br label %45

; <label>:45:                                     ; preds = %43, %34, %19
  %46 = phi i32 [ -1, %19 ], [ %22, %34 ], [ %22, %43 ]
  %47 = phi i8* [ null, %19 ], [ %40, %34 ], [ %44, %43 ]
  %48 = ptrtoint i8* %47 to i32
  store i32 %10, i32* %4, align 4, !tbaa !58
  store i32 %46, i32* %11, align 4, !tbaa !54
  %49 = icmp ugt i32 %12, 7
  br i1 %49, label %50, label %81

; <label>:50:                                     ; preds = %45
  %51 = getelementptr inbounds %"class.std::basic_string.101", %"class.std::basic_string.101"* %0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %52 = load i16*, i16** %51, align 4, !tbaa !12
  %53 = bitcast i16* %52 to i8*
  %54 = shl i32 %5, 1
  %55 = add i32 %54, 2
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %53, i32 %55, i32 2, i1 false) #14
  %56 = add i32 %12, 1
  %57 = icmp slt i32 %56, 0
  br i1 %57, label %77, label %58

; <label>:58:                                     ; preds = %50
  %59 = shl i32 %56, 1
  %60 = icmp ugt i32 %59, 4095
  br i1 %60, label %61, label %78

; <label>:61:                                     ; preds = %58
  %62 = add i32 %59, 35
  %63 = icmp ugt i32 %59, -36
  br i1 %63, label %77, label %64

; <label>:64:                                     ; preds = %61
  %65 = ptrtoint i16* %52 to i32
  %66 = and i32 %65, 31
  %67 = icmp eq i32 %66, 0
  br i1 %67, label %68, label %77

; <label>:68:                                     ; preds = %64
  %69 = add i32 %65, -4
  %70 = inttoptr i32 %69 to i32*
  %71 = load i32, i32* %70, align 4, !tbaa !24
  %72 = icmp ult i32 %71, %65
  br i1 %72, label %73, label %77

; <label>:73:                                     ; preds = %68
  %74 = sub i32 %69, %71
  %75 = icmp ugt i32 %74, 31
  %76 = inttoptr i32 %71 to i8*
  br i1 %75, label %77, label %78

; <label>:77:                                     ; preds = %73, %68, %64, %61, %50
  tail call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:78:                                     ; preds = %73, %58
  %79 = phi i8* [ %76, %73 ], [ %53, %58 ]
  %80 = phi i32 [ %62, %73 ], [ %59, %58 ]
  tail call void @"\01??3@YAXPAXI@Z"(i8* %79, i32 %80) #14
  br label %85

; <label>:81:                                     ; preds = %45
  %82 = bitcast %"class.std::basic_string.101"* %0 to i8*
  %83 = shl i32 %5, 1
  %84 = add i32 %83, 2
  tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %82, i32 %84, i32 2, i1 false) #14
  br label %85

; <label>:85:                                     ; preds = %81, %78
  %86 = bitcast %"class.std::basic_string.101"* %0 to i32*
  store i32 %48, i32* %86, align 4, !tbaa !12
  ret %"class.std::basic_string.101"* %0
}

; Function Attrs: nobuiltin nounwind
define noalias i8* @"\01??2@YAPAXI@Z"(i32) local_unnamed_addr #20 {
  %2 = tail call noalias i8* @malloc(i32 %0)
  fence syncscope("singlethread") seq_cst
  br label %3

; <label>:3:                                      ; preds = %3, %1
  %4 = load volatile i64, i64* getelementptr inbounds ({ i64 }, { i64 }* @allocationCount, i32 0, i32 0), align 8, !tbaa !61
  %5 = add i64 %4, 1
  %6 = cmpxchg volatile i64* getelementptr inbounds ({ i64 }, { i64 }* @allocationCount, i32 0, i32 0), i64 %4, i64 %5 seq_cst seq_cst
  %7 = extractvalue { i64, i1 } %6, 0
  %8 = icmp eq i64 %4, %7
  br i1 %8, label %9, label %3

; <label>:9:                                      ; preds = %3
  fence syncscope("singlethread") seq_cst
  ret i8* %2
}

; Function Attrs: nobuiltin nounwind
define void @"\01??3@YAXPAX@Z"(i8* nocapture) local_unnamed_addr #20 {
  tail call void @free(i8* %0)
  fence syncscope("singlethread") seq_cst
  br label %2

; <label>:2:                                      ; preds = %2, %1
  %3 = load volatile i64, i64* getelementptr inbounds ({ i64 }, { i64 }* @deallocationCount, i32 0, i32 0), align 8, !tbaa !61
  %4 = add i64 %3, 1
  %5 = cmpxchg volatile i64* getelementptr inbounds ({ i64 }, { i64 }* @deallocationCount, i32 0, i32 0), i64 %3, i64 %4 seq_cst seq_cst
  %6 = extractvalue { i64, i1 } %5, 0
  %7 = icmp eq i64 %3, %6
  br i1 %7, label %8, label %2

; <label>:8:                                      ; preds = %2
  fence syncscope("singlethread") seq_cst
  ret void
}

; Function Attrs: norecurse nounwind
define i32 @main() local_unnamed_addr #0 {
  %1 = alloca %"class.std::basic_string", align 4
  %2 = tail call x86_stdcallcc i32 @"\01_SetConsoleOutputCP@4"(i32 65001) #14
  tail call void @"\01?initInterpreter@@YAXXZ"() #14
  %3 = tail call i64 @_Query_perf_frequency() #14, !noalias !1486
  %4 = tail call i64 @_Query_perf_counter() #14, !noalias !1486
  %5 = bitcast %"class.std::basic_string"* %1 to i8*
  call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %5) #14
  call void @"\01?interpret@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ"(%"class.std::basic_string"* nonnull sret %1) #14
  %6 = call i64 @_Query_perf_frequency() #14, !noalias !1489
  %7 = call i64 @_Query_perf_counter() #14, !noalias !1489
  %8 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 1
  %9 = load i32, i32* %8, align 4, !tbaa !83
  %10 = icmp eq i32 %9, 0
  br i1 %10, label %11, label %13

; <label>:11:                                     ; preds = %0
  call void @"\01?clearStack@@YAXXZ"() #14
  %12 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  br label %21

; <label>:13:                                     ; preds = %0
  %14 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 2
  %15 = load i32, i32* %14, align 4, !tbaa !81
  %16 = icmp ugt i32 %15, 15
  %17 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %18 = load i8*, i8** %17, align 4
  %19 = select i1 %16, i8* %18, i8* %5
  %20 = call dereferenceable(80) %"class.std::basic_ostream"* @"\01??$_Insert_string@DU?$char_traits@D@std@@I@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@QBDI@Z"(%"class.std::basic_ostream"* nonnull dereferenceable(80) @"\01?cerr@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A", i8* %19, i32 %9) #14
  br label %21

; <label>:21:                                     ; preds = %13, %11
  %22 = phi i32* [ %14, %13 ], [ %12, %11 ]
  %23 = load i32, i32* %22, align 4, !tbaa !81
  %24 = icmp ugt i32 %23, 15
  br i1 %24, label %25, label %50

; <label>:25:                                     ; preds = %21
  %26 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %27 = load i8*, i8** %26, align 4, !tbaa !12
  %28 = add i32 %23, 1
  %29 = icmp ugt i32 %28, 4095
  br i1 %29, label %30, label %47

; <label>:30:                                     ; preds = %25
  %31 = add i32 %23, 36
  %32 = icmp ugt i32 %28, -36
  br i1 %32, label %46, label %33

; <label>:33:                                     ; preds = %30
  %34 = ptrtoint i8* %27 to i32
  %35 = and i32 %34, 31
  %36 = icmp eq i32 %35, 0
  br i1 %36, label %37, label %46

; <label>:37:                                     ; preds = %33
  %38 = add i32 %34, -4
  %39 = inttoptr i32 %38 to i32*
  %40 = load i32, i32* %39, align 4, !tbaa !24
  %41 = icmp ult i32 %40, %34
  br i1 %41, label %42, label %46

; <label>:42:                                     ; preds = %37
  %43 = sub i32 %38, %40
  %44 = icmp ugt i32 %43, 31
  %45 = inttoptr i32 %40 to i8*
  br i1 %44, label %46, label %47

; <label>:46:                                     ; preds = %42, %37, %33, %30
  call void @_invalid_parameter_noinfo_noreturn() #12
  unreachable

; <label>:47:                                     ; preds = %42, %25
  %48 = phi i8* [ %45, %42 ], [ %27, %25 ]
  %49 = phi i32 [ %31, %42 ], [ %28, %25 ]
  call void @"\01??3@YAXPAXI@Z"(i8* %48, i32 %49) #14
  br label %50

; <label>:50:                                     ; preds = %47, %21
  store i32 15, i32* %22, align 4, !tbaa !81
  call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %5) #14
  fence syncscope("singlethread") seq_cst
  br label %51

; <label>:51:                                     ; preds = %51, %50
  %52 = load volatile i64, i64* getelementptr inbounds ({ i64 }, { i64 }* @allocationCount, i32 0, i32 0), align 8, !tbaa !61
  %53 = cmpxchg volatile i64* getelementptr inbounds ({ i64 }, { i64 }* @allocationCount, i32 0, i32 0), i64 %52, i64 %52 seq_cst seq_cst
  %54 = extractvalue { i64, i1 } %53, 0
  %55 = icmp eq i64 %52, %54
  br i1 %55, label %56, label %51

; <label>:56:                                     ; preds = %51
  fence syncscope("singlethread") seq_cst
  br label %57

; <label>:57:                                     ; preds = %57, %56
  %58 = load volatile i64, i64* getelementptr inbounds ({ i64 }, { i64 }* @deallocationCount, i32 0, i32 0), align 8, !tbaa !61
  %59 = cmpxchg volatile i64* getelementptr inbounds ({ i64 }, { i64 }* @deallocationCount, i32 0, i32 0), i64 %58, i64 %58 seq_cst seq_cst
  %60 = extractvalue { i64, i1 } %59, 0
  %61 = icmp eq i64 %58, %60
  br i1 %61, label %62, label %57

; <label>:62:                                     ; preds = %57
  fence syncscope("singlethread") seq_cst
  ret i32 0
}

declare dllimport x86_stdcallcc i32 @"\01_SetConsoleOutputCP@4"(i32) local_unnamed_addr #6

declare i64 @_Query_perf_frequency() local_unnamed_addr #6

declare i64 @_Query_perf_counter() local_unnamed_addr #6

attributes #0 = { norecurse nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { inlinehint nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #3 = { argmemonly nounwind }
attributes #4 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #5 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #6 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #7 = { inlinehint norecurse nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #8 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #9 = { nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { norecurse nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #11 = { norecurse nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #12 = { noreturn nounwind }
attributes #13 = { argmemonly nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #14 = { nounwind }
attributes #15 = { noinline norecurse nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #16 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #17 = { nounwind readnone speculatable }
attributes #18 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #19 = { nounwind readonly "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #20 = { nobuiltin nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="pentium4" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #21 = { builtin nounwind }
attributes #22 = { noreturn }
attributes #23 = { nounwind readnone }

!llvm.linker.options = !{!0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !5, !5, !0, !1, !2, !3, !0, !1, !2, !3, !4, !0, !1, !2, !3, !4, !5, !5}
!llvm.ident = !{!6, !6, !6, !6, !6, !6, !6, !6, !6}
!llvm.module.flags = !{!7, !8}

!0 = !{!"/FAILIFMISMATCH:\22_MSC_VER=1900\22"}
!1 = !{!"/FAILIFMISMATCH:\22_ITERATOR_DEBUG_LEVEL=0\22"}
!2 = !{!"/FAILIFMISMATCH:\22RuntimeLibrary=MT_StaticRelease\22"}
!3 = !{!"/DEFAULTLIB:libcpmt.lib"}
!4 = !{!"/FAILIFMISMATCH:\22_CRT_STDIO_ISO_WIDE_SPECIFIERS=0\22"}
!5 = !{!"/DEFAULTLIB:uuid.lib"}
!6 = !{!"clang version 5.0.1 (tags/RELEASE_501/final)"}
!7 = !{i32 1, !"NumRegisterParameters", i32 0}
!8 = !{i32 1, !"wchar_size", i32 2}
!9 = !{!10, !10, i64 0}
!10 = !{!"vtable pointer", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!13, !13, i64 0}
!13 = !{!"omnipotent char", !11, i64 0}
!14 = !{!15, !16, i64 0}
!15 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!16 = !{!"any pointer", !13, i64 0}
!17 = !{!15, !16, i64 4}
!18 = !{!15, !16, i64 8}
!19 = !{!20, !22, i64 32}
!20 = !{!"?AVASTBuilder@ast@@", !13, i64 4, !13, i64 8, !16, i64 12, !21, i64 16, !22, i64 28, !22, i64 32}
!21 = !{!"?AV?$vector@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@V?$allocator@V?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@@std@@@std@@"}
!22 = !{!"int", !13, i64 0}
!23 = !{!16, !16, i64 0}
!24 = !{!22, !22, i64 0}
!25 = !{!20, !16, i64 12}
!26 = !{!20, !22, i64 28}
!27 = !{!28, !22, i64 12}
!28 = !{!"?AV?$variant@UNonterminalStart@ASTBuilder@ast@@UNonterminalEnd@23@UTerminal@23@@@", !13, i64 0, !22, i64 12}
!29 = !{i64 0, i64 4, !30, i64 4, i64 4, !24, i64 8, i64 4, !24}
!30 = !{!31, !31, i64 0}
!31 = !{!"?AW4TokenType@parser@@", !13, i64 0}
!32 = !{!33, !16, i64 0}
!33 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!34 = !{!33, !16, i64 4}
!35 = !{!33, !16, i64 8}
!36 = !{!37, !16, i64 0}
!37 = !{!"?AV?$_Vector_val@U?$_Simple_types@UASTNodeInfo@ast@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!38 = !{!37, !16, i64 4}
!39 = !{!37, !16, i64 8}
!40 = !{!41, !42, i64 0}
!41 = !{!"?AUNonterminalStart@ASTBuilder@ast@@", !42, i64 0, !22, i64 4}
!42 = !{!"?AW4NonterminalType@parser@@", !13, i64 0}
!43 = !{!44, !31, i64 0}
!44 = !{!"?AUTerminal@ASTBuilder@ast@@", !31, i64 0, !22, i64 4, !22, i64 8}
!45 = !{!46, !42, i64 0}
!46 = !{!"?AUNonterminalEnd@ASTBuilder@ast@@", !42, i64 0, !22, i64 4}
!47 = !{!48}
!48 = distinct !{!48, !49, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z: argument 0"}
!49 = distinct !{!49, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z"}
!50 = !{!51, !16, i64 0}
!51 = !{!"?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@", !16, i64 0}
!52 = !{!53, !16, i64 0}
!53 = !{!"?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@", !16, i64 0}
!54 = !{!55, !22, i64 20}
!55 = !{!"?AV?$_String_val@U?$_Simple_types@_W@std@@@std@@", !13, i64 0, !22, i64 16, !22, i64 20}
!56 = !{!57, !57, i64 0}
!57 = !{!"wchar_t", !13, i64 0}
!58 = !{!55, !22, i64 16}
!59 = !{!60, !60, i64 0}
!60 = !{!"short", !13, i64 0}
!61 = !{!62, !62, i64 0}
!62 = !{!"long long", !13, i64 0}
!63 = !{!64, !62, i64 0}
!64 = !{!"?AUIntX@ast@@", !62, i64 0}
!65 = !{!66, !62, i64 0}
!66 = !{!"?AUNatX@ast@@", !62, i64 0}
!67 = !{!68, !22, i64 0}
!68 = !{!"?AUASTNodeInfo@ast@@", !22, i64 0, !69, i64 4}
!69 = !{!"?AV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@std@@"}
!70 = !{!71, !71, i64 0}
!71 = !{!"float", !13, i64 0}
!72 = !{!73, !73, i64 0}
!73 = !{!"double", !13, i64 0}
!74 = !{!75, !16, i64 0}
!75 = !{!"?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@", !16, i64 0}
!76 = !{!77}
!77 = distinct !{!77, !78, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!78 = distinct !{!78, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!79 = !{!80, !16, i64 0}
!80 = !{!"?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@", !16, i64 0}
!81 = !{!82, !22, i64 20}
!82 = !{!"?AV?$_String_val@U?$_Simple_types@D@std@@@std@@", !13, i64 0, !22, i64 16, !22, i64 20}
!83 = !{!82, !22, i64 16}
!84 = !{}
!85 = !{!86}
!86 = distinct !{!86, !87, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ: argument 0"}
!87 = distinct !{!87, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ"}
!88 = !{!89}
!89 = distinct !{!89, !90, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!90 = distinct !{!90, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!91 = !{!92}
!92 = distinct !{!92, !93, !"\01?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@@Z: argument 0"}
!93 = distinct !{!93, !"\01?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@@Z"}
!94 = !{!95, !92}
!95 = distinct !{!95, !96, !"\01?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ: argument 0"}
!96 = distinct !{!96, !"\01?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ"}
!97 = !{!98}
!98 = distinct !{!98, !99, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!99 = distinct !{!99, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!100 = !{!101}
!101 = distinct !{!101, !102, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!102 = distinct !{!102, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!103 = !{!104}
!104 = distinct !{!104, !105, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!105 = distinct !{!105, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!106 = !{!107}
!107 = distinct !{!107, !108, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!108 = distinct !{!108, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!109 = !{!110}
!110 = distinct !{!110, !111, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!111 = distinct !{!111, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!112 = !{!113}
!113 = distinct !{!113, !114, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!114 = distinct !{!114, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!115 = !{!116}
!116 = distinct !{!116, !117, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!117 = distinct !{!117, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!118 = !{!119, !22, i64 24}
!119 = !{!"?AV?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@", !120, i64 0, !121, i64 4, !122, i64 12, !22, i64 24, !22, i64 28}
!120 = !{!"?AV?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@"}
!121 = !{!"?AV?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@"}
!122 = !{!"?AV?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@"}
!123 = !{!124}
!124 = distinct !{!124, !125, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!125 = distinct !{!125, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!126 = !{!127, !129, !124}
!127 = distinct !{!127, !128, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!128 = distinct !{!128, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!129 = distinct !{!129, !130, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!130 = distinct !{!130, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!131 = !{!132, !16, i64 0}
!132 = !{!"?AU?$_List_node@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@PAX@std@@", !16, i64 0, !16, i64 4, !133, i64 8}
!133 = !{!"?AV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@"}
!134 = !{!132, !16, i64 4}
!135 = !{!136, !22, i64 8}
!136 = !{!"?AV?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@", !13, i64 0, !22, i64 8}
!137 = !{!138}
!138 = distinct !{!138, !139, !"\01?_Begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!139 = distinct !{!139, !"\01?_Begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!140 = !{!141, !143}
!141 = distinct !{!141, !142, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!142 = distinct !{!142, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!143 = distinct !{!143, !144, !"\01??@edd719cb09e69ea330d663f8eeeb484e@: argument 0"}
!144 = distinct !{!144, !"\01??@edd719cb09e69ea330d663f8eeeb484e@"}
!145 = !{!143}
!146 = !{!147, !149, !143}
!147 = distinct !{!147, !148, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!148 = distinct !{!148, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!149 = distinct !{!149, !150, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!150 = distinct !{!150, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!151 = !{!152, !154}
!152 = distinct !{!152, !153, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!153 = distinct !{!153, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!154 = distinct !{!154, !155, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!155 = distinct !{!155, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!156 = !{!157, !159, i64 4}
!157 = !{!"?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@std@@_N@std@@", !158, i64 0, !159, i64 4}
!158 = !{!"?AV?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@std@@"}
!159 = !{!"bool", !13, i64 0}
!160 = !{!119, !22, i64 28}
!161 = !{!162, !164}
!162 = distinct !{!162, !163, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!163 = distinct !{!163, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!164 = distinct !{!164, !165, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!165 = distinct !{!165, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!166 = !{!164}
!167 = !{!168, !170}
!168 = distinct !{!168, !169, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!169 = distinct !{!169, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!170 = distinct !{!170, !171, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!171 = distinct !{!171, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!172 = !{!173, !175}
!173 = distinct !{!173, !174, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!174 = distinct !{!174, !"\01?_Unchecked_begin@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!175 = distinct !{!175, !176, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!176 = distinct !{!176, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!177 = !{!178}
!178 = distinct !{!178, !179}
!179 = distinct !{!179, !"LVerDomain"}
!180 = !{!181}
!181 = distinct !{!181, !179}
!182 = distinct !{!182, !183, !184}
!183 = !{!"llvm.loop.vectorize.width", i32 1}
!184 = !{!"llvm.loop.interleave.count", i32 1}
!185 = distinct !{!185, !183, !184}
!186 = !{!187}
!187 = distinct !{!187, !188}
!188 = distinct !{!188, !"LVerDomain"}
!189 = !{!190}
!190 = distinct !{!190, !188}
!191 = distinct !{!191, !183, !184}
!192 = distinct !{!192, !183, !184}
!193 = !{!194}
!194 = distinct !{!194, !195}
!195 = distinct !{!195, !"LVerDomain"}
!196 = !{!197}
!197 = distinct !{!197, !195}
!198 = distinct !{!198, !183, !184}
!199 = distinct !{!199, !183, !184}
!200 = !{!201}
!201 = distinct !{!201, !202}
!202 = distinct !{!202, !"LVerDomain"}
!203 = !{!204}
!204 = distinct !{!204, !202}
!205 = distinct !{!205, !183, !184}
!206 = distinct !{!206, !183, !184}
!207 = !{!208}
!208 = distinct !{!208, !209}
!209 = distinct !{!209, !"LVerDomain"}
!210 = !{!211}
!211 = distinct !{!211, !209}
!212 = distinct !{!212, !183, !184}
!213 = distinct !{!213, !183, !184}
!214 = !{!215}
!215 = distinct !{!215, !216, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!216 = distinct !{!216, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!217 = !{!218}
!218 = distinct !{!218, !219, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!219 = distinct !{!219, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!220 = !{!221}
!221 = distinct !{!221, !222, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!222 = distinct !{!222, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!223 = !{!224, !226, !221}
!224 = distinct !{!224, !225, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!225 = distinct !{!225, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!226 = distinct !{!226, !227, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!227 = distinct !{!227, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!228 = !{!229}
!229 = distinct !{!229, !230, !"\01?erase@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@@Z: argument 0"}
!230 = distinct !{!230, !"\01?erase@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@@Z"}
!231 = !{!232}
!232 = distinct !{!232, !233, !"\01?_Begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!233 = distinct !{!233, !"\01?_Begin@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!234 = !{!235, !237}
!235 = distinct !{!235, !236, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!236 = distinct !{!236, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!237 = distinct !{!237, !238, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!238 = distinct !{!238, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!239 = !{!240, !16, i64 0}
!240 = !{!"?AV<lambda_2>@?0??buildProgram@ASTBuilder@ast@@AAEXAAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@AAV?$vector@UASTNodeInfo@ast@@V?$allocator@UASTNodeInfo@ast@@@std@@@5@@Z@", !16, i64 0, !13, i64 4, !13, i64 8}
!241 = !{!242}
!242 = distinct !{!242, !243, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z: argument 0"}
!243 = distinct !{!243, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z"}
!244 = !{!46, !22, i64 4}
!245 = !{!246}
!246 = distinct !{!246, !247, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z: argument 0"}
!247 = distinct !{!247, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z"}
!248 = !{!249}
!249 = distinct !{!249, !250, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z: argument 0"}
!250 = distinct !{!250, !"\01??R?$Interner@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@QAE?AV?$Ptr@$$CBV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@@$$QAV?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@Z"}
!251 = !{!252}
!252 = distinct !{!252, !253, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!253 = distinct !{!253, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!254 = !{!255}
!255 = distinct !{!255, !256, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z: argument 0"}
!256 = distinct !{!256, !"\01??R?$Interner@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE?AV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z"}
!257 = distinct !{!257, !183, !184}
!258 = distinct !{!258, !259, !183, !184}
!259 = !{!"llvm.loop.unroll.runtime.disable"}
!260 = distinct !{!260, !183, !184}
!261 = distinct !{!261, !259, !183, !184}
!262 = !{!263, !22, i64 24}
!263 = !{!"?AV?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@", !264, i64 0, !265, i64 4, !266, i64 12, !22, i64 24, !22, i64 28}
!264 = !{!"?AV?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@"}
!265 = !{!"?AV?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@"}
!266 = !{!"?AV?$vector@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@V?$allocator@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@2@@std@@"}
!267 = !{!268}
!268 = distinct !{!268, !269, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!269 = distinct !{!269, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!270 = !{!271, !273, !268}
!271 = distinct !{!271, !272, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!272 = distinct !{!272, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!273 = distinct !{!273, !274, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!274 = distinct !{!274, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!275 = !{!276, !16, i64 0}
!276 = !{!"?AU?$_List_node@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@std@@", !16, i64 0, !16, i64 4, !277, i64 8}
!277 = !{!"?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@"}
!278 = !{!276, !16, i64 4}
!279 = !{!280, !282}
!280 = distinct !{!280, !281, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!281 = distinct !{!281, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!282 = distinct !{!282, !283, !"\01??$_Buy_if_not_node@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z: argument 0"}
!283 = distinct !{!283, !"\01??$_Buy_if_not_node@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Not_a_node_tag@1@@Z"}
!284 = !{!282}
!285 = !{!286, !288, !282}
!286 = distinct !{!286, !287, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!287 = distinct !{!287, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!288 = distinct !{!288, !289, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!289 = distinct !{!289, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!290 = !{!291, !293}
!291 = distinct !{!291, !292, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!292 = distinct !{!292, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!293 = distinct !{!293, !294, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!294 = distinct !{!294, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!295 = !{!296, !159, i64 4}
!296 = !{!"?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@_N@std@@", !297, i64 0, !159, i64 4}
!297 = !{!"?AV?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@std@@"}
!298 = !{!263, !22, i64 28}
!299 = !{!300, !302}
!300 = distinct !{!300, !301, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!301 = distinct !{!301, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!302 = distinct !{!302, !303, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!303 = distinct !{!303, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!304 = !{!302}
!305 = !{!306, !308}
!306 = distinct !{!306, !307, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!307 = distinct !{!307, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!308 = distinct !{!308, !309, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!309 = distinct !{!309, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!310 = !{!311, !313}
!311 = distinct !{!311, !312, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!312 = distinct !{!312, !"\01?_Unchecked_begin@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!313 = distinct !{!313, !314, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!314 = distinct !{!314, !"\01?_Unchecked_begin@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!315 = !{!316}
!316 = distinct !{!316, !317}
!317 = distinct !{!317, !"LVerDomain"}
!318 = !{!319}
!319 = distinct !{!319, !317}
!320 = distinct !{!320, !183, !184}
!321 = distinct !{!321, !183, !184}
!322 = !{!323}
!323 = distinct !{!323, !324}
!324 = distinct !{!324, !"LVerDomain"}
!325 = !{!326}
!326 = distinct !{!326, !324}
!327 = distinct !{!327, !183, !184}
!328 = distinct !{!328, !183, !184}
!329 = !{!330}
!330 = distinct !{!330, !331}
!331 = distinct !{!331, !"LVerDomain"}
!332 = !{!333}
!333 = distinct !{!333, !331}
!334 = distinct !{!334, !183, !184}
!335 = distinct !{!335, !183, !184}
!336 = !{!337}
!337 = distinct !{!337, !338}
!338 = distinct !{!338, !"LVerDomain"}
!339 = !{!340}
!340 = distinct !{!340, !338}
!341 = distinct !{!341, !183, !184}
!342 = distinct !{!342, !183, !184}
!343 = !{!344}
!344 = distinct !{!344, !345}
!345 = distinct !{!345, !"LVerDomain"}
!346 = !{!347}
!347 = distinct !{!347, !345}
!348 = distinct !{!348, !183, !184}
!349 = distinct !{!349, !183, !184}
!350 = !{!351}
!351 = distinct !{!351, !352, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!352 = distinct !{!352, !"\01?_End@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!353 = !{!354, !356, !351}
!354 = distinct !{!354, !355, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!355 = distinct !{!355, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!356 = distinct !{!356, !357, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!357 = distinct !{!357, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!358 = !{!359}
!359 = distinct !{!359, !360, !"\01?erase@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@@Z: argument 0"}
!360 = distinct !{!360, !"\01?erase@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@@Z"}
!361 = !{!362, !364}
!362 = distinct !{!362, !363, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!363 = distinct !{!363, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!364 = distinct !{!364, !365, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!365 = distinct !{!365, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!366 = !{!367}
!367 = distinct !{!367, !368, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!368 = distinct !{!368, !"\01?begin@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!369 = !{!370}
!370 = distinct !{!370, !371, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ: argument 0"}
!371 = distinct !{!371, !"\01?end@?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@XZ"}
!372 = !{!373, !159, i64 0}
!373 = !{!"?AU?$Expected@X@parser@@", !159, i64 0, !374, i64 4}
!374 = !{!"?AUParseException@parser@@", !22, i64 0, !22, i64 4, !22, i64 8, !22, i64 12, !22, i64 16}
!375 = !{i64 0, i64 4, !24, i64 4, i64 4, !24, i64 8, i64 4, !24, i64 12, i64 4, !24, i64 16, i64 4, !24}
!376 = !{!374, !22, i64 12}
!377 = !{!378, !16, i64 4}
!378 = !{!"?AVParser@parser@@", !16, i64 4, !16, i64 8, !22, i64 12, !22, i64 16, !22, i64 20, !22, i64 24, !22, i64 28, !22, i64 32, !22, i64 36, !22, i64 40, !22, i64 44, !22, i64 48, !22, i64 52}
!379 = !{!378, !16, i64 8}
!380 = !{!378, !22, i64 16}
!381 = !{!378, !22, i64 28}
!382 = !{i8 0, i8 2}
!383 = !{!378, !22, i64 32}
!384 = !{!385}
!385 = distinct !{!385, !386, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!386 = distinct !{!386, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!387 = !{!388, !159, i64 0}
!388 = !{!"?AU?$Expected@H@parser@@", !159, i64 0, !13, i64 4}
!389 = !{!378, !22, i64 12}
!390 = !{!378, !22, i64 36}
!391 = !{!378, !22, i64 40}
!392 = !{!393}
!393 = distinct !{!393, !394, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!394 = distinct !{!394, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!395 = !{!378, !22, i64 24}
!396 = !{!378, !22, i64 44}
!397 = !{!378, !22, i64 48}
!398 = !{!378, !22, i64 52}
!399 = !{!400}
!400 = distinct !{!400, !401, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!401 = distinct !{!401, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!402 = !{!403}
!403 = distinct !{!403, !404, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!404 = distinct !{!404, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!405 = !{!406}
!406 = distinct !{!406, !407, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!407 = distinct !{!407, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!408 = !{!409}
!409 = distinct !{!409, !410, !"\01?parse_Expression@Parser@parser@@AAE?AU?$Expected@X@2@XZ: argument 0"}
!410 = distinct !{!410, !"\01?parse_Expression@Parser@parser@@AAE?AU?$Expected@X@2@XZ"}
!411 = !{!412}
!412 = distinct !{!412, !413, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!413 = distinct !{!413, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!414 = !{!415}
!415 = distinct !{!415, !416, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!416 = distinct !{!416, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!417 = !{!378, !22, i64 20}
!418 = !{!419}
!419 = distinct !{!419, !420, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!420 = distinct !{!420, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!421 = !{!422}
!422 = distinct !{!422, !423, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!423 = distinct !{!423, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!424 = !{!425}
!425 = distinct !{!425, !426, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!426 = distinct !{!426, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!427 = !{!428}
!428 = distinct !{!428, !429, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!429 = distinct !{!429, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!430 = !{!431}
!431 = distinct !{!431, !432, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!432 = distinct !{!432, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!433 = !{!434}
!434 = distinct !{!434, !435, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!435 = distinct !{!435, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!436 = !{!437}
!437 = distinct !{!437, !438, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!438 = distinct !{!438, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!439 = !{!440}
!440 = distinct !{!440, !441, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!441 = distinct !{!441, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!442 = !{!443}
!443 = distinct !{!443, !444, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!444 = distinct !{!444, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!445 = !{!446}
!446 = distinct !{!446, !447, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!447 = distinct !{!447, !"\01?lookahead2@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!448 = !{!449}
!449 = distinct !{!449, !450, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!450 = distinct !{!450, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!451 = !{!452}
!452 = distinct !{!452, !453, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!453 = distinct !{!453, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!454 = !{!455}
!455 = distinct !{!455, !456, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!456 = distinct !{!456, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!457 = !{!458}
!458 = distinct !{!458, !459, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!459 = distinct !{!459, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!460 = !{!461}
!461 = distinct !{!461, !462, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!462 = distinct !{!462, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!463 = !{!464}
!464 = distinct !{!464, !465, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!465 = distinct !{!465, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!466 = !{!467}
!467 = distinct !{!467, !468, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!468 = distinct !{!468, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!469 = !{!470}
!470 = distinct !{!470, !471, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!471 = distinct !{!471, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!472 = !{!473}
!473 = distinct !{!473, !474, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!474 = distinct !{!474, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!475 = !{!476}
!476 = distinct !{!476, !477, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!477 = distinct !{!477, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!478 = !{!479}
!479 = distinct !{!479, !480, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!480 = distinct !{!480, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!481 = !{!482}
!482 = distinct !{!482, !483, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!483 = distinct !{!483, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!484 = !{!485}
!485 = distinct !{!485, !486, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!486 = distinct !{!486, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!487 = !{!488}
!488 = distinct !{!488, !489, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!489 = distinct !{!489, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!490 = !{!491}
!491 = distinct !{!491, !492, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!492 = distinct !{!492, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!493 = !{!494}
!494 = distinct !{!494, !495, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!495 = distinct !{!495, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!496 = !{!497}
!497 = distinct !{!497, !498, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!498 = distinct !{!498, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!499 = !{!500}
!500 = distinct !{!500, !501, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!501 = distinct !{!501, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!502 = !{!503}
!503 = distinct !{!503, !504, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!504 = distinct !{!504, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!505 = !{!506}
!506 = distinct !{!506, !507, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!507 = distinct !{!507, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!508 = !{!509}
!509 = distinct !{!509, !510, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!510 = distinct !{!510, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!511 = !{!512}
!512 = distinct !{!512, !513, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!513 = distinct !{!513, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!514 = !{!515}
!515 = distinct !{!515, !516, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!516 = distinct !{!516, !"\01?lookahead1@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!517 = !{!518}
!518 = distinct !{!518, !519, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!519 = distinct !{!519, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!520 = !{!521}
!521 = distinct !{!521, !522, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!522 = distinct !{!522, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!523 = !{!524}
!524 = distinct !{!524, !525, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!525 = distinct !{!525, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!526 = !{!527}
!527 = distinct !{!527, !528, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z: argument 0"}
!528 = distinct !{!528, !"\01?consume@Parser@parser@@AAE?AU?$Expected@X@2@H@Z"}
!529 = !{!374, !22, i64 16}
!530 = !{!374, !22, i64 8}
!531 = !{!374, !22, i64 4}
!532 = !{!374, !22, i64 0}
!533 = distinct !{!533, !534}
!534 = !{!"llvm.loop.unroll.disable"}
!535 = !{!536, !537, i64 8}
!536 = !{!"?AU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@", !13, i64 0, !537, i64 8}
!537 = !{!"?AW4ValueType@@", !13, i64 0}
!538 = !{!539, !22, i64 0}
!539 = !{!"?AUIntX@@", !22, i64 0}
!540 = !{!541, !22, i64 0}
!541 = !{!"?AUNatX@@", !22, i64 0}
!542 = !{!543, !16, i64 0}
!543 = !{!"?AUSourceText@@", !16, i64 0, !22, i64 4}
!544 = !{!545}
!545 = distinct !{!545, !546, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!546 = distinct !{!546, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!547 = !{!548, !22, i64 0}
!548 = !{!"?AUData@?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@", !22, i64 0, !277, i64 4}
!549 = !{!550, !16, i64 0}
!550 = !{!"?AV?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@", !16, i64 0}
!551 = !{!552}
!552 = distinct !{!552, !553, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!553 = distinct !{!553, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!554 = !{!555, !16, i64 0}
!555 = !{!"?AV?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!556 = !{!555, !16, i64 4}
!557 = !{!555, !16, i64 8}
!558 = !{!559, !22, i64 0}
!559 = !{!"?AUCombined@@", !22, i64 0, !22, i64 4, !22, i64 8, !22, i64 12, !560, i64 16}
!560 = !{!"?AV?$vector@UField@@V?$allocator@UField@@@std@@@std@@"}
!561 = !{!562, !16, i64 0}
!562 = !{!"?AUField@@", !16, i64 0, !536, i64 8}
!563 = !{!559, !22, i64 4}
!564 = !{!559, !22, i64 8}
!565 = !{!559, !22, i64 12}
!566 = !{!159, !159, i64 0}
!567 = !{i64 0, i64 8, !12, i64 8, i64 4, !568}
!568 = !{!537, !537, i64 0}
!569 = !{!543, !22, i64 4}
!570 = !{!571, !22, i64 4}
!571 = !{!"?AUSourceCode@@", !16, i64 0, !22, i64 4}
!572 = !{!571, !16, i64 0}
!573 = !{i64 0, i64 4, !23, i64 8, i64 8, !12, i64 16, i64 4, !568}
!574 = !{!575, !22, i64 24}
!575 = !{!"?AV?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@", !576, i64 0, !577, i64 4, !578, i64 12, !22, i64 24, !22, i64 28}
!576 = !{!"?AV?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@"}
!577 = !{!"?AV?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@"}
!578 = !{!"?AV?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@2@@std@@"}
!579 = !{!580}
!580 = distinct !{!580, !581, !"\01?equal_range@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QBE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V12@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z: argument 0"}
!581 = distinct !{!581, !"\01?equal_range@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QBE?AU?$pair@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@V12@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"}
!582 = !{!583, !580}
!583 = distinct !{!583, !584, !"\01?_Begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!584 = distinct !{!584, !"\01?_Begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!585 = !{!586, !588, !590, !580}
!586 = distinct !{!586, !587, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!587 = distinct !{!587, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!588 = distinct !{!588, !589, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!589 = distinct !{!589, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!590 = distinct !{!590, !591, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z: argument 0"}
!591 = distinct !{!591, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IBE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@2@I@Z"}
!592 = !{!593, !16, i64 0}
!593 = !{!"?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@", !16, i64 0}
!594 = !{!590, !580}
!595 = !{!596, !16, i64 0}
!596 = !{!"?AU?$_List_node@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@PAX@std@@", !16, i64 0, !16, i64 4, !597, i64 8}
!597 = !{!"?AU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@", !16, i64 0, !598, i64 4}
!598 = !{!"?AUImportedFunction@@", !16, i64 0, !599, i64 4, !599, i64 16}
!599 = !{!"?AV?$vector@W4ValueType@@V?$allocator@W4ValueType@@@std@@@std@@"}
!600 = !{!601, !16, i64 0}
!601 = !{!"?AV?$_Vector_val@U?$_Simple_types@W4ValueType@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!602 = !{!601, !16, i64 4}
!603 = !{!601, !16, i64 8}
!604 = !{!605}
!605 = distinct !{!605, !606, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!606 = distinct !{!606, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!607 = !{!608}
!608 = distinct !{!608, !609, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!609 = distinct !{!609, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!610 = !{!597, !16, i64 0}
!611 = !{!598, !16, i64 0}
!612 = !{!613}
!613 = distinct !{!613, !614, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z: argument 0"}
!614 = distinct !{!614, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z"}
!615 = !{!616, !618, !613}
!616 = distinct !{!616, !617, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!617 = distinct !{!617, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!618 = distinct !{!618, !619, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!619 = distinct !{!619, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!620 = !{!596, !16, i64 4}
!621 = !{!622, !624}
!622 = distinct !{!622, !623, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!623 = distinct !{!623, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!624 = distinct !{!624, !625, !"\01??$_Buy_if_not_node@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@$$QAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@U_Not_a_node_tag@1@@Z: argument 0"}
!625 = distinct !{!625, !"\01??$_Buy_if_not_node@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@1@$$QAU?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@1@U_Not_a_node_tag@1@@Z"}
!626 = !{!624}
!627 = !{!628, !630, !624}
!628 = distinct !{!628, !629, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!629 = distinct !{!629, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!630 = distinct !{!630, !631, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!631 = distinct !{!631, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!632 = !{!633, !635}
!633 = distinct !{!633, !634, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!634 = distinct !{!634, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!635 = distinct !{!635, !636, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!636 = distinct !{!636, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!637 = !{!638, !159, i64 4}
!638 = !{!"?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@_N@std@@", !639, i64 0, !159, i64 4}
!639 = !{!"?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@"}
!640 = !{!575, !22, i64 28}
!641 = !{!642, !644}
!642 = distinct !{!642, !643, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!643 = distinct !{!643, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!644 = distinct !{!644, !645, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!645 = distinct !{!645, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!646 = !{!647, !649}
!647 = distinct !{!647, !648, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!648 = distinct !{!648, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!649 = distinct !{!649, !650, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!650 = distinct !{!650, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!651 = !{!652, !654}
!652 = distinct !{!652, !653, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!653 = distinct !{!653, !"\01?_Unchecked_begin@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!654 = distinct !{!654, !655, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!655 = distinct !{!655, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!656 = !{!657}
!657 = distinct !{!657, !658}
!658 = distinct !{!658, !"LVerDomain"}
!659 = !{!660}
!660 = distinct !{!660, !658}
!661 = distinct !{!661, !183, !184}
!662 = distinct !{!662, !183, !184}
!663 = !{!664}
!664 = distinct !{!664, !665}
!665 = distinct !{!665, !"LVerDomain"}
!666 = !{!667}
!667 = distinct !{!667, !665}
!668 = distinct !{!668, !183, !184}
!669 = distinct !{!669, !183, !184}
!670 = !{!671}
!671 = distinct !{!671, !672}
!672 = distinct !{!672, !"LVerDomain"}
!673 = !{!674}
!674 = distinct !{!674, !672}
!675 = distinct !{!675, !183, !184}
!676 = distinct !{!676, !183, !184}
!677 = !{!678}
!678 = distinct !{!678, !679}
!679 = distinct !{!679, !"LVerDomain"}
!680 = !{!681}
!681 = distinct !{!681, !679}
!682 = distinct !{!682, !183, !184}
!683 = distinct !{!683, !183, !184}
!684 = !{!685}
!685 = distinct !{!685, !686}
!686 = distinct !{!686, !"LVerDomain"}
!687 = !{!688}
!688 = distinct !{!688, !686}
!689 = distinct !{!689, !183, !184}
!690 = distinct !{!690, !183, !184}
!691 = !{!692}
!692 = distinct !{!692, !693, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z: argument 0"}
!693 = distinct !{!693, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z"}
!694 = !{!695, !697, !692}
!695 = distinct !{!695, !696, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!696 = distinct !{!696, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!697 = distinct !{!697, !698, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!698 = distinct !{!698, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!699 = !{!700}
!700 = distinct !{!700, !701, !"\01?erase@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z: argument 0"}
!701 = distinct !{!701, !"\01?erase@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@@Z"}
!702 = !{!703, !705}
!703 = distinct !{!703, !704, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!704 = distinct !{!704, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!705 = distinct !{!705, !706, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!706 = distinct !{!706, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!707 = !{!708, !62, i64 32}
!708 = !{!"?AVios_base@std@@", !22, i64 8, !22, i64 12, !22, i64 16, !22, i64 20, !62, i64 24, !62, i64 32, !16, i64 40, !16, i64 44, !16, i64 48}
!709 = !{!710, !16, i64 56}
!710 = !{!"?AV?$basic_ios@DU?$char_traits@D@std@@@std@@", !16, i64 56, !16, i64 60, !13, i64 64}
!711 = !{!708, !22, i64 12}
!712 = !{!710, !16, i64 60}
!713 = !{!708, !22, i64 20}
!714 = !{!710, !13, i64 64}
!715 = !{!716, !16, i64 32}
!716 = !{!"?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@", !16, i64 4, !16, i64 8, !16, i64 12, !16, i64 16, !16, i64 20, !16, i64 24, !16, i64 28, !16, i64 32, !22, i64 36, !22, i64 40, !16, i64 44, !16, i64 48, !16, i64 52}
!717 = !{!716, !16, i64 48}
!718 = !{!708, !22, i64 16}
!719 = !{!720, !22, i64 0}
!720 = !{!"?AVerror_code@std@@", !22, i64 0, !16, i64 4}
!721 = !{!720, !16, i64 4}
!722 = !{!723, !16, i64 4}
!723 = !{!"?AVexception@std@@", !724, i64 4}
!724 = !{!"?AU__std_exception_data@@", !16, i64 0, !159, i64 4}
!725 = !{!724, !16, i64 0}
!726 = !{!724, !159, i64 4}
!727 = !{!728}
!728 = distinct !{!728, !729, !"\01?message@error_code@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ: argument 0"}
!729 = distinct !{!729, !"\01?message@error_code@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ"}
!730 = !{!731, !22, i64 4}
!731 = !{!"?AVerror_category@std@@", !22, i64 4}
!732 = !{!733}
!733 = distinct !{!733, !734, !"\01?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z: argument 0"}
!734 = distinct !{!734, !"\01?message@_Generic_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z"}
!735 = !{!736, !22, i64 0}
!736 = !{!"?AVerror_condition@std@@", !22, i64 0, !16, i64 4}
!737 = !{!736, !16, i64 4}
!738 = !{!739}
!739 = distinct !{!739, !740, !"\01?begin@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@XZ: argument 0"}
!740 = distinct !{!740, !"\01?begin@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@XZ"}
!741 = !{!742}
!742 = distinct !{!742, !743, !"\01?end@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@XZ: argument 0"}
!743 = distinct !{!743, !"\01?end@?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@2@XZ"}
!744 = !{!745}
!745 = distinct !{!745, !746, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!746 = distinct !{!746, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!747 = !{!748}
!748 = distinct !{!748, !749, !"\01?erase@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@@Z: argument 0"}
!749 = distinct !{!749, !"\01?erase@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@@Z"}
!750 = !{!751}
!751 = distinct !{!751, !752, !"\01?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z: argument 0"}
!752 = distinct !{!752, !"\01?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z"}
!753 = !{!754}
!754 = distinct !{!754, !755, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!755 = distinct !{!755, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!756 = !{!757}
!757 = distinct !{!757, !758, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!758 = distinct !{!758, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!759 = !{!760}
!760 = distinct !{!760, !761, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!761 = distinct !{!761, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!762 = !{!763}
!763 = distinct !{!763, !764, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!764 = distinct !{!764, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!765 = !{!766}
!766 = distinct !{!766, !767, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!767 = distinct !{!767, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!768 = !{!769}
!769 = distinct !{!769, !770, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z: argument 0"}
!770 = distinct !{!770, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z"}
!771 = !{!772}
!772 = distinct !{!772, !773, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: argument 0"}
!773 = distinct !{!773, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z"}
!774 = !{!775, !16, i64 44}
!775 = !{!"?AU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@", !277, i64 0, !776, i64 24}
!776 = !{!"?AUTextInfo@@", !777, i64 0, !22, i64 4, !778, i64 8, !16, i64 20}
!777 = !{!"?AV?$unique_ptr@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@U?$default_delete@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@std@@"}
!778 = !{!"?AV?$vector@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@PAU?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@"}
!779 = !{!780, !16, i64 0}
!780 = !{!"?AV?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@", !16, i64 0, !22, i64 4}
!781 = !{!780, !22, i64 4}
!782 = !{!783, !16, i64 0}
!783 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!784 = !{!783, !16, i64 4}
!785 = !{!783, !16, i64 8}
!786 = !{!787, !789}
!787 = distinct !{!787, !788, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!788 = distinct !{!788, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!789 = distinct !{!789, !790, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!790 = distinct !{!790, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!791 = !{!792, !16, i64 0}
!792 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!793 = !{!792, !16, i64 4}
!794 = !{!792, !16, i64 8}
!795 = !{!796, !16, i64 0}
!796 = !{!"?AV?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@", !16, i64 0, !22, i64 4}
!797 = !{!796, !22, i64 4}
!798 = !{!799, !16, i64 0}
!799 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!800 = !{!799, !16, i64 4}
!801 = !{!799, !16, i64 8}
!802 = !{!803, !805}
!803 = distinct !{!803, !804, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!804 = distinct !{!804, !"\01?_Unchecked_end@?$list@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@2@XZ"}
!805 = distinct !{!805, !806, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!806 = distinct !{!806, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!807 = !{!805}
!808 = !{!809, !16, i64 0}
!809 = !{!"?AV?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@", !16, i64 0, !22, i64 4}
!810 = !{!809, !22, i64 4}
!811 = !{!812, !16, i64 0}
!812 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!813 = !{!812, !16, i64 4}
!814 = !{!812, !16, i64 8}
!815 = !{!816, !818}
!816 = distinct !{!816, !817, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ: argument 0"}
!817 = distinct !{!817, !"\01?_Unchecked_end@?$list@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@@2@XZ"}
!818 = distinct !{!818, !819, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ: argument 0"}
!819 = distinct !{!819, !"\01?_Unchecked_end@?$_Hash@V?$_Uset_traits@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@V?$_Uhash_compare@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@U?$hash@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@U?$equal_to@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@@2@V?$allocator@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@V?$vector@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@V?$allocator@V?$variant@CFH_JUIntX@ast@@EGI_KUNatX@2@MNV?$Ptr@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@UListBegin@2@UListEnd@2@UObjectBegin@2@UObjectEnd@2@UCode@2@ULabel@2@ULabelReset@2@UName@2@UNameRead@2@UNameWrite@2@UNameMember@2@UNameReadMember@2@UNameWriteMember@2@@@@std@@@std@@@std@@@std@@U_Iterator_base0@2@@2@XZ"}
!820 = !{!818}
!821 = !{!822, !16, i64 0}
!822 = !{!"?AV?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@", !16, i64 0, !22, i64 4}
!823 = !{!822, !22, i64 4}
!824 = !{!825, !16, i64 0}
!825 = !{!"?AV?$_Vector_val@U?$_Simple_types@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!826 = !{!825, !16, i64 4}
!827 = !{!825, !16, i64 8}
!828 = !{!829, !831}
!829 = distinct !{!829, !830, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!830 = distinct !{!830, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!831 = distinct !{!831, !832, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!832 = distinct !{!832, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!833 = !{!834, !16, i64 0}
!834 = !{!"?AV?$_List_unchecked_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@U_Iterator_base0@2@@std@@", !16, i64 0}
!835 = !{!836, !22, i64 24}
!836 = !{!"?AV?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@", !837, i64 0, !838, i64 4, !839, i64 12, !22, i64 24, !22, i64 28}
!837 = !{!"?AV?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@"}
!838 = !{!"?AV?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@"}
!839 = !{!"?AV?$vector@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@V?$allocator@V?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@@2@@std@@"}
!840 = !{!836, !22, i64 28}
!841 = !{!842, !16, i64 0}
!842 = !{!"?AV?$_Vector_val@U?$_Simple_types@UFile@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!843 = !{!842, !16, i64 4}
!844 = !{!842, !16, i64 8}
!845 = !{!846, !16, i64 0}
!846 = !{!"?AV?$_Vector_val@U?$_Simple_types@I@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!847 = !{!846, !16, i64 4}
!848 = !{!846, !16, i64 8}
!849 = !{!850, !16, i64 0}
!850 = !{!"?AV?$_Vector_val@U?$_Simple_types@PAV?$vector@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@V?$allocator@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!851 = !{!850, !16, i64 4}
!852 = !{!850, !16, i64 8}
!853 = !{!854, !16, i64 0}
!854 = !{!"?AV?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ValueType@@_NCFH_JUIntX@@EGI_KUNatX@@MNUSourceText@@V?$Share@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@USourceCode@@P6A_NXZPAUCombined@@@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!855 = !{!854, !16, i64 4}
!856 = !{!854, !16, i64 8}
!857 = !{!858, !16, i64 0}
!858 = !{!"?AV?$_Vector_val@U?$_Simple_types@PAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!859 = !{!858, !16, i64 4}
!860 = !{!858, !16, i64 8}
!861 = !{!862, !16, i64 0}
!862 = !{!"?AV?$_Vector_val@U?$_Simple_types@UNode@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!863 = !{!862, !16, i64 4}
!864 = !{!862, !16, i64 8}
!865 = !{!866, !16, i64 0}
!866 = !{!"?AV?$_Vector_val@U?$_Simple_types@U?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!867 = !{!866, !16, i64 4}
!868 = !{!866, !16, i64 8}
!869 = !{!870}
!870 = distinct !{!870, !871}
!871 = distinct !{!871, !"LVerDomain"}
!872 = !{!873}
!873 = distinct !{!873, !871}
!874 = distinct !{!874, !183, !184}
!875 = distinct !{!875, !183, !184}
!876 = !{!877}
!877 = distinct !{!877, !878}
!878 = distinct !{!878, !"LVerDomain"}
!879 = !{!880}
!880 = distinct !{!880, !878}
!881 = distinct !{!881, !183, !184}
!882 = distinct !{!882, !183, !184}
!883 = !{!884}
!884 = distinct !{!884, !885}
!885 = distinct !{!885, !"LVerDomain"}
!886 = !{!887}
!887 = distinct !{!887, !885}
!888 = distinct !{!888, !183, !184}
!889 = distinct !{!889, !183, !184}
!890 = !{!891}
!891 = distinct !{!891, !892}
!892 = distinct !{!892, !"LVerDomain"}
!893 = !{!894}
!894 = distinct !{!894, !892}
!895 = distinct !{!895, !183, !184}
!896 = distinct !{!896, !183, !184}
!897 = !{!898}
!898 = distinct !{!898, !899}
!899 = distinct !{!899, !"LVerDomain"}
!900 = !{!901}
!901 = distinct !{!901, !899}
!902 = distinct !{!902, !183, !184}
!903 = distinct !{!903, !183, !184}
!904 = !{!905, !16, i64 0}
!905 = !{!"?AU?$_List_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@PAX@std@@", !16, i64 0, !16, i64 4, !906, i64 8}
!906 = !{!"?AU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@", !277, i64 0, !16, i64 24}
!907 = !{!905, !16, i64 4}
!908 = !{!909}
!909 = distinct !{!909, !910, !"\01?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z: argument 0"}
!910 = distinct !{!910, !"\01?substr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV12@II@Z"}
!911 = !{!912}
!912 = distinct !{!912, !913, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@$$QAV10@@Z: argument 0"}
!913 = distinct !{!913, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@$$QAV10@@Z"}
!914 = !{!915, !917}
!915 = distinct !{!915, !916, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!916 = distinct !{!916, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!917 = distinct !{!917, !918, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!918 = distinct !{!918, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!919 = !{!920, !922}
!920 = distinct !{!920, !921, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!921 = distinct !{!921, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!922 = distinct !{!922, !923, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!923 = distinct !{!923, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!924 = !{!925, !927}
!925 = distinct !{!925, !926, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!926 = distinct !{!926, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!927 = distinct !{!927, !928, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!928 = distinct !{!928, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!929 = !{!930, !932}
!930 = distinct !{!930, !931, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!931 = distinct !{!931, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!932 = distinct !{!932, !933, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!933 = distinct !{!933, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!934 = !{!935, !937}
!935 = distinct !{!935, !936, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!936 = distinct !{!936, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!937 = distinct !{!937, !938, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!938 = distinct !{!938, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!939 = !{!940, !942}
!940 = distinct !{!940, !941, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!941 = distinct !{!941, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!942 = distinct !{!942, !943, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!943 = distinct !{!943, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!944 = !{!945, !947}
!945 = distinct !{!945, !946, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!946 = distinct !{!946, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!947 = distinct !{!947, !948, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!948 = distinct !{!948, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!949 = !{!950, !952}
!950 = distinct !{!950, !951, !"\01??$_Integral_to_string@D_K@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_K@Z: argument 0"}
!951 = distinct !{!951, !"\01??$_Integral_to_string@D_K@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_K@Z"}
!952 = distinct !{!952, !953, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@_K@Z: argument 0"}
!953 = distinct !{!953, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@_K@Z"}
!954 = !{!955, !957}
!955 = distinct !{!955, !956, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!956 = distinct !{!956, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!957 = distinct !{!957, !958, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!958 = distinct !{!958, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!959 = !{!960}
!960 = distinct !{!960, !961, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z: argument 0"}
!961 = distinct !{!961, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z"}
!962 = !{!963}
!963 = distinct !{!963, !964, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!964 = distinct !{!964, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!965 = !{!966}
!966 = distinct !{!966, !967, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z: argument 0"}
!967 = distinct !{!967, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z"}
!968 = !{!969}
!969 = distinct !{!969, !970, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!970 = distinct !{!970, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!971 = !{!972}
!972 = distinct !{!972, !973, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!973 = distinct !{!973, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!974 = !{!975}
!975 = distinct !{!975, !976, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!976 = distinct !{!976, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!977 = !{!978, !980}
!978 = distinct !{!978, !979, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!979 = distinct !{!979, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!980 = distinct !{!980, !981, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!981 = distinct !{!981, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!982 = !{!983, !985}
!983 = distinct !{!983, !984, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!984 = distinct !{!984, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!985 = distinct !{!985, !986, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!986 = distinct !{!986, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!987 = !{!988, !990}
!988 = distinct !{!988, !989, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!989 = distinct !{!989, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!990 = distinct !{!990, !991, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!991 = distinct !{!991, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!992 = !{!993}
!993 = distinct !{!993, !994, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!994 = distinct !{!994, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!995 = !{!996}
!996 = distinct !{!996, !997, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!997 = distinct !{!997, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!998 = !{!999}
!999 = distinct !{!999, !1000, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1000 = distinct !{!1000, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1001 = !{!1002}
!1002 = distinct !{!1002, !1003, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1003 = distinct !{!1003, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1004 = !{!1005, !1007}
!1005 = distinct !{!1005, !1006, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1006 = distinct !{!1006, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1007 = distinct !{!1007, !1008, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1008 = distinct !{!1008, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1009 = !{!1010}
!1010 = distinct !{!1010, !1011, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1011 = distinct !{!1011, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1012 = !{!1013}
!1013 = distinct !{!1013, !1014, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1014 = distinct !{!1014, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1015 = !{!1016, !22, i64 16}
!1016 = !{!"?AV?$variant@CFH_JUIntX@@EGI_KUNatX@@MNPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UListBegin@@UObjectBegin@@UCode@@ULabel@@UName@@UNameRead@@UNameWrite@@UNameMember@@UNameReadMember@@UNameWriteMember@@@@", !13, i64 0, !22, i64 16}
!1017 = !{!1018, !16, i64 0}
!1018 = !{!"?AULabel@@", !16, i64 0}
!1019 = !{!1020, !16, i64 0}
!1020 = !{!"?AUName@@", !16, i64 0}
!1021 = !{!1022, !16, i64 0}
!1022 = !{!"?AUNameRead@@", !16, i64 0}
!1023 = !{!1024, !16, i64 0}
!1024 = !{!"?AUNameWrite@@", !16, i64 0}
!1025 = !{!1026, !16, i64 0}
!1026 = !{!"?AUNameMember@@", !16, i64 0}
!1027 = !{!1028, !16, i64 0}
!1028 = !{!"?AUNameReadMember@@", !16, i64 0}
!1029 = !{!1030, !16, i64 0}
!1030 = !{!"?AUNameWriteMember@@", !16, i64 0}
!1031 = !{!1032, !1034}
!1032 = distinct !{!1032, !1033, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1033 = distinct !{!1033, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1034 = distinct !{!1034, !1035, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1035 = distinct !{!1035, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1036 = !{!1037, !1039}
!1037 = distinct !{!1037, !1038, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1038 = distinct !{!1038, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1039 = distinct !{!1039, !1040, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1040 = distinct !{!1040, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1041 = !{!1042, !1044}
!1042 = distinct !{!1042, !1043, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1043 = distinct !{!1043, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1044 = distinct !{!1044, !1045, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1045 = distinct !{!1045, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1046 = !{!1047, !1049}
!1047 = distinct !{!1047, !1048, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1048 = distinct !{!1048, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1049 = distinct !{!1049, !1050, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1050 = distinct !{!1050, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1051 = !{!1052, !1054}
!1052 = distinct !{!1052, !1053, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1053 = distinct !{!1053, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1054 = distinct !{!1054, !1055, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1055 = distinct !{!1055, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1056 = !{!1057, !1059}
!1057 = distinct !{!1057, !1058, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z: argument 0"}
!1058 = distinct !{!1058, !"\01??$_Integral_to_string@DH@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@H@Z"}
!1059 = distinct !{!1059, !1060, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z: argument 0"}
!1060 = distinct !{!1060, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@H@Z"}
!1061 = !{!1062, !1064}
!1062 = distinct !{!1062, !1063, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1063 = distinct !{!1063, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1064 = distinct !{!1064, !1065, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1065 = distinct !{!1065, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1066 = !{!1067, !1069}
!1067 = distinct !{!1067, !1068, !"\01??$_Integral_to_string@D_K@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_K@Z: argument 0"}
!1068 = distinct !{!1068, !"\01??$_Integral_to_string@D_K@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@_K@Z"}
!1069 = distinct !{!1069, !1070, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@_K@Z: argument 0"}
!1070 = distinct !{!1070, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@_K@Z"}
!1071 = !{!1072, !1074}
!1072 = distinct !{!1072, !1073, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1073 = distinct !{!1073, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1074 = distinct !{!1074, !1075, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1075 = distinct !{!1075, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1076 = !{!1077}
!1077 = distinct !{!1077, !1078, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z: argument 0"}
!1078 = distinct !{!1078, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z"}
!1079 = !{!1080}
!1080 = distinct !{!1080, !1081, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z: argument 0"}
!1081 = distinct !{!1081, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z"}
!1082 = !{!1083}
!1083 = distinct !{!1083, !1084, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z: argument 0"}
!1084 = distinct !{!1084, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z"}
!1085 = !{!1086}
!1086 = distinct !{!1086, !1087, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z: argument 0"}
!1087 = distinct !{!1087, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@DABV10@@Z"}
!1088 = !{!1089}
!1089 = distinct !{!1089, !1090, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ: argument 0"}
!1090 = distinct !{!1090, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ"}
!1091 = !{!1092, !22, i64 24}
!1092 = !{!"?AUAstNode@@", !1016, i64 0, !22, i64 24}
!1093 = !{!1094}
!1094 = distinct !{!1094, !1095, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1095 = distinct !{!1095, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1096 = !{!1097}
!1097 = distinct !{!1097, !1098, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z: argument 0"}
!1098 = distinct !{!1098, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z"}
!1099 = !{!1100}
!1100 = distinct !{!1100, !1101, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1101 = distinct !{!1101, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1102 = !{!1103}
!1103 = distinct !{!1103, !1104, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z: argument 0"}
!1104 = distinct !{!1104, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z"}
!1105 = !{!1106}
!1106 = distinct !{!1106, !1107, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1107 = distinct !{!1107, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1108 = !{!1109}
!1109 = distinct !{!1109, !1110, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@$$QAV10@@Z: argument 0"}
!1110 = distinct !{!1110, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@$$QAV10@@Z"}
!1111 = !{!1112}
!1112 = distinct !{!1112, !1113, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1113 = distinct !{!1113, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1114 = !{!1115}
!1115 = distinct !{!1115, !1116, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z: argument 0"}
!1116 = distinct !{!1116, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z"}
!1117 = !{!1118}
!1118 = distinct !{!1118, !1119, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1119 = distinct !{!1119, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1120 = !{!1121}
!1121 = distinct !{!1121, !1122, !"\01?begin@?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UFile@@@std@@@std@@@2@XZ: argument 0"}
!1122 = distinct !{!1122, !"\01?begin@?$vector@UFile@@V?$allocator@UFile@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UFile@@@std@@@std@@@2@XZ"}
!1123 = !{!1124, !16, i64 48}
!1124 = !{!"?AUFile@@", !277, i64 0, !277, i64 24, !16, i64 48, !22, i64 52}
!1125 = !{!1126, !1128}
!1126 = distinct !{!1126, !1127, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1127 = distinct !{!1127, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1128 = distinct !{!1128, !1129, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1129 = distinct !{!1129, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1130 = !{!1131, !1133}
!1131 = distinct !{!1131, !1132, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1132 = distinct !{!1132, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1133 = distinct !{!1133, !1134, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1134 = distinct !{!1134, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1135 = !{!1136}
!1136 = distinct !{!1136, !1137, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z: argument 0"}
!1137 = distinct !{!1137, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@D@Z"}
!1138 = !{!1139}
!1139 = distinct !{!1139, !1140, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1140 = distinct !{!1140, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1141 = !{!1142}
!1142 = distinct !{!1142, !1143, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1143 = distinct !{!1143, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1144 = !{!1145}
!1145 = distinct !{!1145, !1146, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1146 = distinct !{!1146, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1147 = !{!1148}
!1148 = distinct !{!1148, !1149, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1149 = distinct !{!1149, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1150 = !{!1151}
!1151 = distinct !{!1151, !1152, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1152 = distinct !{!1152, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1153 = !{!1154}
!1154 = distinct !{!1154, !1155, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1155 = distinct !{!1155, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1156 = !{!1157, !1159}
!1157 = distinct !{!1157, !1158, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1158 = distinct !{!1158, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1159 = distinct !{!1159, !1160, !"\01?rend@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1160 = distinct !{!1160, !"\01?rend@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@2@XZ"}
!1161 = !{!1162, !1164}
!1162 = distinct !{!1162, !1163, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1163 = distinct !{!1163, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1164 = distinct !{!1164, !1165, !"\01?rbegin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1165 = distinct !{!1165, !"\01?rbegin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@2@XZ"}
!1166 = !{!1167, !1169}
!1167 = distinct !{!1167, !1168, !"\01??$_Find_if_unchecked@V?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@std@@V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@2@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z@@std@@YA?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@0@V10@0V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@0@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@0@@Z@@Z: argument 0"}
!1168 = distinct !{!1168, !"\01??$_Find_if_unchecked@V?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@std@@V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@2@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z@@std@@YA?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@0@V10@0V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@0@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@0@@Z@@Z"}
!1169 = distinct !{!1169, !1170, !"\01??$find_if@V?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@std@@V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@2@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z@@std@@YA?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@0@V10@0V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@0@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@0@@Z@@Z: argument 0"}
!1170 = distinct !{!1170, !"\01??$find_if@V?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@std@@V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@2@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z@@std@@YA?AV?$reverse_iterator@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@std@@@0@V10@0V<lambda_1>@?0??findField@@YAIABV?$vector@UField@@V?$allocator@UField@@@std@@@0@AAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@0@@Z@@Z"}
!1171 = !{!1172}
!1172 = distinct !{!1172, !1173, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1173 = distinct !{!1173, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1174 = !{!1175}
!1175 = distinct !{!1175, !1176, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1176 = distinct !{!1176, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1177 = !{!1178}
!1178 = distinct !{!1178, !1179, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1179 = distinct !{!1179, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1180 = !{!1181}
!1181 = distinct !{!1181, !1182, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1182 = distinct !{!1182, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1183 = !{!1184}
!1184 = distinct !{!1184, !1185, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1185 = distinct !{!1185, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1186 = !{!1187}
!1187 = distinct !{!1187, !1188, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1188 = distinct !{!1188, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1189 = !{!1190}
!1190 = distinct !{!1190, !1191, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1191 = distinct !{!1191, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1192 = !{!1193}
!1193 = distinct !{!1193, !1194, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1194 = distinct !{!1194, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1195 = !{!1196}
!1196 = distinct !{!1196, !1197, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1197 = distinct !{!1197, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1198 = !{!1199}
!1199 = distinct !{!1199, !1200, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1200 = distinct !{!1200, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QBE?AV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1201 = !{!1202, !1202, i64 0}
!1202 = !{!"nullptr_t", !13, i64 0}
!1203 = !{!1204, !159, i64 4}
!1204 = !{!"?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@std@@", !1205, i64 0, !159, i64 4}
!1205 = !{!"?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@"}
!1206 = !{!906, !16, i64 24}
!1207 = !{!1208}
!1208 = distinct !{!1208, !1209, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1209 = distinct !{!1209, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1210 = !{!1211}
!1211 = distinct !{!1211, !1212, !"\01?_End@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@I@Z: argument 0"}
!1212 = distinct !{!1212, !"\01?_End@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@I@Z"}
!1213 = !{!1214, !1216, !1211}
!1214 = distinct !{!1214, !1215, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1215 = distinct !{!1215, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1216 = distinct !{!1216, !1217, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1217 = distinct !{!1217, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1218 = !{!1219}
!1219 = distinct !{!1219, !1220, !"\01?erase@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z: argument 0"}
!1220 = distinct !{!1220, !"\01?erase@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@V?$_List_const_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@@Z"}
!1221 = !{!1222, !1224}
!1222 = distinct !{!1222, !1223, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1223 = distinct !{!1223, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1224 = distinct !{!1224, !1225, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1225 = distinct !{!1225, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1226 = !{!1227, !1229}
!1227 = distinct !{!1227, !1228, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1228 = distinct !{!1228, !"\01?_Unchecked_end@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1229 = distinct !{!1229, !1230, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1230 = distinct !{!1230, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1231 = !{!1232, !1234}
!1232 = distinct !{!1232, !1233, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1233 = distinct !{!1233, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1234 = distinct !{!1234, !1235, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1235 = distinct !{!1235, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1236 = !{!1237, !1239}
!1237 = distinct !{!1237, !1238, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1238 = distinct !{!1238, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1239 = distinct !{!1239, !1240, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1240 = distinct !{!1240, !"\01?_Unchecked_begin@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1241 = !{!1242}
!1242 = distinct !{!1242, !1243, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1243 = distinct !{!1243, !"\01?begin@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1244 = !{!1245}
!1245 = distinct !{!1245, !1246, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ: argument 0"}
!1246 = distinct !{!1246, !"\01?end@?$vector@UField@@V?$allocator@UField@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@UField@@@std@@@std@@@2@XZ"}
!1247 = !{!1124, !22, i64 52}
!1248 = !{!1249}
!1249 = distinct !{!1249, !1250, !"\01?extractFileName@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z: argument 0"}
!1250 = distinct !{!1250, !"\01?extractFileName@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"}
!1251 = !{!1252}
!1252 = distinct !{!1252, !1253, !"\01?extractDir@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z: argument 0"}
!1253 = distinct !{!1253, !"\01?extractDir@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z"}
!1254 = !{!775, !22, i64 28}
!1255 = !{!373, !22, i64 4}
!1256 = !{!1257}
!1257 = distinct !{!1257, !1258, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1258 = distinct !{!1258, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1259 = !{!1260}
!1260 = distinct !{!1260, !1261, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1261 = distinct !{!1261, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1262 = !{!1263, !16, i64 0}
!1263 = !{!"?AV?$_Vector_val@U?$_Simple_types@UAstNode@@@std@@@std@@", !16, i64 0, !16, i64 4, !16, i64 8}
!1264 = !{!1263, !16, i64 4}
!1265 = !{!1263, !16, i64 8}
!1266 = !{!1267}
!1267 = distinct !{!1267, !1268, !"\01??$make_unique@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V12@$0A@@std@@YA?AV?$unique_ptr@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@U?$default_delete@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@0@$$QAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@0@@Z: argument 0"}
!1268 = distinct !{!1268, !"\01??$make_unique@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@V12@$0A@@std@@YA?AV?$unique_ptr@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@U?$default_delete@V?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@std@@@2@@0@$$QAV?$vector@UAstNode@@V?$allocator@UAstNode@@@std@@@0@@Z"}
!1269 = !{!1270, !1271, i64 8}
!1270 = !{!"?AU?$TaggedUnion@W4ArgumentType@@_NCFH_JUArgIntX@@EGI_KUArgNatX@@MNPAD@@", !13, i64 0, !1271, i64 8}
!1271 = !{!"?AW4ArgumentType@@", !13, i64 0}
!1272 = !{!1273}
!1273 = distinct !{!1273, !1274, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ: argument 0"}
!1274 = distinct !{!1274, !"\01?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ"}
!1275 = !{!1276, !1278}
!1276 = distinct !{!1276, !1277, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1277 = distinct !{!1277, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1278 = distinct !{!1278, !1279, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1279 = distinct !{!1279, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1280 = !{!1281, !1283}
!1281 = distinct !{!1281, !1282, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1282 = distinct !{!1282, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1283 = distinct !{!1283, !1284, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1284 = distinct !{!1284, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1285 = !{!1286}
!1286 = distinct !{!1286, !1287, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1287 = distinct !{!1287, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1288 = !{!1289}
!1289 = distinct !{!1289, !1290, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1290 = distinct !{!1290, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1291 = !{!1292}
!1292 = distinct !{!1292, !1293, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1293 = distinct !{!1293, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1294 = !{!1295}
!1295 = distinct !{!1295, !1296, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1296 = distinct !{!1296, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1297 = !{!1298}
!1298 = distinct !{!1298, !1299, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1299 = distinct !{!1299, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1300 = !{!1301}
!1301 = distinct !{!1301, !1302, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1302 = distinct !{!1302, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1303 = !{!1304}
!1304 = distinct !{!1304, !1305, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1305 = distinct !{!1305, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1306 = !{!1307}
!1307 = distinct !{!1307, !1308, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z: argument 0"}
!1308 = distinct !{!1308, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z"}
!1309 = !{!1310}
!1310 = distinct !{!1310, !1311, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1311 = distinct !{!1311, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1312 = !{!1313, !1315}
!1313 = distinct !{!1313, !1314, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1314 = distinct !{!1314, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1315 = distinct !{!1315, !1316, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1316 = distinct !{!1316, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1317 = !{!1318, !1320}
!1318 = distinct !{!1318, !1319, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1319 = distinct !{!1319, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1320 = distinct !{!1320, !1321, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1321 = distinct !{!1321, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1322 = !{!1323}
!1323 = distinct !{!1323, !1324, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1324 = distinct !{!1324, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1325 = !{!1326}
!1326 = distinct !{!1326, !1327, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1327 = distinct !{!1327, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1328 = !{!1329}
!1329 = distinct !{!1329, !1330, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1330 = distinct !{!1330, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1331 = !{!1332}
!1332 = distinct !{!1332, !1333, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1333 = distinct !{!1333, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1334 = !{!1335}
!1335 = distinct !{!1335, !1336, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1336 = distinct !{!1336, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1337 = !{!1338}
!1338 = distinct !{!1338, !1339, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z: argument 0"}
!1339 = distinct !{!1339, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@0@Z"}
!1340 = !{!1341}
!1341 = distinct !{!1341, !1342, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z: argument 0"}
!1342 = distinct !{!1342, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@QBD@Z"}
!1343 = !{!1344, !1346}
!1344 = distinct !{!1344, !1345, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ: argument 0"}
!1345 = distinct !{!1345, !"\01?_Unchecked_begin@?$list@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@2@XZ"}
!1346 = distinct !{!1346, !1347, !"\01??$emplace@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@1@@Z: argument 0"}
!1347 = distinct !{!1347, !"\01??$emplace@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@?$_Hash@V?$_Umap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@V?$_Uhash_compare@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@2@$0A@@std@@@std@@QAE?AU?$pair@V?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@std@@@std@@@std@@@std@@_N@1@$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@$$QAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@1@@Z"}
!1348 = !{!1346}
!1349 = !{!1350, !1352}
!1350 = distinct !{!1350, !1351, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1351 = distinct !{!1351, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1352 = distinct !{!1352, !1353, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1353 = distinct !{!1353, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1354 = !{!1355}
!1355 = distinct !{!1355, !1356, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1356 = distinct !{!1356, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1357 = !{!1358}
!1358 = distinct !{!1358, !1359, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1359 = distinct !{!1359, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1360 = !{!1361, !1363}
!1361 = distinct !{!1361, !1362, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z: argument 0"}
!1362 = distinct !{!1362, !"\01??$_Integral_to_string@DI@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@I@Z"}
!1363 = distinct !{!1363, !1364, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z: argument 0"}
!1364 = distinct !{!1364, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@I@Z"}
!1365 = !{!1366}
!1366 = distinct !{!1366, !1367, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1367 = distinct !{!1367, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1368 = !{!1369}
!1369 = distinct !{!1369, !1370, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z: argument 0"}
!1370 = distinct !{!1370, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@D@Z"}
!1371 = !{!1372, !1374}
!1372 = distinct !{!1372, !1373, !"\01?lower_bound@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z: argument 0"}
!1373 = distinct !{!1373, !"\01?lower_bound@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"}
!1374 = distinct !{!1374, !1375, !"\01?find@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z: argument 0"}
!1375 = distinct !{!1375, !"\01?find@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@ABQAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@2@@Z"}
!1376 = !{!1377, !1372, !1374}
!1377 = distinct !{!1377, !1378, !"\01?_Begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z: argument 0"}
!1378 = distinct !{!1378, !"\01?_Begin@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z"}
!1379 = !{!1380, !1382, !1384, !1372, !1374}
!1380 = distinct !{!1380, !1381, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1381 = distinct !{!1381, !"\01?_Unchecked_end@?$list@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!1382 = distinct !{!1382, !1383, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1383 = distinct !{!1383, !"\01?_Unchecked_end@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@XZ"}
!1384 = distinct !{!1384, !1385, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z: argument 0"}
!1385 = distinct !{!1385, !"\01?_End@?$_Hash@V?$_Umap_traits@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@V?$_Uhash_compare@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@U?$hash@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@U?$equal_to@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@@2@@2@V?$allocator@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@2@$0A@@std@@@std@@IAE?AV?$_List_unchecked_iterator@V?$_List_val@U?$_List_simple_types@U?$pair@QAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UTextInfo@@@std@@UImportedFunction@@@std@@@std@@@std@@@2@I@Z"}
!1386 = !{!1384, !1372, !1374}
!1387 = !{!1388, !16, i64 0}
!1388 = !{!"?AV?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@", !16, i64 0, !22, i64 4}
!1389 = !{!1388, !22, i64 4}
!1390 = !{!1391, !13, i64 12}
!1391 = !{!"?AU?$_Tree_node@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@PAX@std@@", !16, i64 0, !16, i64 4, !16, i64 8, !13, i64 12, !13, i64 13, !1392, i64 16}
!1392 = !{!"?AU?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@", !277, i64 0, !16, i64 24}
!1393 = !{!1391, !13, i64 13}
!1394 = !{!1395}
!1395 = distinct !{!1395, !1396, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1396 = distinct !{!1396, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ"}
!1397 = !{!1398}
!1398 = distinct !{!1398, !1399, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1399 = distinct !{!1399, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ"}
!1400 = !{!1401}
!1401 = distinct !{!1401, !1402, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1402 = distinct !{!1402, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ"}
!1403 = !{!1404, !16, i64 0}
!1404 = !{!"?AV?$_Tree_unchecked_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@U_Iterator_base0@2@@std@@", !16, i64 0}
!1405 = !{!1406}
!1406 = distinct !{!1406, !1407, !"\01??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z: argument 0"}
!1407 = distinct !{!1407, !"\01??E?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@QAE?AV01@H@Z"}
!1408 = !{!1391, !16, i64 8}
!1409 = !{!1391, !16, i64 0}
!1410 = !{!1391, !16, i64 4}
!1411 = !{!1412}
!1412 = distinct !{!1412, !1413, !"\01?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1413 = distinct !{!1413, !"\01?end@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ"}
!1414 = distinct !{!1414, !183, !184}
!1415 = distinct !{!1415, !259, !183, !184}
!1416 = !{!1417}
!1417 = distinct !{!1417, !1418}
!1418 = distinct !{!1418, !"LVerDomain"}
!1419 = !{!1420}
!1420 = distinct !{!1420, !1418}
!1421 = distinct !{!1421, !183, !184}
!1422 = distinct !{!1422, !183, !184}
!1423 = !{!1392, !16, i64 24}
!1424 = !{!1425, !1427}
!1425 = distinct !{!1425, !1426, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1426 = distinct !{!1426, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1427 = distinct !{!1427, !1428, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1428 = distinct !{!1428, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1429 = !{!1430}
!1430 = distinct !{!1430, !1431, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1431 = distinct !{!1431, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1432 = !{!1433, !1435}
!1433 = distinct !{!1433, !1434, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1434 = distinct !{!1434, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1435 = distinct !{!1435, !1436, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1436 = distinct !{!1436, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1437 = !{!1438}
!1438 = distinct !{!1438, !1439, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1439 = distinct !{!1439, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1440 = !{!1441}
!1441 = distinct !{!1441, !1442, !"\01?lower_bound@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z: argument 0"}
!1442 = distinct !{!1442, !"\01?lower_bound@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"}
!1443 = distinct !{!1443, !183, !184}
!1444 = distinct !{!1444, !259, !183, !184}
!1445 = !{!1446}
!1446 = distinct !{!1446, !1447, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ: argument 0"}
!1447 = distinct !{!1447, !"\01?begin@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@2@$0A@@std@@@std@@QAE?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@2@XZ"}
!1448 = !{!1449, !159, i64 4}
!1449 = !{!"?AU?$pair@V?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@_N@std@@", !1450, i64 0, !159, i64 4}
!1450 = !{!"?AV?$_Tree_iterator@V?$_Tree_val@U?$_Tree_simple_types@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAUHINSTANCE__@@@std@@@std@@@std@@@std@@"}
!1451 = !{!1452}
!1452 = distinct !{!1452, !1453, !"\01?toUtf16@?A@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z: argument 0"}
!1453 = distinct !{!1453, !"\01?toUtf16@?A@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z"}
!1454 = !{!1455, !1457}
!1455 = distinct !{!1455, !1456, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1456 = distinct !{!1456, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1457 = distinct !{!1457, !1458, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1458 = distinct !{!1458, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1459 = !{!1460}
!1460 = distinct !{!1460, !1461, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1461 = distinct !{!1461, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1462 = !{!1463, !1465}
!1463 = distinct !{!1463, !1464, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1464 = distinct !{!1464, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1465 = distinct !{!1465, !1466, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1466 = distinct !{!1466, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1467 = !{!1468}
!1468 = distinct !{!1468, !1469, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1469 = distinct !{!1469, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1470 = !{!1471, !1473}
!1471 = distinct !{!1471, !1472, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1472 = distinct !{!1472, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1473 = distinct !{!1473, !1474, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1474 = distinct !{!1474, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1475 = !{!1476}
!1476 = distinct !{!1476, !1477, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1477 = distinct !{!1477, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1478 = !{!1479, !1481}
!1479 = distinct !{!1479, !1480, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z: argument 0"}
!1480 = distinct !{!1480, !"\01??$_Integral_to_string@DK@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@K@Z"}
!1481 = distinct !{!1481, !1482, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z: argument 0"}
!1482 = distinct !{!1482, !"\01?to_string@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@K@Z"}
!1483 = !{!1484}
!1484 = distinct !{!1484, !1485, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z: argument 0"}
!1485 = distinct !{!1485, !"\01??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@QBD$$QAV10@@Z"}
!1486 = !{!1487}
!1487 = distinct !{!1487, !1488, !"\01?now@steady_clock@chrono@std@@SA?AV?$time_point@Usteady_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@23@@23@XZ: argument 0"}
!1488 = distinct !{!1488, !"\01?now@steady_clock@chrono@std@@SA?AV?$time_point@Usteady_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@23@@23@XZ"}
!1489 = !{!1490}
!1490 = distinct !{!1490, !1491, !"\01?now@steady_clock@chrono@std@@SA?AV?$time_point@Usteady_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@23@@23@XZ: argument 0"}
!1491 = distinct !{!1491, !"\01?now@steady_clock@chrono@std@@SA?AV?$time_point@Usteady_clock@chrono@std@@V?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@23@@23@XZ"}
