; LLVM IR from Aeternum-Veritas/Merry :: asm/src/worker.ll (ZN4masm6Parser13analyse_nodesEv)

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

%"class.std::unordered_set" = type { %"class.std::_Hashtable.34" }
%"class.std::_Hashtable.34" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"struct.masm::SymbolTable" = type { %"class.std::unordered_map.92", %"class.std::unordered_map.92" }
%"class.std::unordered_map.92" = type { %"class.std::_Hashtable.93" }
%"class.std::_Hashtable.93" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.masm::Expr" = type <{ ptr, %"class.std::vector.106", %"class.std::stack", %"class.std::stack.114", ptr, i8, [7 x i8] }>
%"class.std::vector.106" = type { %"struct.std::_Vector_base.107" }
%"struct.std::_Vector_base.107" = type { %"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl" }
%"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl" = type { %"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl_data" }
%"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::stack" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl" }
%"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl" = type { %"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl_data" }
%"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::stack.114" = type { %"class.std::deque.115" }
%"class.std::deque.115" = type { %"class.std::_Deque_base.116" }
%"class.std::_Deque_base.116" = type { %"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl" }
%"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl" = type { %"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl_data" }
%"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.120", %"struct.std::_Deque_iterator.120" }
%"struct.std::_Deque_iterator.120" = type { ptr, ptr, ptr, ptr }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = type { %"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl" }
%"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl" = type { %"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl_data" }
%"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::optional.296" = type { %"struct.std::_Optional_base.297" }
%"struct.std::_Optional_base.297" = type { %"struct.std::_Optional_payload.299" }
%"struct.std::_Optional_payload.299" = type { %"struct.std::_Optional_payload.base.303", [7 x i8] }
%"struct.std::_Optional_payload.base.303" = type { %"struct.std::_Optional_payload_base.base.302" }
%"struct.std::_Optional_payload_base.base.302" = type <{ %"union.std::_Optional_payload_base<std::__cxx11::basic_string<char>>::_Storage", i8 }>
%"union.std::_Optional_payload_base<std::__cxx11::basic_string<char>>::_Storage" = type { %"class.std::__cxx11::basic_string" }
%"class.__gnu_cxx::__normal_iterator.347" = type { ptr }
%"struct.std::__detail::_Node_iterator.149" = type { %"struct.std::__detail::_Node_iterator_base.150" }
%"struct.std::__detail::_Node_iterator_base.150" = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.masm::Node" = type { i32, %"class.std::unique_ptr.155", %"class.std::shared_ptr", i64 }
%"class.std::unique_ptr.155" = type { %"struct.std::__uniq_ptr_data.156" }
%"struct.std::__uniq_ptr_data.156" = type { %"class.std::__uniq_ptr_impl.157" }
%"class.std::__uniq_ptr_impl.157" = type { %"class.std::tuple.158" }
%"class.std::tuple.158" = type { %"struct.std::_Tuple_impl.159" }
%"struct.std::_Tuple_impl.159" = type { %"struct.std::_Head_base.162" }
%"struct.std::_Head_base.162" = type { ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.masm::NodeArithmetic" = type { i8, i32, %"class.std::variant.185" }
%"class.std::variant.185" = type { %"struct.std::__detail::__variant::_Variant_base.base.202", [7 x i8] }
%"struct.std::__detail::__variant::_Variant_base.base.202" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.201" }
%"struct.std::__detail::__variant::_Move_assign_base.base.201" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.200" }
%"struct.std::__detail::__variant::_Copy_assign_base.base.200" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.199" }
%"struct.std::__detail::__variant::_Move_ctor_base.base.199" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.198" }
%"struct.std::__detail::__variant::_Copy_ctor_base.base.198" = type { %"struct.std::__detail::__variant::_Variant_storage.base.197" }
%"struct.std::__detail::__variant::_Variant_storage.base.197" = type <{ %"union.std::__detail::__variant::_Variadic_union.192", i8 }>
%"union.std::__detail::__variant::_Variadic_union.192" = type { %"struct.std::__detail::__variant::_Uninitialized.172", [28 x i8] }
%"struct.std::__detail::__variant::_Uninitialized.172" = type { i32 }
%"struct.std::pair.151" = type { %"class.std::__cxx11::basic_string", %"struct.masm::Variable" }
%"struct.masm::Variable" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector.106", i8, i32, i64, i64, %"class.std::shared_ptr" }
%"struct.masm::NodeMov" = type <{ i32, [4 x i8], %"class.std::variant.185", i8, i8, [6 x i8] }>
%"struct.masm::NodeStack" = type <{ i32, [4 x i8], %"class.std::variant.185", i8, [7 x i8] }>
%"struct.masm::NodeName" = type { %"class.std::variant" }
%"class.std::variant" = type { %"struct.std::__detail::__variant::_Variant_base.base", [7 x i8] }
%"struct.std::__detail::__variant::_Variant_base.base" = type { %"struct.std::__detail::__variant::_Move_assign_base.base" }
%"struct.std::__detail::__variant::_Move_assign_base.base" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base" }
%"struct.std::__detail::__variant::_Copy_assign_base.base" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base" }
%"struct.std::__detail::__variant::_Move_ctor_base.base" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base" }
%"struct.std::__detail::__variant::_Copy_ctor_base.base" = type { %"struct.std::__detail::__variant::_Variant_storage.base" }
%"struct.std::__detail::__variant::_Variant_storage.base" = type <{ %"union.std::__detail::__variant::_Variadic_union", i8 }>
%"union.std::__detail::__variant::_Variadic_union" = type { %"union.std::__detail::__variant::_Variadic_union.171", [28 x i8] }
%"union.std::__detail::__variant::_Variadic_union.171" = type { %"struct.std::__detail::__variant::_Uninitialized.172" }
%"struct.masm::NodeCmpxchg" = type { i32, i32, %"class.std::variant.241" }
%"class.std::variant.241" = type { %"struct.std::__detail::__variant::_Variant_base.base.255", [7 x i8] }
%"struct.std::__detail::__variant::_Variant_base.base.255" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.254" }
%"struct.std::__detail::__variant::_Move_assign_base.base.254" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.253" }
%"struct.std::__detail::__variant::_Copy_assign_base.base.253" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.252" }
%"struct.std::__detail::__variant::_Move_ctor_base.base.252" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.251" }
%"struct.std::__detail::__variant::_Copy_ctor_base.base.251" = type { %"struct.std::__detail::__variant::_Variant_storage.base.250" }
%"struct.std::__detail::__variant::_Variant_storage.base.250" = type <{ %"union.std::__detail::__variant::_Variadic_union.248", i8 }>
%"union.std::__detail::__variant::_Variadic_union.248" = type { %"struct.std::__detail::__variant::_Uninitialized.172", [28 x i8] }
%"struct.masm::NodeIntr" = type { %"class.std::variant.276" }
%"class.std::variant.276" = type { %"struct.std::__detail::__variant::_Variant_base.base.289", [7 x i8] }
%"struct.std::__detail::__variant::_Variant_base.base.289" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.288" }
%"struct.std::__detail::__variant::_Move_assign_base.base.288" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.287" }
%"struct.std::__detail::__variant::_Copy_assign_base.base.287" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.286" }
%"struct.std::__detail::__variant::_Move_ctor_base.base.286" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.285" }
%"struct.std::__detail::__variant::_Copy_ctor_base.base.285" = type { %"struct.std::__detail::__variant::_Variant_storage.base.284" }
%"struct.std::__detail::__variant::_Variant_storage.base.284" = type { %"union.std::__detail::__variant::_Variadic_union.283", i8 }
%"union.std::__detail::__variant::_Variadic_union.283" = type { %"union.std::__detail::__variant::_Variadic_union.249" }
%"union.std::__detail::__variant::_Variadic_union.249" = type { %"struct.std::__detail::__variant::_Uninitialized" }
%"struct.std::__detail::__variant::_Uninitialized" = type { %"struct.__gnu_cxx::__aligned_membuf" }
%"struct.__gnu_cxx::__aligned_membuf" = type { [32 x i8] }

@_ZN4masmL8lbl_listB5cxx11E = external hidden global %"class.std::unordered_set", align 8
@_ZN4masmL8symtableE = external hidden global %"struct.masm::SymbolTable", align 8
@_ZN4masmL9evaluatorE = external hidden global %"class.masm::Expr", align 8
@_ZN4masmL5nodesE = external hidden global %"class.std::vector.126", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.280 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [30 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3

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

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

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #1 align 2

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

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

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

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

declare void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201), ptr noundef) #5

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

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

declare void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8, ptr noundef nonnull align 8 dereferenceable(201), i1 noundef zeroext) #5

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4masm6Parser13analyse_nodesEv(ptr noundef nonnull align 8 dereferenceable(313) %0) #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca ptr, align 8
  %4 = alloca %"class.__gnu_cxx::__normal_iterator.347", align 8
  %5 = alloca %"class.__gnu_cxx::__normal_iterator.347", align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %14 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %15 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %22 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca ptr, align 8
  %26 = alloca %"class.std::vector.106", align 8
  %27 = alloca %"class.std::vector.106", align 8
  %28 = alloca %"class.std::optional.296", align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"class.std::vector.106", align 8
  %31 = alloca %"class.std::vector.106", align 8
  %32 = alloca %"class.std::optional.296", align 8
  %33 = alloca ptr, align 8
  %34 = alloca %"class.std::vector.106", align 8
  %35 = alloca %"class.std::vector.106", align 8
  %36 = alloca %"class.std::optional.296", align 8
  %37 = alloca ptr, align 8
  %38 = alloca %"class.std::vector.106", align 8
  %39 = alloca %"class.std::vector.106", align 8
  %40 = alloca %"class.std::optional.296", align 8
  %41 = alloca ptr, align 8
  %42 = alloca %"class.std::vector.106", align 8
  %43 = alloca %"class.std::vector.106", align 8
  %44 = alloca %"class.std::optional.296", align 8
  %45 = alloca ptr, align 8
  %46 = alloca %"class.std::vector.106", align 8
  %47 = alloca %"class.std::vector.106", align 8
  %48 = alloca %"class.std::optional.296", align 8
  %49 = alloca ptr, align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %52 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %53 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %54 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %55 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %56 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %57 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca ptr, align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %63 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca ptr, align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %69 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca ptr, align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %75 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %76 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %77 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %81 = alloca ptr, align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %84 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %85 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %86 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %87 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %88 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca ptr, align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %94 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %95 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %96 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %97 = alloca ptr, align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %100 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %101 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %102 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca ptr, align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %108 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca ptr, align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %114 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca ptr, align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %120 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca ptr, align 8
  %123 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %124 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca ptr, align 8
  %127 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %128 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca ptr, align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %133 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %136 = alloca ptr, align 8
  %137 = alloca %"class.std::vector.106", align 8
  %138 = alloca %"class.std::vector.106", align 8
  %139 = alloca %"class.std::optional.296", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %140 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %3) #7
  store ptr @_ZN4masmL5nodesE, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #7
  %141 = call ptr @_ZNSt6vectorIN4masm4NodeESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN4masmL5nodesE) #7
  %142 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.347", ptr %4, i32 0, i32 0
  store ptr %141, ptr %142, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  %143 = call ptr @_ZNSt6vectorIN4masm4NodeESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN4masmL5nodesE) #7
  %144 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.347", ptr %5, i32 0, i32 0
  store ptr %143, ptr %144, align 8
  br label %145

145:                                              ; preds = %1470, %1
  %146 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4masm4NodeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  br i1 %146, label %148, label %147

147:                                              ; preds = %145
  store i32 2, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #7
  br label %1473

148:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #7
  %149 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  store ptr %149, ptr %7, align 8, !tbaa !5
  %150 = load ptr, ptr %7, align 8, !tbaa !5
  %151 = getelementptr inbounds %"struct.masm::Node", ptr %150, i32 0, i32 0
  %152 = load i32, ptr %151, align 8, !tbaa !9
  switch i32 %152, label %1469 [
    i32 6, label %153
    i32 10, label %153
    i32 14, label %153
    i32 18, label %153
    i32 22, label %153
    i32 52, label %153
    i32 53, label %153
    i32 54, label %153
    i32 55, label %153
    i32 56, label %153
    i32 57, label %153
    i32 58, label %153
    i32 59, label %153
    i32 320, label %255
    i32 222, label %255
    i32 226, label %255
    i32 230, label %255
    i32 234, label %255
    i32 238, label %255
    i32 242, label %255
    i32 246, label %255
    i32 250, label %255
    i32 224, label %255
    i32 228, label %255
    i32 232, label %255
    i32 236, label %255
    i32 240, label %255
    i32 244, label %255
    i32 248, label %255
    i32 252, label %255
    i32 7, label %303
    i32 11, label %303
    i32 15, label %303
    i32 19, label %303
    i32 23, label %303
    i32 27, label %303
    i32 31, label %303
    i32 35, label %303
    i32 39, label %303
    i32 43, label %303
    i32 199, label %352
    i32 203, label %352
    i32 207, label %352
    i32 211, label %352
    i32 215, label %352
    i32 219, label %352
    i32 63, label %403
    i32 131, label %403
    i32 138, label %457
    i32 142, label %457
    i32 146, label %457
    i32 67, label %457
    i32 71, label %457
    i32 75, label %457
    i32 79, label %457
    i32 83, label %457
    i32 87, label %457
    i32 91, label %457
    i32 95, label %457
    i32 99, label %457
    i32 103, label %457
    i32 107, label %457
    i32 111, label %457
    i32 115, label %457
    i32 119, label %457
    i32 123, label %457
    i32 171, label %506
    i32 175, label %506
    i32 179, label %506
    i32 183, label %506
    i32 189, label %555
    i32 188, label %604
    i32 192, label %604
    i32 26, label %715
    i32 30, label %715
    i32 34, label %715
    i32 38, label %715
    i32 42, label %715
    i32 198, label %772
    i32 202, label %772
    i32 206, label %772
    i32 210, label %772
    i32 214, label %772
    i32 218, label %837
    i32 62, label %917
    i32 130, label %917
    i32 66, label %1014
    i32 70, label %1014
    i32 74, label %1014
    i32 78, label %1014
    i32 82, label %1014
    i32 86, label %1014
    i32 90, label %1014
    i32 94, label %1014
    i32 98, label %1014
    i32 102, label %1014
    i32 106, label %1014
    i32 110, label %1014
    i32 114, label %1014
    i32 118, label %1014
    i32 122, label %1014
    i32 170, label %1080
    i32 174, label %1080
    i32 178, label %1153
    i32 182, label %1153
    i32 137, label %1210
    i32 141, label %1210
    i32 145, label %1210
    i32 147, label %1267
    i32 296, label %1267
    i32 297, label %1267
    i32 298, label %1267
    i32 299, label %1267
    i32 300, label %1267
    i32 301, label %1267
    i32 302, label %1267
    i32 303, label %1267
    i32 304, label %1267
    i32 305, label %1267
    i32 306, label %1267
    i32 307, label %1267
    i32 308, label %1267
    i32 309, label %1267
    i32 310, label %1267
    i32 311, label %1267
    i32 316, label %1267
    i32 312, label %1267
    i32 149, label %1267
    i32 253, label %1309
    i32 259, label %1337
    i32 261, label %1337
    i32 315, label %1365
    i32 314, label %1424
  ]

153:                                              ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %154 = load ptr, ptr %7, align 8, !tbaa !5
  %155 = getelementptr inbounds %"struct.masm::Node", ptr %154, i32 0, i32 1
  %156 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %155) #7
  store ptr %156, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #7
  %157 = load ptr, ptr %8, align 8, !tbaa !5
  %158 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %157, i32 0, i32 2
  %159 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %158)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %159)
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  %160 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %161 unwind label %186

161:                                              ; preds = %153
  %162 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %10, i32 0, i32 0
  %163 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %162, i32 0, i32 0
  store ptr %160, ptr %163, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  %164 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %165 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %13, i32 0, i32 0
  %166 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %165, i32 0, i32 0
  store ptr %164, ptr %166, align 8
  %167 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  br i1 %167, label %168, label %253

168:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  %169 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %170 unwind label %190

170:                                              ; preds = %168
  %171 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %14, i32 0, i32 0
  %172 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %171, i32 0, i32 0
  store ptr %169, ptr %172, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  %173 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %174 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %15, i32 0, i32 0
  %175 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %174, i32 0, i32 0
  store ptr %173, ptr %175, align 8
  %176 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br i1 %176, label %177, label %212

177:                                              ; preds = %170
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %179 unwind label %194

179:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %180 unwind label %198

180:                                              ; preds = %179
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.346)
          to label %181 unwind label %202

181:                                              ; preds = %180
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %178, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %183 unwind label %206

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef @.str.283)
          to label %185 unwind label %206

185:                                              ; preds = %183
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @exit(i32 noundef 1) #8
  unreachable

186:                                              ; preds = %153
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %11, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  br label %254

190:                                              ; preds = %168
  %191 = landingpad { ptr, i32 }
          cleanup
  %192 = extractvalue { ptr, i32 } %191, 0
  store ptr %192, ptr %11, align 8
  %193 = extractvalue { ptr, i32 } %191, 1
  store i32 %193, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br label %254

194:                                              ; preds = %226, %224, %222, %177
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %11, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %12, align 4
  br label %254

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

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

206:                                              ; preds = %183, %181
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %11, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %210

210:                                              ; preds = %206, %202
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %211

211:                                              ; preds = %210, %198
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  br label %254

212:                                              ; preds = %170
  %213 = load ptr, ptr %7, align 8, !tbaa !5
  %214 = getelementptr inbounds %"struct.masm::Node", ptr %213, i32 0, i32 0
  %215 = load i32, ptr %214, align 8, !tbaa !9
  %216 = icmp sge i32 %215, 52
  br i1 %216, label %217, label %229

217:                                              ; preds = %212
  %218 = load ptr, ptr %7, align 8, !tbaa !5
  %219 = getelementptr inbounds %"struct.masm::Node", ptr %218, i32 0, i32 0
  %220 = load i32, ptr %219, align 8, !tbaa !9
  %221 = icmp sle i32 %220, 59
  br i1 %221, label %222, label %229

222:                                              ; preds = %217
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %224 unwind label %194

224:                                              ; preds = %222
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef @.str.350)
          to label %226 unwind label %194

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef @.str.283)
          to label %228 unwind label %194

228:                                              ; preds = %226
  call void @exit(i32 noundef 1) #8
  unreachable

229:                                              ; preds = %217, %212
  %230 = load ptr, ptr %7, align 8, !tbaa !5
  %231 = getelementptr inbounds %"struct.masm::Node", ptr %230, i32 0, i32 0
  %232 = load i32, ptr %231, align 8, !tbaa !9
  %233 = sub nsw i32 %232, 2
  %234 = load ptr, ptr %7, align 8, !tbaa !5
  %235 = getelementptr inbounds %"struct.masm::Node", ptr %234, i32 0, i32 0
  store i32 %233, ptr %235, align 8, !tbaa !9
  br label %236

236:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  %237 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %238 unwind label %248

238:                                              ; preds = %236
  %239 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %18, i32 0, i32 0
  %240 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %239, i32 0, i32 0
  store ptr %237, ptr %240, align 8
  %241 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  %242 = getelementptr inbounds %"struct.std::pair.151", ptr %241, i32 0, i32 1
  %243 = getelementptr inbounds %"struct.masm::Variable", ptr %242, i32 0, i32 1
  %244 = load ptr, ptr %8, align 8, !tbaa !5
  %245 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %244, i32 0, i32 2
  %246 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %245, ptr noundef nonnull align 8 dereferenceable(32) %243)
          to label %247 unwind label %248

247:                                              ; preds = %238
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  br label %252

248:                                              ; preds = %238, %236
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %11, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  br label %254

252:                                              ; preds = %247
  br label %253

253:                                              ; preds = %252, %161
  store i32 4, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %1469

254:                                              ; preds = %248, %211, %194, %190, %186
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  br label %1472

255:                                              ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  %256 = load ptr, ptr %7, align 8, !tbaa !5
  %257 = getelementptr inbounds %"struct.masm::Node", ptr %256, i32 0, i32 1
  %258 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %257) #7
  store ptr %258, ptr %19, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #7
  %259 = load ptr, ptr %19, align 8, !tbaa !5
  %260 = getelementptr inbounds %"struct.masm::NodeMov", ptr %259, i32 0, i32 2
  %261 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %260)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %261)
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %262 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %263 unwind label %279

263:                                              ; preds = %255
  %264 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %21, i32 0, i32 0
  %265 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %264, i32 0, i32 0
  store ptr %262, ptr %265, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %266 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %267 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %22, i32 0, i32 0
  %268 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %267, i32 0, i32 0
  store ptr %266, ptr %268, align 8
  %269 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br i1 %269, label %270, label %301

270:                                              ; preds = %263
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %272 unwind label %283

272:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %273 unwind label %287

273:                                              ; preds = %272
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.346)
          to label %274 unwind label %291

274:                                              ; preds = %273
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %271, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %276 unwind label %295

276:                                              ; preds = %274
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %275, ptr noundef @.str.283)
          to label %278 unwind label %295

278:                                              ; preds = %276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  call void @exit(i32 noundef 1) #8
  unreachable

279:                                              ; preds = %255
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %11, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %302

283:                                              ; preds = %270
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %11, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %12, align 4
  br label %302

287:                                              ; preds = %272
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %11, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %12, align 4
  br label %300

291:                                              ; preds = %273
  %292 = landingpad { ptr, i32 }
          cleanup
  %293 = extractvalue { ptr, i32 } %292, 0
  store ptr %293, ptr %11, align 8
  %294 = extractvalue { ptr, i32 } %292, 1
  store i32 %294, ptr %12, align 4
  br label %299

295:                                              ; preds = %276, %274
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %11, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %299

299:                                              ; preds = %295, %291
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %300

300:                                              ; preds = %299, %287
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  br label %302

301:                                              ; preds = %263
  store i32 4, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %1469

302:                                              ; preds = %300, %283, %279
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  br label %1472

303:                                              ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %304 = load ptr, ptr %7, align 8, !tbaa !5
  %305 = getelementptr inbounds %"struct.masm::Node", ptr %304, i32 0, i32 1
  %306 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %305) #7
  store ptr %306, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #7
  %307 = load ptr, ptr %25, align 8, !tbaa !5
  %308 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %307, i32 0, i32 2
  %309 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %308)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %309)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %310 unwind label %321

310:                                              ; preds = %303
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %27)
          to label %311 unwind label %325

311:                                              ; preds = %310
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %28) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %28, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %312 unwind label %329

312:                                              ; preds = %311
  %313 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br i1 %313, label %337, label %314

314:                                              ; preds = %312
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %316 unwind label %333

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %315, ptr noundef @.str.351)
          to label %318 unwind label %333

318:                                              ; preds = %316
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %317, ptr noundef @.str.283)
          to label %320 unwind label %333

320:                                              ; preds = %318
  call void @exit(i32 noundef 1) #8
  unreachable

321:                                              ; preds = %303
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %11, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %12, align 4
  br label %351

325:                                              ; preds = %310
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %11, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  br label %351

329:                                              ; preds = %311
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %11, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %12, align 4
  br label %350

333:                                              ; preds = %345, %337, %318, %316, %314
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %11, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br label %350

337:                                              ; preds = %312
  %338 = load ptr, ptr %7, align 8, !tbaa !5
  %339 = getelementptr inbounds %"struct.masm::Node", ptr %338, i32 0, i32 0
  %340 = load i32, ptr %339, align 8, !tbaa !9
  %341 = sub nsw i32 %340, 3
  %342 = load ptr, ptr %7, align 8, !tbaa !5
  %343 = getelementptr inbounds %"struct.masm::Node", ptr %342, i32 0, i32 0
  store i32 %341, ptr %343, align 8, !tbaa !9
  %344 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %28)
          to label %345 unwind label %333

345:                                              ; preds = %337
  %346 = load ptr, ptr %25, align 8, !tbaa !5
  %347 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %346, i32 0, i32 2
  %348 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %347, ptr noundef nonnull align 8 dereferenceable(32) %344)
          to label %349 unwind label %333

349:                                              ; preds = %345
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %1469

350:                                              ; preds = %333, %329
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #7
  br label %351

351:                                              ; preds = %350, %325, %321
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %1472

352:                                              ; preds = %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %353 = load ptr, ptr %7, align 8, !tbaa !5
  %354 = getelementptr inbounds %"struct.masm::Node", ptr %353, i32 0, i32 1
  %355 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %354) #7
  store ptr %355, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #7
  %356 = load ptr, ptr %29, align 8, !tbaa !5
  %357 = getelementptr inbounds %"struct.masm::NodeMov", ptr %356, i32 0, i32 2
  %358 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %357)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %358)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %30)
          to label %359 unwind label %370

359:                                              ; preds = %352
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %31)
          to label %360 unwind label %374

360:                                              ; preds = %359
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %32, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %361 unwind label %378

361:                                              ; preds = %360
  %362 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  br i1 %362, label %386, label %363

363:                                              ; preds = %361
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %365 unwind label %382

365:                                              ; preds = %363
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef @.str.351)
          to label %367 unwind label %382

367:                                              ; preds = %365
  %368 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %366, ptr noundef @.str.283)
          to label %369 unwind label %382

369:                                              ; preds = %367
  call void @exit(i32 noundef 1) #8
  unreachable

370:                                              ; preds = %352
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %11, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %12, align 4
  br label %402

374:                                              ; preds = %359
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %11, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  br label %402

378:                                              ; preds = %360
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %11, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %12, align 4
  br label %401

382:                                              ; preds = %394, %386, %367, %365, %363
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %11, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  br label %401

386:                                              ; preds = %361
  %387 = load ptr, ptr %7, align 8, !tbaa !5
  %388 = getelementptr inbounds %"struct.masm::Node", ptr %387, i32 0, i32 0
  %389 = load i32, ptr %388, align 8, !tbaa !9
  %390 = sub nsw i32 %389, 3
  %391 = load ptr, ptr %7, align 8, !tbaa !5
  %392 = getelementptr inbounds %"struct.masm::Node", ptr %391, i32 0, i32 0
  store i32 %390, ptr %392, align 8, !tbaa !9
  %393 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %32)
          to label %394 unwind label %382

394:                                              ; preds = %386
  %395 = load ptr, ptr %29, align 8, !tbaa !5
  %396 = getelementptr inbounds %"struct.masm::NodeMov", ptr %395, i32 0, i32 2
  %397 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %396, ptr noundef nonnull align 8 dereferenceable(32) %393)
          to label %398 unwind label %382

398:                                              ; preds = %394
  %399 = load ptr, ptr %29, align 8, !tbaa !5
  %400 = getelementptr inbounds %"struct.masm::NodeMov", ptr %399, i32 0, i32 3
  store i8 1, ptr %400, align 8, !tbaa !22
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %1469

401:                                              ; preds = %382, %378
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #7
  br label %402

402:                                              ; preds = %401, %374, %370
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %1472

403:                                              ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %404 = load ptr, ptr %7, align 8, !tbaa !5
  %405 = getelementptr inbounds %"struct.masm::Node", ptr %404, i32 0, i32 1
  %406 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %405) #7
  store ptr %406, ptr %33, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #7
  %407 = load ptr, ptr %33, align 8, !tbaa !5
  %408 = getelementptr inbounds %"struct.masm::NodeMov", ptr %407, i32 0, i32 2
  %409 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %408)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(24) %409)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %410 unwind label %421

410:                                              ; preds = %403
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %35)
          to label %411 unwind label %425

411:                                              ; preds = %410
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %36) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %36, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %412 unwind label %429

412:                                              ; preds = %411
  %413 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %36) #7
  br i1 %413, label %437, label %414

414:                                              ; preds = %412
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %416 unwind label %433

416:                                              ; preds = %414
  %417 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %415, ptr noundef @.str.351)
          to label %418 unwind label %433

418:                                              ; preds = %416
  %419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %417, ptr noundef @.str.283)
          to label %420 unwind label %433

420:                                              ; preds = %418
  call void @exit(i32 noundef 1) #8
  unreachable

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

425:                                              ; preds = %410
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %11, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #7
  br label %456

429:                                              ; preds = %411
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %11, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %12, align 4
  br label %455

433:                                              ; preds = %445, %441, %437, %418, %416, %414
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %11, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #7
  br label %455

437:                                              ; preds = %412
  %438 = load ptr, ptr %7, align 8, !tbaa !5
  %439 = getelementptr inbounds %"struct.masm::Node", ptr %438, i32 0, i32 0
  store i32 128, ptr %439, align 8, !tbaa !9
  %440 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %36)
          to label %441 unwind label %433

441:                                              ; preds = %437
  %442 = load ptr, ptr %33, align 8, !tbaa !5
  %443 = getelementptr inbounds %"struct.masm::NodeMov", ptr %442, i32 0, i32 2
  %444 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %443, ptr noundef nonnull align 8 dereferenceable(32) %440)
          to label %445 unwind label %433

445:                                              ; preds = %441
  %446 = invoke noundef zeroext i1 @_ZN4masm4Expr8was_addrEv(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE)
          to label %447 unwind label %433

447:                                              ; preds = %445
  br i1 %446, label %451, label %448

448:                                              ; preds = %447
  %449 = load ptr, ptr %33, align 8, !tbaa !5
  %450 = getelementptr inbounds %"struct.masm::NodeMov", ptr %449, i32 0, i32 3
  store i8 1, ptr %450, align 8, !tbaa !22
  br label %454

451:                                              ; preds = %447
  %452 = load ptr, ptr %33, align 8, !tbaa !5
  %453 = getelementptr inbounds %"struct.masm::NodeMov", ptr %452, i32 0, i32 3
  store i8 0, ptr %453, align 8, !tbaa !22
  br label %454

454:                                              ; preds = %451, %448
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %1469

455:                                              ; preds = %433, %429
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #7
  br label %456

456:                                              ; preds = %455, %425, %421
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %1472

457:                                              ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %458 = load ptr, ptr %7, align 8, !tbaa !5
  %459 = getelementptr inbounds %"struct.masm::Node", ptr %458, i32 0, i32 1
  %460 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %459) #7
  store ptr %460, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #7
  %461 = load ptr, ptr %37, align 8, !tbaa !5
  %462 = getelementptr inbounds %"struct.masm::NodeMov", ptr %461, i32 0, i32 2
  %463 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %462)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr noundef nonnull align 8 dereferenceable(24) %463)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %464 unwind label %475

464:                                              ; preds = %457
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %39)
          to label %465 unwind label %479

465:                                              ; preds = %464
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %40) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %40, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %466 unwind label %483

466:                                              ; preds = %465
  %467 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  br i1 %467, label %491, label %468

468:                                              ; preds = %466
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %470 unwind label %487

470:                                              ; preds = %468
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %469, ptr noundef @.str.351)
          to label %472 unwind label %487

472:                                              ; preds = %470
  %473 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %471, ptr noundef @.str.283)
          to label %474 unwind label %487

474:                                              ; preds = %472
  call void @exit(i32 noundef 1) #8
  unreachable

475:                                              ; preds = %457
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %11, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %12, align 4
  br label %505

479:                                              ; preds = %464
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %11, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #7
  br label %505

483:                                              ; preds = %465
  %484 = landingpad { ptr, i32 }
          cleanup
  %485 = extractvalue { ptr, i32 } %484, 0
  store ptr %485, ptr %11, align 8
  %486 = extractvalue { ptr, i32 } %484, 1
  store i32 %486, ptr %12, align 4
  br label %504

487:                                              ; preds = %499, %491, %472, %470, %468
  %488 = landingpad { ptr, i32 }
          cleanup
  %489 = extractvalue { ptr, i32 } %488, 0
  store ptr %489, ptr %11, align 8
  %490 = extractvalue { ptr, i32 } %488, 1
  store i32 %490, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  br label %504

491:                                              ; preds = %466
  %492 = load ptr, ptr %7, align 8, !tbaa !5
  %493 = getelementptr inbounds %"struct.masm::Node", ptr %492, i32 0, i32 0
  %494 = load i32, ptr %493, align 8, !tbaa !9
  %495 = sub nsw i32 %494, 3
  %496 = load ptr, ptr %7, align 8, !tbaa !5
  %497 = getelementptr inbounds %"struct.masm::Node", ptr %496, i32 0, i32 0
  store i32 %495, ptr %497, align 8, !tbaa !9
  %498 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %40)
          to label %499 unwind label %487

499:                                              ; preds = %491
  %500 = load ptr, ptr %37, align 8, !tbaa !5
  %501 = getelementptr inbounds %"struct.masm::NodeMov", ptr %500, i32 0, i32 2
  %502 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %501, ptr noundef nonnull align 8 dereferenceable(32) %498)
          to label %503 unwind label %487

503:                                              ; preds = %499
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %1469

504:                                              ; preds = %487, %483
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #7
  br label %505

505:                                              ; preds = %504, %479, %475
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %1472

506:                                              ; preds = %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  %507 = load ptr, ptr %7, align 8, !tbaa !5
  %508 = getelementptr inbounds %"struct.masm::Node", ptr %507, i32 0, i32 1
  %509 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %508) #7
  store ptr %509, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #7
  %510 = load ptr, ptr %41, align 8, !tbaa !5
  %511 = getelementptr inbounds %"struct.masm::NodeStack", ptr %510, i32 0, i32 2
  %512 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %511)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %512)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %42)
          to label %513 unwind label %524

513:                                              ; preds = %506
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %43)
          to label %514 unwind label %528

514:                                              ; preds = %513
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %44) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %44, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %515 unwind label %532

515:                                              ; preds = %514
  %516 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %44) #7
  br i1 %516, label %540, label %517

517:                                              ; preds = %515
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %519 unwind label %536

519:                                              ; preds = %517
  %520 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %518, ptr noundef @.str.351)
          to label %521 unwind label %536

521:                                              ; preds = %519
  %522 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %520, ptr noundef @.str.283)
          to label %523 unwind label %536

523:                                              ; preds = %521
  call void @exit(i32 noundef 1) #8
  unreachable

524:                                              ; preds = %506
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %11, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %12, align 4
  br label %554

528:                                              ; preds = %513
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %11, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  br label %554

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

536:                                              ; preds = %548, %540, %521, %519, %517
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %11, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #7
  br label %553

540:                                              ; preds = %515
  %541 = load ptr, ptr %7, align 8, !tbaa !5
  %542 = getelementptr inbounds %"struct.masm::Node", ptr %541, i32 0, i32 0
  %543 = load i32, ptr %542, align 8, !tbaa !9
  %544 = sub nsw i32 %543, 3
  %545 = load ptr, ptr %7, align 8, !tbaa !5
  %546 = getelementptr inbounds %"struct.masm::Node", ptr %545, i32 0, i32 0
  store i32 %544, ptr %546, align 8, !tbaa !9
  %547 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %44)
          to label %548 unwind label %536

548:                                              ; preds = %540
  %549 = load ptr, ptr %41, align 8, !tbaa !5
  %550 = getelementptr inbounds %"struct.masm::NodeStack", ptr %549, i32 0, i32 2
  %551 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %550, ptr noundef nonnull align 8 dereferenceable(32) %547)
          to label %552 unwind label %536

552:                                              ; preds = %548
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %44) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %44) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %1469

553:                                              ; preds = %536, %532
  call void @llvm.lifetime.end.p0(i64 40, ptr %44) #7
  br label %554

554:                                              ; preds = %553, %528, %524
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %1472

555:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %556 = load ptr, ptr %7, align 8, !tbaa !5
  %557 = getelementptr inbounds %"struct.masm::Node", ptr %556, i32 0, i32 1
  %558 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %557) #7
  store ptr %558, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %46) #7
  %559 = load ptr, ptr %45, align 8, !tbaa !5
  %560 = getelementptr inbounds %"struct.masm::NodeStack", ptr %559, i32 0, i32 2
  %561 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %560)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(24) %561)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr noundef nonnull align 8 dereferenceable(24) %46)
          to label %562 unwind label %573

562:                                              ; preds = %555
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %47)
          to label %563 unwind label %577

563:                                              ; preds = %562
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %48) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %48, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %564 unwind label %581

564:                                              ; preds = %563
  %565 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %48) #7
  br i1 %565, label %589, label %566

566:                                              ; preds = %564
  %567 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %568 unwind label %585

568:                                              ; preds = %566
  %569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %567, ptr noundef @.str.351)
          to label %570 unwind label %585

570:                                              ; preds = %568
  %571 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %569, ptr noundef @.str.283)
          to label %572 unwind label %585

572:                                              ; preds = %570
  call void @exit(i32 noundef 1) #8
  unreachable

573:                                              ; preds = %555
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %11, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %12, align 4
  br label %603

577:                                              ; preds = %562
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %11, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #7
  br label %603

581:                                              ; preds = %563
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %11, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %12, align 4
  br label %602

585:                                              ; preds = %597, %589, %570, %568, %566
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %11, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #7
  br label %602

589:                                              ; preds = %564
  %590 = load ptr, ptr %7, align 8, !tbaa !5
  %591 = getelementptr inbounds %"struct.masm::Node", ptr %590, i32 0, i32 0
  %592 = load i32, ptr %591, align 8, !tbaa !9
  %593 = sub nsw i32 %592, 3
  %594 = load ptr, ptr %7, align 8, !tbaa !5
  %595 = getelementptr inbounds %"struct.masm::Node", ptr %594, i32 0, i32 0
  store i32 %593, ptr %595, align 8, !tbaa !9
  %596 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %48)
          to label %597 unwind label %585

597:                                              ; preds = %589
  %598 = load ptr, ptr %45, align 8, !tbaa !5
  %599 = getelementptr inbounds %"struct.masm::NodeStack", ptr %598, i32 0, i32 2
  %600 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %599, ptr noundef nonnull align 8 dereferenceable(32) %596)
          to label %601 unwind label %585

601:                                              ; preds = %597
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %48) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %1469

602:                                              ; preds = %585, %581
  call void @llvm.lifetime.end.p0(i64 40, ptr %48) #7
  br label %603

603:                                              ; preds = %602, %577, %573
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %1472

604:                                              ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #7
  %605 = load ptr, ptr %7, align 8, !tbaa !5
  %606 = getelementptr inbounds %"struct.masm::Node", ptr %605, i32 0, i32 1
  %607 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %606) #7
  store ptr %607, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #7
  %608 = load ptr, ptr %49, align 8, !tbaa !5
  %609 = getelementptr inbounds %"struct.masm::NodeStack", ptr %608, i32 0, i32 2
  %610 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %609)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %610)
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %611 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %612 unwind label %647

612:                                              ; preds = %604
  %613 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %51, i32 0, i32 0
  %614 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %613, i32 0, i32 0
  store ptr %611, ptr %614, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %615 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %616 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %52, i32 0, i32 0
  %617 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %616, i32 0, i32 0
  store ptr %615, ptr %617, align 8
  %618 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br i1 %618, label %619, label %712

619:                                              ; preds = %612
  %620 = load ptr, ptr %7, align 8, !tbaa !5
  %621 = getelementptr inbounds %"struct.masm::Node", ptr %620, i32 0, i32 0
  %622 = load i32, ptr %621, align 8, !tbaa !9
  %623 = icmp eq i32 %622, 188
  br i1 %623, label %624, label %660

624:                                              ; preds = %619
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %625 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %626 unwind label %651

626:                                              ; preds = %624
  %627 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %53, i32 0, i32 0
  %628 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %627, i32 0, i32 0
  store ptr %625, ptr %628, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %629 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %630 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %54, i32 0, i32 0
  %631 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %630, i32 0, i32 0
  store ptr %629, ptr %631, align 8
  %632 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br i1 %632, label %633, label %659

633:                                              ; preds = %626
  %634 = load ptr, ptr %7, align 8, !tbaa !5
  %635 = getelementptr inbounds %"struct.masm::Node", ptr %634, i32 0, i32 0
  store i32 186, ptr %635, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #7
  %636 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %637 unwind label %655

637:                                              ; preds = %633
  %638 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %55, i32 0, i32 0
  %639 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %638, i32 0, i32 0
  store ptr %636, ptr %639, align 8
  %640 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  %641 = getelementptr inbounds %"struct.std::pair.151", ptr %640, i32 0, i32 1
  %642 = getelementptr inbounds %"struct.masm::Variable", ptr %641, i32 0, i32 1
  %643 = load ptr, ptr %49, align 8, !tbaa !5
  %644 = getelementptr inbounds %"struct.masm::NodeStack", ptr %643, i32 0, i32 2
  %645 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %644, ptr noundef nonnull align 8 dereferenceable(32) %642)
          to label %646 unwind label %655

646:                                              ; preds = %637
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  store i32 4, ptr %6, align 4
  br label %713

647:                                              ; preds = %604
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %11, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %714

651:                                              ; preds = %624
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %11, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %714

655:                                              ; preds = %637, %633
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %11, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  br label %714

659:                                              ; preds = %626
  br label %660

660:                                              ; preds = %659, %619
  %661 = load ptr, ptr %7, align 8, !tbaa !5
  %662 = getelementptr inbounds %"struct.masm::Node", ptr %661, i32 0, i32 0
  %663 = load i32, ptr %662, align 8, !tbaa !9
  %664 = icmp eq i32 %663, 188
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #7
  br i1 %664, label %665, label %674

665:                                              ; preds = %660
  %666 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %667 unwind label %681

667:                                              ; preds = %665
  %668 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %56, i32 0, i32 0
  %669 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %668, i32 0, i32 0
  store ptr %666, ptr %669, align 8
  %670 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  %671 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %57, i32 0, i32 0
  %672 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %671, i32 0, i32 0
  store ptr %670, ptr %672, align 8
  %673 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  br label %674

674:                                              ; preds = %667, %660
  %675 = phi i1 [ false, %660 ], [ %673, %667 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br i1 %675, label %676, label %685

676:                                              ; preds = %674
  %677 = load ptr, ptr %7, align 8, !tbaa !5
  %678 = getelementptr inbounds %"struct.masm::Node", ptr %677, i32 0, i32 0
  store i32 186, ptr %678, align 8, !tbaa !9
  %679 = load ptr, ptr %49, align 8, !tbaa !5
  %680 = getelementptr inbounds %"struct.masm::NodeStack", ptr %679, i32 0, i32 3
  store i8 1, ptr %680, align 8, !tbaa !33
  store i32 4, ptr %6, align 4
  br label %713

681:                                              ; preds = %665
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %11, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %714

685:                                              ; preds = %674
  %686 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %687 unwind label %694

687:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %688 unwind label %698

688:                                              ; preds = %687
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.346)
          to label %689 unwind label %702

689:                                              ; preds = %688
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %686, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %691 unwind label %706

691:                                              ; preds = %689
  %692 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %690, ptr noundef @.str.283)
          to label %693 unwind label %706

693:                                              ; preds = %691
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #7
  call void @exit(i32 noundef 1) #8
  unreachable

694:                                              ; preds = %685
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %11, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %12, align 4
  br label %714

698:                                              ; preds = %687
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %11, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %12, align 4
  br label %711

702:                                              ; preds = %688
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %11, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %12, align 4
  br label %710

706:                                              ; preds = %691, %689
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %11, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %710

710:                                              ; preds = %706, %702
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %711

711:                                              ; preds = %710, %698
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #7
  br label %714

712:                                              ; preds = %612
  store i32 4, ptr %6, align 4
  br label %713

713:                                              ; preds = %712, %676, %646
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %1469

714:                                              ; preds = %711, %694, %681, %655, %651, %647
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #7
  br label %1472

715:                                              ; preds = %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  %716 = load ptr, ptr %7, align 8, !tbaa !5
  %717 = getelementptr inbounds %"struct.masm::Node", ptr %716, i32 0, i32 1
  %718 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %717) #7
  store ptr %718, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #7
  %719 = load ptr, ptr %60, align 8, !tbaa !5
  %720 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %719, i32 0, i32 2
  %721 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %720)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %721)
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  %722 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %723 unwind label %739

723:                                              ; preds = %715
  %724 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %62, i32 0, i32 0
  %725 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %724, i32 0, i32 0
  store ptr %722, ptr %725, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #7
  %726 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %727 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %63, i32 0, i32 0
  %728 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %727, i32 0, i32 0
  store ptr %726, ptr %728, align 8
  %729 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull align 8 dereferenceable(8) %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #7
  br i1 %729, label %730, label %757

730:                                              ; preds = %723
  %731 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %732 unwind label %739

732:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %733 unwind label %743

733:                                              ; preds = %732
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.346)
          to label %734 unwind label %747

734:                                              ; preds = %733
  %735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %731, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %736 unwind label %751

736:                                              ; preds = %734
  %737 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %735, ptr noundef @.str.283)
          to label %738 unwind label %751

738:                                              ; preds = %736
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  call void @exit(i32 noundef 1) #8
  unreachable

739:                                              ; preds = %757, %730, %715
  %740 = landingpad { ptr, i32 }
          cleanup
  %741 = extractvalue { ptr, i32 } %740, 0
  store ptr %741, ptr %11, align 8
  %742 = extractvalue { ptr, i32 } %740, 1
  store i32 %742, ptr %12, align 4
  br label %771

743:                                              ; preds = %732
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %11, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %12, align 4
  br label %756

747:                                              ; preds = %733
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %11, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %12, align 4
  br label %755

751:                                              ; preds = %736, %734
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %11, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  br label %755

755:                                              ; preds = %751, %747
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %756

756:                                              ; preds = %755, %743
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  br label %771

757:                                              ; preds = %723
  %758 = load ptr, ptr %7, align 8, !tbaa !5
  %759 = getelementptr inbounds %"struct.masm::Node", ptr %758, i32 0, i32 0
  %760 = load i32, ptr %759, align 8, !tbaa !9
  %761 = sub nsw i32 %760, 2
  %762 = load ptr, ptr %7, align 8, !tbaa !5
  %763 = getelementptr inbounds %"struct.masm::Node", ptr %762, i32 0, i32 0
  store i32 %761, ptr %763, align 8, !tbaa !9
  %764 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  %765 = getelementptr inbounds %"struct.std::pair.151", ptr %764, i32 0, i32 1
  %766 = getelementptr inbounds %"struct.masm::Variable", ptr %765, i32 0, i32 1
  %767 = load ptr, ptr %60, align 8, !tbaa !5
  %768 = getelementptr inbounds %"struct.masm::NodeArithmetic", ptr %767, i32 0, i32 2
  %769 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %768, ptr noundef nonnull align 8 dereferenceable(32) %766)
          to label %770 unwind label %739

770:                                              ; preds = %757
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %1469

771:                                              ; preds = %756, %739
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %1472

772:                                              ; preds = %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  %773 = load ptr, ptr %7, align 8, !tbaa !5
  %774 = getelementptr inbounds %"struct.masm::Node", ptr %773, i32 0, i32 1
  %775 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %774) #7
  store ptr %775, ptr %66, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #7
  %776 = load ptr, ptr %66, align 8, !tbaa !5
  %777 = getelementptr inbounds %"struct.masm::NodeMov", ptr %776, i32 0, i32 2
  %778 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %777)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %778)
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %779 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %780 unwind label %796

780:                                              ; preds = %772
  %781 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %68, i32 0, i32 0
  %782 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %781, i32 0, i32 0
  store ptr %779, ptr %782, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %783 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %784 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %69, i32 0, i32 0
  %785 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %784, i32 0, i32 0
  store ptr %783, ptr %785, align 8
  %786 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  br i1 %786, label %787, label %814

787:                                              ; preds = %780
  %788 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %789 unwind label %796

789:                                              ; preds = %787
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %790 unwind label %800

790:                                              ; preds = %789
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.346)
          to label %791 unwind label %804

791:                                              ; preds = %790
  %792 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %788, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %793 unwind label %808

793:                                              ; preds = %791
  %794 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %792, ptr noundef @.str.283)
          to label %795 unwind label %808

795:                                              ; preds = %793
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  call void @exit(i32 noundef 1) #8
  unreachable

796:                                              ; preds = %814, %787, %772
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %11, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %12, align 4
  br label %836

800:                                              ; preds = %789
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %11, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %12, align 4
  br label %813

804:                                              ; preds = %790
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %11, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %12, align 4
  br label %812

808:                                              ; preds = %793, %791
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %11, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %812

812:                                              ; preds = %808, %804
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %813

813:                                              ; preds = %812, %800
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %836

814:                                              ; preds = %780
  %815 = load ptr, ptr %7, align 8, !tbaa !5
  %816 = getelementptr inbounds %"struct.masm::Node", ptr %815, i32 0, i32 0
  %817 = load i32, ptr %816, align 8, !tbaa !9
  %818 = sub nsw i32 %817, 2
  %819 = load ptr, ptr %7, align 8, !tbaa !5
  %820 = getelementptr inbounds %"struct.masm::Node", ptr %819, i32 0, i32 0
  store i32 %818, ptr %820, align 8, !tbaa !9
  %821 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  %822 = getelementptr inbounds %"struct.std::pair.151", ptr %821, i32 0, i32 1
  %823 = getelementptr inbounds %"struct.masm::Variable", ptr %822, i32 0, i32 1
  %824 = load ptr, ptr %66, align 8, !tbaa !5
  %825 = getelementptr inbounds %"struct.masm::NodeMov", ptr %824, i32 0, i32 2
  %826 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %825, ptr noundef nonnull align 8 dereferenceable(32) %823)
          to label %827 unwind label %796

827:                                              ; preds = %814
  %828 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  %829 = getelementptr inbounds %"struct.std::pair.151", ptr %828, i32 0, i32 1
  %830 = getelementptr inbounds %"struct.masm::Variable", ptr %829, i32 0, i32 4
  %831 = load i32, ptr %830, align 4, !tbaa !35
  %832 = icmp eq i32 %831, 4
  %833 = load ptr, ptr %66, align 8, !tbaa !5
  %834 = getelementptr inbounds %"struct.masm::NodeMov", ptr %833, i32 0, i32 3
  %835 = zext i1 %832 to i8
  store i8 %835, ptr %834, align 8, !tbaa !22
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  br label %1469

836:                                              ; preds = %813, %796
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  br label %1472

837:                                              ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  %838 = load ptr, ptr %7, align 8, !tbaa !5
  %839 = getelementptr inbounds %"struct.masm::Node", ptr %838, i32 0, i32 1
  %840 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %839) #7
  store ptr %840, ptr %72, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  %841 = load ptr, ptr %72, align 8, !tbaa !5
  %842 = getelementptr inbounds %"struct.masm::NodeMov", ptr %841, i32 0, i32 2
  %843 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %842)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %843)
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %844 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %845 unwind label %870

845:                                              ; preds = %837
  %846 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %74, i32 0, i32 0
  %847 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %846, i32 0, i32 0
  store ptr %844, ptr %847, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %848 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %849 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %75, i32 0, i32 0
  %850 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %849, i32 0, i32 0
  store ptr %848, ptr %850, align 8
  %851 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %75) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br i1 %851, label %852, label %915

852:                                              ; preds = %845
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %853 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %854 unwind label %874

854:                                              ; preds = %852
  %855 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %76, i32 0, i32 0
  %856 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %855, i32 0, i32 0
  store ptr %853, ptr %856, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #7
  %857 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %858 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %77, i32 0, i32 0
  %859 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %858, i32 0, i32 0
  store ptr %857, ptr %859, align 8
  %860 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br i1 %860, label %861, label %892

861:                                              ; preds = %854
  %862 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %863 unwind label %870

863:                                              ; preds = %861
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %864 unwind label %878

864:                                              ; preds = %863
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.346)
          to label %865 unwind label %882

865:                                              ; preds = %864
  %866 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %862, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %867 unwind label %886

867:                                              ; preds = %865
  %868 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %866, ptr noundef @.str.283)
          to label %869 unwind label %886

869:                                              ; preds = %867
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  call void @exit(i32 noundef 1) #8
  unreachable

870:                                              ; preds = %861, %837
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %11, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %12, align 4
  br label %916

874:                                              ; preds = %852
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %11, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %916

878:                                              ; preds = %863
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %11, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %12, align 4
  br label %891

882:                                              ; preds = %864
  %883 = landingpad { ptr, i32 }
          cleanup
  %884 = extractvalue { ptr, i32 } %883, 0
  store ptr %884, ptr %11, align 8
  %885 = extractvalue { ptr, i32 } %883, 1
  store i32 %885, ptr %12, align 4
  br label %890

886:                                              ; preds = %867, %865
  %887 = landingpad { ptr, i32 }
          cleanup
  %888 = extractvalue { ptr, i32 } %887, 0
  store ptr %888, ptr %11, align 8
  %889 = extractvalue { ptr, i32 } %887, 1
  store i32 %889, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %890

890:                                              ; preds = %886, %882
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %891

891:                                              ; preds = %890, %878
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  br label %916

892:                                              ; preds = %854
  %893 = load ptr, ptr %7, align 8, !tbaa !5
  %894 = getelementptr inbounds %"struct.masm::Node", ptr %893, i32 0, i32 0
  %895 = load i32, ptr %894, align 8, !tbaa !9
  %896 = sub nsw i32 %895, 2
  %897 = load ptr, ptr %7, align 8, !tbaa !5
  %898 = getelementptr inbounds %"struct.masm::Node", ptr %897, i32 0, i32 0
  store i32 %896, ptr %898, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  %899 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %900 unwind label %910

900:                                              ; preds = %892
  %901 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %80, i32 0, i32 0
  %902 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %901, i32 0, i32 0
  store ptr %899, ptr %902, align 8
  %903 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %80) #7
  %904 = getelementptr inbounds %"struct.std::pair.151", ptr %903, i32 0, i32 1
  %905 = getelementptr inbounds %"struct.masm::Variable", ptr %904, i32 0, i32 1
  %906 = load ptr, ptr %72, align 8, !tbaa !5
  %907 = getelementptr inbounds %"struct.masm::NodeMov", ptr %906, i32 0, i32 2
  %908 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %907, ptr noundef nonnull align 8 dereferenceable(32) %905)
          to label %909 unwind label %910

909:                                              ; preds = %900
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %914

910:                                              ; preds = %900, %892
  %911 = landingpad { ptr, i32 }
          cleanup
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %11, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %916

914:                                              ; preds = %909
  br label %915

915:                                              ; preds = %914, %845
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1469

916:                                              ; preds = %910, %891, %874, %870
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1472

917:                                              ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #7
  %918 = load ptr, ptr %7, align 8, !tbaa !5
  %919 = getelementptr inbounds %"struct.masm::Node", ptr %918, i32 0, i32 1
  %920 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %919) #7
  store ptr %920, ptr %81, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #7
  %921 = load ptr, ptr %81, align 8, !tbaa !5
  %922 = getelementptr inbounds %"struct.masm::NodeMov", ptr %921, i32 0, i32 2
  %923 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %922)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull align 8 dereferenceable(32) %923)
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #7
  %924 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %925 unwind label %946

925:                                              ; preds = %917
  %926 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %83, i32 0, i32 0
  %927 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %926, i32 0, i32 0
  store ptr %924, ptr %927, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #7
  %928 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %929 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %84, i32 0, i32 0
  %930 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %929, i32 0, i32 0
  store ptr %928, ptr %930, align 8
  %931 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull align 8 dereferenceable(8) %84) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  br i1 %931, label %932, label %994

932:                                              ; preds = %925
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #7
  %933 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %934 unwind label %950

934:                                              ; preds = %932
  %935 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %85, i32 0, i32 0
  %936 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %935, i32 0, i32 0
  store ptr %933, ptr %936, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #7
  %937 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  %938 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %86, i32 0, i32 0
  %939 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %938, i32 0, i32 0
  store ptr %937, ptr %939, align 8
  %940 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  br i1 %940, label %941, label %954

941:                                              ; preds = %934
  %942 = load ptr, ptr %7, align 8, !tbaa !5
  %943 = getelementptr inbounds %"struct.masm::Node", ptr %942, i32 0, i32 0
  store i32 128, ptr %943, align 8, !tbaa !9
  %944 = load ptr, ptr %81, align 8, !tbaa !5
  %945 = getelementptr inbounds %"struct.masm::NodeMov", ptr %944, i32 0, i32 4
  store i8 1, ptr %945, align 1, !tbaa !45
  store i32 4, ptr %6, align 4
  br label %1012

946:                                              ; preds = %994, %917
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %11, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %12, align 4
  br label %1013

950:                                              ; preds = %932
  %951 = landingpad { ptr, i32 }
          cleanup
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %11, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  br label %1013

954:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #7
  %955 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %956 unwind label %972

956:                                              ; preds = %954
  %957 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %87, i32 0, i32 0
  %958 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %957, i32 0, i32 0
  store ptr %955, ptr %958, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %959 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %960 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %88, i32 0, i32 0
  %961 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %960, i32 0, i32 0
  store ptr %959, ptr %961, align 8
  %962 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull align 8 dereferenceable(8) %88) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br i1 %962, label %963, label %990

963:                                              ; preds = %956
  %964 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %965 unwind label %972

965:                                              ; preds = %963
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %966 unwind label %976

966:                                              ; preds = %965
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef @.str.346)
          to label %967 unwind label %980

967:                                              ; preds = %966
  %968 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %964, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %969 unwind label %984

969:                                              ; preds = %967
  %970 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %968, ptr noundef @.str.283)
          to label %971 unwind label %984

971:                                              ; preds = %969
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #7
  call void @exit(i32 noundef 1) #8
  unreachable

972:                                              ; preds = %963, %954
  %973 = landingpad { ptr, i32 }
          cleanup
  %974 = extractvalue { ptr, i32 } %973, 0
  store ptr %974, ptr %11, align 8
  %975 = extractvalue { ptr, i32 } %973, 1
  store i32 %975, ptr %12, align 4
  br label %993

976:                                              ; preds = %965
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %11, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %12, align 4
  br label %989

980:                                              ; preds = %966
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %11, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %12, align 4
  br label %988

984:                                              ; preds = %969, %967
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %11, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  br label %988

988:                                              ; preds = %984, %980
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  br label %989

989:                                              ; preds = %988, %976
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #7
  br label %993

990:                                              ; preds = %956
  %991 = load ptr, ptr %7, align 8, !tbaa !5
  %992 = getelementptr inbounds %"struct.masm::Node", ptr %991, i32 0, i32 0
  store i32 62, ptr %992, align 8, !tbaa !9
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  br label %1012

993:                                              ; preds = %989, %972
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #7
  br label %1013

994:                                              ; preds = %925
  %995 = load ptr, ptr %7, align 8, !tbaa !5
  %996 = getelementptr inbounds %"struct.masm::Node", ptr %995, i32 0, i32 0
  store i32 128, ptr %996, align 8, !tbaa !9
  %997 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  %998 = getelementptr inbounds %"struct.std::pair.151", ptr %997, i32 0, i32 1
  %999 = getelementptr inbounds %"struct.masm::Variable", ptr %998, i32 0, i32 1
  %1000 = load ptr, ptr %81, align 8, !tbaa !5
  %1001 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1000, i32 0, i32 2
  %1002 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %1001, ptr noundef nonnull align 8 dereferenceable(32) %999)
          to label %1003 unwind label %946

1003:                                             ; preds = %994
  %1004 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %83) #7
  %1005 = getelementptr inbounds %"struct.std::pair.151", ptr %1004, i32 0, i32 1
  %1006 = getelementptr inbounds %"struct.masm::Variable", ptr %1005, i32 0, i32 4
  %1007 = load i32, ptr %1006, align 4, !tbaa !35
  %1008 = icmp eq i32 %1007, 4
  %1009 = load ptr, ptr %81, align 8, !tbaa !5
  %1010 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1009, i32 0, i32 3
  %1011 = zext i1 %1008 to i8
  store i8 %1011, ptr %1010, align 8, !tbaa !22
  store i32 4, ptr %6, align 4
  br label %1012

1012:                                             ; preds = %1003, %990, %941
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  br label %1469

1013:                                             ; preds = %993, %950, %946
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #7
  br label %1472

1014:                                             ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  %1015 = load ptr, ptr %7, align 8, !tbaa !5
  %1016 = getelementptr inbounds %"struct.masm::Node", ptr %1015, i32 0, i32 1
  %1017 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1016) #7
  store ptr %1017, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #7
  %1018 = load ptr, ptr %91, align 8, !tbaa !5
  %1019 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1018, i32 0, i32 2
  %1020 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1019)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %1020)
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %1021 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1022 unwind label %1047

1022:                                             ; preds = %1014
  %1023 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %93, i32 0, i32 0
  %1024 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1023, i32 0, i32 0
  store ptr %1021, ptr %1024, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  %1025 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %1026 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %94, i32 0, i32 0
  %1027 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1026, i32 0, i32 0
  store ptr %1025, ptr %1027, align 8
  %1028 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  br i1 %1028, label %1029, label %1056

1029:                                             ; preds = %1022
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  %1030 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1031 unwind label %1051

1031:                                             ; preds = %1029
  %1032 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %95, i32 0, i32 0
  %1033 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1032, i32 0, i32 0
  store ptr %1030, ptr %1033, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #7
  %1034 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  %1035 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %96, i32 0, i32 0
  %1036 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1035, i32 0, i32 0
  store ptr %1034, ptr %1036, align 8
  %1037 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br i1 %1037, label %1038, label %1055

1038:                                             ; preds = %1031
  %1039 = load ptr, ptr %7, align 8, !tbaa !5
  %1040 = getelementptr inbounds %"struct.masm::Node", ptr %1039, i32 0, i32 0
  %1041 = load i32, ptr %1040, align 8, !tbaa !9
  %1042 = sub nsw i32 %1041, 2
  %1043 = load ptr, ptr %7, align 8, !tbaa !5
  %1044 = getelementptr inbounds %"struct.masm::Node", ptr %1043, i32 0, i32 0
  store i32 %1042, ptr %1044, align 8, !tbaa !9
  %1045 = load ptr, ptr %91, align 8, !tbaa !5
  %1046 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1045, i32 0, i32 4
  store i8 1, ptr %1046, align 1, !tbaa !45
  store i32 4, ptr %6, align 4
  br label %1078

1047:                                             ; preds = %1056, %1014
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %11, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %12, align 4
  br label %1079

1051:                                             ; preds = %1029
  %1052 = landingpad { ptr, i32 }
          cleanup
  %1053 = extractvalue { ptr, i32 } %1052, 0
  store ptr %1053, ptr %11, align 8
  %1054 = extractvalue { ptr, i32 } %1052, 1
  store i32 %1054, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br label %1079

1055:                                             ; preds = %1031
  store i32 4, ptr %6, align 4
  br label %1078

1056:                                             ; preds = %1022
  %1057 = load ptr, ptr %7, align 8, !tbaa !5
  %1058 = getelementptr inbounds %"struct.masm::Node", ptr %1057, i32 0, i32 0
  %1059 = load i32, ptr %1058, align 8, !tbaa !9
  %1060 = sub nsw i32 %1059, 2
  %1061 = load ptr, ptr %7, align 8, !tbaa !5
  %1062 = getelementptr inbounds %"struct.masm::Node", ptr %1061, i32 0, i32 0
  store i32 %1060, ptr %1062, align 8, !tbaa !9
  %1063 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  %1064 = getelementptr inbounds %"struct.std::pair.151", ptr %1063, i32 0, i32 1
  %1065 = getelementptr inbounds %"struct.masm::Variable", ptr %1064, i32 0, i32 1
  %1066 = load ptr, ptr %91, align 8, !tbaa !5
  %1067 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1066, i32 0, i32 2
  %1068 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %1067, ptr noundef nonnull align 8 dereferenceable(32) %1065)
          to label %1069 unwind label %1047

1069:                                             ; preds = %1056
  %1070 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  %1071 = getelementptr inbounds %"struct.std::pair.151", ptr %1070, i32 0, i32 1
  %1072 = getelementptr inbounds %"struct.masm::Variable", ptr %1071, i32 0, i32 4
  %1073 = load i32, ptr %1072, align 4, !tbaa !35
  %1074 = icmp eq i32 %1073, 4
  %1075 = load ptr, ptr %91, align 8, !tbaa !5
  %1076 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1075, i32 0, i32 3
  %1077 = zext i1 %1074 to i8
  store i8 %1077, ptr %1076, align 8, !tbaa !22
  store i32 4, ptr %6, align 4
  br label %1078

1078:                                             ; preds = %1069, %1055, %1038
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %1469

1079:                                             ; preds = %1051, %1047
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %1472

1080:                                             ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #7
  %1081 = load ptr, ptr %7, align 8, !tbaa !5
  %1082 = getelementptr inbounds %"struct.masm::Node", ptr %1081, i32 0, i32 1
  %1083 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1082) #7
  store ptr %1083, ptr %97, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #7
  %1084 = load ptr, ptr %97, align 8, !tbaa !5
  %1085 = getelementptr inbounds %"struct.masm::NodeStack", ptr %1084, i32 0, i32 2
  %1086 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1085)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %1086)
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #7
  %1087 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %1088 unwind label %1113

1088:                                             ; preds = %1080
  %1089 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %99, i32 0, i32 0
  %1090 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1089, i32 0, i32 0
  store ptr %1087, ptr %1090, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  %1091 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %1092 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %100, i32 0, i32 0
  %1093 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1092, i32 0, i32 0
  store ptr %1091, ptr %1093, align 8
  %1094 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef nonnull align 8 dereferenceable(8) %100) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br i1 %1094, label %1095, label %1137

1095:                                             ; preds = %1088
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %1096 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %1097 unwind label %1117

1097:                                             ; preds = %1095
  %1098 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %101, i32 0, i32 0
  %1099 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1098, i32 0, i32 0
  store ptr %1096, ptr %1099, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #7
  %1100 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %1101 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %102, i32 0, i32 0
  %1102 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1101, i32 0, i32 0
  store ptr %1100, ptr %1102, align 8
  %1103 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  br i1 %1103, label %1104, label %1135

1104:                                             ; preds = %1097
  %1105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1106 unwind label %1117

1106:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %1107 unwind label %1121

1107:                                             ; preds = %1106
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef @.str.346)
          to label %1108 unwind label %1125

1108:                                             ; preds = %1107
  %1109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1105, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %1110 unwind label %1129

1110:                                             ; preds = %1108
  %1111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1109, ptr noundef @.str.283)
          to label %1112 unwind label %1129

1112:                                             ; preds = %1110
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1113:                                             ; preds = %1137, %1080
  %1114 = landingpad { ptr, i32 }
          cleanup
  %1115 = extractvalue { ptr, i32 } %1114, 0
  store ptr %1115, ptr %11, align 8
  %1116 = extractvalue { ptr, i32 } %1114, 1
  store i32 %1116, ptr %12, align 4
  br label %1152

1117:                                             ; preds = %1104, %1095
  %1118 = landingpad { ptr, i32 }
          cleanup
  %1119 = extractvalue { ptr, i32 } %1118, 0
  store ptr %1119, ptr %11, align 8
  %1120 = extractvalue { ptr, i32 } %1118, 1
  store i32 %1120, ptr %12, align 4
  br label %1136

1121:                                             ; preds = %1106
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %11, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %12, align 4
  br label %1134

1125:                                             ; preds = %1107
  %1126 = landingpad { ptr, i32 }
          cleanup
  %1127 = extractvalue { ptr, i32 } %1126, 0
  store ptr %1127, ptr %11, align 8
  %1128 = extractvalue { ptr, i32 } %1126, 1
  store i32 %1128, ptr %12, align 4
  br label %1133

1129:                                             ; preds = %1110, %1108
  %1130 = landingpad { ptr, i32 }
          cleanup
  %1131 = extractvalue { ptr, i32 } %1130, 0
  store ptr %1131, ptr %11, align 8
  %1132 = extractvalue { ptr, i32 } %1130, 1
  store i32 %1132, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  br label %1133

1133:                                             ; preds = %1129, %1125
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  br label %1134

1134:                                             ; preds = %1133, %1121
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #7
  br label %1136

1135:                                             ; preds = %1097
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %1151

1136:                                             ; preds = %1134, %1117
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %1152

1137:                                             ; preds = %1088
  %1138 = load ptr, ptr %7, align 8, !tbaa !5
  %1139 = getelementptr inbounds %"struct.masm::Node", ptr %1138, i32 0, i32 0
  %1140 = load i32, ptr %1139, align 8, !tbaa !9
  %1141 = sub nsw i32 %1140, 2
  %1142 = load ptr, ptr %7, align 8, !tbaa !5
  %1143 = getelementptr inbounds %"struct.masm::Node", ptr %1142, i32 0, i32 0
  store i32 %1141, ptr %1143, align 8, !tbaa !9
  %1144 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  %1145 = getelementptr inbounds %"struct.std::pair.151", ptr %1144, i32 0, i32 1
  %1146 = getelementptr inbounds %"struct.masm::Variable", ptr %1145, i32 0, i32 1
  %1147 = load ptr, ptr %97, align 8, !tbaa !5
  %1148 = getelementptr inbounds %"struct.masm::NodeStack", ptr %1147, i32 0, i32 2
  %1149 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %1148, ptr noundef nonnull align 8 dereferenceable(32) %1146)
          to label %1150 unwind label %1113

1150:                                             ; preds = %1137
  br label %1151

1151:                                             ; preds = %1150, %1135
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1469

1152:                                             ; preds = %1136, %1113
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1472

1153:                                             ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %1154 = load ptr, ptr %7, align 8, !tbaa !5
  %1155 = getelementptr inbounds %"struct.masm::Node", ptr %1154, i32 0, i32 1
  %1156 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1155) #7
  store ptr %1156, ptr %105, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #7
  %1157 = load ptr, ptr %105, align 8, !tbaa !5
  %1158 = getelementptr inbounds %"struct.masm::NodeStack", ptr %1157, i32 0, i32 2
  %1159 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1158)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %1159)
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #7
  %1160 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %1161 unwind label %1177

1161:                                             ; preds = %1153
  %1162 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %107, i32 0, i32 0
  %1163 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1162, i32 0, i32 0
  store ptr %1160, ptr %1163, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #7
  %1164 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %1165 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %108, i32 0, i32 0
  %1166 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1165, i32 0, i32 0
  store ptr %1164, ptr %1166, align 8
  %1167 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  br i1 %1167, label %1168, label %1195

1168:                                             ; preds = %1161
  %1169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1170 unwind label %1177

1170:                                             ; preds = %1168
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %1171 unwind label %1181

1171:                                             ; preds = %1170
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.346)
          to label %1172 unwind label %1185

1172:                                             ; preds = %1171
  %1173 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1169, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1174 unwind label %1189

1174:                                             ; preds = %1172
  %1175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1173, ptr noundef @.str.283)
          to label %1176 unwind label %1189

1176:                                             ; preds = %1174
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1177:                                             ; preds = %1195, %1168, %1153
  %1178 = landingpad { ptr, i32 }
          cleanup
  %1179 = extractvalue { ptr, i32 } %1178, 0
  store ptr %1179, ptr %11, align 8
  %1180 = extractvalue { ptr, i32 } %1178, 1
  store i32 %1180, ptr %12, align 4
  br label %1209

1181:                                             ; preds = %1170
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %11, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %12, align 4
  br label %1194

1185:                                             ; preds = %1171
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %11, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %12, align 4
  br label %1193

1189:                                             ; preds = %1174, %1172
  %1190 = landingpad { ptr, i32 }
          cleanup
  %1191 = extractvalue { ptr, i32 } %1190, 0
  store ptr %1191, ptr %11, align 8
  %1192 = extractvalue { ptr, i32 } %1190, 1
  store i32 %1192, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1193

1193:                                             ; preds = %1189, %1185
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1194

1194:                                             ; preds = %1193, %1181
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  br label %1209

1195:                                             ; preds = %1161
  %1196 = load ptr, ptr %7, align 8, !tbaa !5
  %1197 = getelementptr inbounds %"struct.masm::Node", ptr %1196, i32 0, i32 0
  %1198 = load i32, ptr %1197, align 8, !tbaa !9
  %1199 = sub nsw i32 %1198, 2
  %1200 = load ptr, ptr %7, align 8, !tbaa !5
  %1201 = getelementptr inbounds %"struct.masm::Node", ptr %1200, i32 0, i32 0
  store i32 %1199, ptr %1201, align 8, !tbaa !9
  %1202 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107) #7
  %1203 = getelementptr inbounds %"struct.std::pair.151", ptr %1202, i32 0, i32 1
  %1204 = getelementptr inbounds %"struct.masm::Variable", ptr %1203, i32 0, i32 1
  %1205 = load ptr, ptr %105, align 8, !tbaa !5
  %1206 = getelementptr inbounds %"struct.masm::NodeStack", ptr %1205, i32 0, i32 2
  %1207 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %1206, ptr noundef nonnull align 8 dereferenceable(32) %1204)
          to label %1208 unwind label %1177

1208:                                             ; preds = %1195
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  br label %1469

1209:                                             ; preds = %1194, %1177
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  br label %1472

1210:                                             ; preds = %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #7
  %1211 = load ptr, ptr %7, align 8, !tbaa !5
  %1212 = getelementptr inbounds %"struct.masm::Node", ptr %1211, i32 0, i32 1
  %1213 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1212) #7
  store ptr %1213, ptr %111, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #7
  %1214 = load ptr, ptr %111, align 8, !tbaa !5
  %1215 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1214, i32 0, i32 2
  %1216 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1215)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %1216)
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #7
  %1217 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1218 unwind label %1234

1218:                                             ; preds = %1210
  %1219 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %113, i32 0, i32 0
  %1220 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1219, i32 0, i32 0
  store ptr %1217, ptr %1220, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #7
  %1221 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %1222 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %114, i32 0, i32 0
  %1223 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1222, i32 0, i32 0
  store ptr %1221, ptr %1223, align 8
  %1224 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %113, ptr noundef nonnull align 8 dereferenceable(8) %114) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #7
  br i1 %1224, label %1225, label %1252

1225:                                             ; preds = %1218
  %1226 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1227 unwind label %1234

1227:                                             ; preds = %1225
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1228 unwind label %1238

1228:                                             ; preds = %1227
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %115, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef @.str.346)
          to label %1229 unwind label %1242

1229:                                             ; preds = %1228
  %1230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1226, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %1231 unwind label %1246

1231:                                             ; preds = %1229
  %1232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1230, ptr noundef @.str.283)
          to label %1233 unwind label %1246

1233:                                             ; preds = %1231
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1234:                                             ; preds = %1252, %1225, %1210
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %11, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %12, align 4
  br label %1266

1238:                                             ; preds = %1227
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %11, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %12, align 4
  br label %1251

1242:                                             ; preds = %1228
  %1243 = landingpad { ptr, i32 }
          cleanup
  %1244 = extractvalue { ptr, i32 } %1243, 0
  store ptr %1244, ptr %11, align 8
  %1245 = extractvalue { ptr, i32 } %1243, 1
  store i32 %1245, ptr %12, align 4
  br label %1250

1246:                                             ; preds = %1231, %1229
  %1247 = landingpad { ptr, i32 }
          cleanup
  %1248 = extractvalue { ptr, i32 } %1247, 0
  store ptr %1248, ptr %11, align 8
  %1249 = extractvalue { ptr, i32 } %1247, 1
  store i32 %1249, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %1250

1250:                                             ; preds = %1246, %1242
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %1251

1251:                                             ; preds = %1250, %1238
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  br label %1266

1252:                                             ; preds = %1218
  %1253 = load ptr, ptr %7, align 8, !tbaa !5
  %1254 = getelementptr inbounds %"struct.masm::Node", ptr %1253, i32 0, i32 0
  %1255 = load i32, ptr %1254, align 8, !tbaa !9
  %1256 = sub nsw i32 %1255, 2
  %1257 = load ptr, ptr %7, align 8, !tbaa !5
  %1258 = getelementptr inbounds %"struct.masm::Node", ptr %1257, i32 0, i32 0
  store i32 %1256, ptr %1258, align 8, !tbaa !9
  %1259 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %113) #7
  %1260 = getelementptr inbounds %"struct.std::pair.151", ptr %1259, i32 0, i32 1
  %1261 = getelementptr inbounds %"struct.masm::Variable", ptr %1260, i32 0, i32 1
  %1262 = load ptr, ptr %111, align 8, !tbaa !5
  %1263 = getelementptr inbounds %"struct.masm::NodeMov", ptr %1262, i32 0, i32 2
  %1264 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %1263, ptr noundef nonnull align 8 dereferenceable(32) %1261)
          to label %1265 unwind label %1234

1265:                                             ; preds = %1252
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  br label %1469

1266:                                             ; preds = %1251, %1234
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #7
  br label %1472

1267:                                             ; preds = %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #7
  %1268 = load ptr, ptr %7, align 8, !tbaa !5
  %1269 = getelementptr inbounds %"struct.masm::Node", ptr %1268, i32 0, i32 1
  %1270 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1269) #7
  store ptr %1270, ptr %117, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  %1271 = load ptr, ptr %117, align 8, !tbaa !5
  %1272 = getelementptr inbounds %"struct.masm::NodeName", ptr %1271, i32 0, i32 0
  %1273 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1272)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %1273)
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  %1274 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1275 unwind label %1290

1275:                                             ; preds = %1267
  %1276 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %119, i32 0, i32 0
  %1277 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1276, i32 0, i32 0
  store ptr %1274, ptr %1277, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #7
  %1278 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  %1279 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %120, i32 0, i32 0
  %1280 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %1279, i32 0, i32 0
  store ptr %1278, ptr %1280, align 8
  %1281 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef nonnull align 8 dereferenceable(8) %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  br i1 %1281, label %1282, label %1307

1282:                                             ; preds = %1275
  %1283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1284 unwind label %1294

1284:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef @.str.353, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %1285 unwind label %1298

1285:                                             ; preds = %1284
  %1286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1283, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %1287 unwind label %1302

1287:                                             ; preds = %1285
  %1288 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1286, ptr noundef @.str.283)
          to label %1289 unwind label %1302

1289:                                             ; preds = %1287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1290:                                             ; preds = %1267
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %11, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  br label %1308

1294:                                             ; preds = %1282
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %11, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %12, align 4
  br label %1308

1298:                                             ; preds = %1284
  %1299 = landingpad { ptr, i32 }
          cleanup
  %1300 = extractvalue { ptr, i32 } %1299, 0
  store ptr %1300, ptr %11, align 8
  %1301 = extractvalue { ptr, i32 } %1299, 1
  store i32 %1301, ptr %12, align 4
  br label %1306

1302:                                             ; preds = %1287, %1285
  %1303 = landingpad { ptr, i32 }
          cleanup
  %1304 = extractvalue { ptr, i32 } %1303, 0
  store ptr %1304, ptr %11, align 8
  %1305 = extractvalue { ptr, i32 } %1303, 1
  store i32 %1305, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  br label %1306

1306:                                             ; preds = %1302, %1298
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #7
  br label %1308

1307:                                             ; preds = %1275
  store i32 4, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  br label %1469

1308:                                             ; preds = %1306, %1294, %1290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #7
  br label %1472

1309:                                             ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #7
  %1310 = load ptr, ptr %7, align 8, !tbaa !5
  %1311 = getelementptr inbounds %"struct.masm::Node", ptr %1310, i32 0, i32 1
  %1312 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1311) #7
  store ptr %1312, ptr %122, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #7
  %1313 = load ptr, ptr %122, align 8, !tbaa !5
  %1314 = getelementptr inbounds %"struct.masm::NodeCmpxchg", ptr %1313, i32 0, i32 2
  %1315 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1314)
  %1316 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %1315)
  %1317 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %123, i32 0, i32 0
  %1318 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1317, i32 0, i32 0
  store ptr %1316, ptr %1318, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #7
  %1319 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %1320 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %124, i32 0, i32 0
  %1321 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1320, i32 0, i32 0
  store ptr %1319, ptr %1321, align 8
  %1322 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull align 8 dereferenceable(8) %124) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  br i1 %1322, label %1323, label %1336

1323:                                             ; preds = %1309
  %1324 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #7
  %1325 = load ptr, ptr %122, align 8, !tbaa !5
  %1326 = getelementptr inbounds %"struct.masm::NodeCmpxchg", ptr %1325, i32 0, i32 2
  %1327 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1326)
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef @.str.354, ptr noundef nonnull align 8 dereferenceable(32) %1327)
  %1328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1324, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1329 unwind label %1332

1329:                                             ; preds = %1323
  %1330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1328, ptr noundef @.str.283)
          to label %1331 unwind label %1332

1331:                                             ; preds = %1329
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1332:                                             ; preds = %1329, %1323
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %11, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  br label %1472

1336:                                             ; preds = %1309
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  br label %1469

1337:                                             ; preds = %148, %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #7
  %1338 = load ptr, ptr %7, align 8, !tbaa !5
  %1339 = getelementptr inbounds %"struct.masm::Node", ptr %1338, i32 0, i32 1
  %1340 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1339) #7
  store ptr %1340, ptr %126, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #7
  %1341 = load ptr, ptr %126, align 8, !tbaa !5
  %1342 = getelementptr inbounds %"struct.masm::NodeName", ptr %1341, i32 0, i32 0
  %1343 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1342)
  %1344 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %1343)
  %1345 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %127, i32 0, i32 0
  %1346 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1345, i32 0, i32 0
  store ptr %1344, ptr %1346, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #7
  %1347 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  %1348 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %128, i32 0, i32 0
  %1349 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1348, i32 0, i32 0
  store ptr %1347, ptr %1349, align 8
  %1350 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef nonnull align 8 dereferenceable(8) %128) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #7
  br i1 %1350, label %1351, label %1364

1351:                                             ; preds = %1337
  %1352 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
  call void @llvm.lifetime.start.p0(i64 32, ptr %129) #7
  %1353 = load ptr, ptr %126, align 8, !tbaa !5
  %1354 = getelementptr inbounds %"struct.masm::NodeName", ptr %1353, i32 0, i32 0
  %1355 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1354)
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef @.str.354, ptr noundef nonnull align 8 dereferenceable(32) %1355)
  %1356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1352, ptr noundef nonnull align 8 dereferenceable(32) %129)
          to label %1357 unwind label %1360

1357:                                             ; preds = %1351
  %1358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1356, ptr noundef @.str.283)
          to label %1359 unwind label %1360

1359:                                             ; preds = %1357
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1360:                                             ; preds = %1357, %1351
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %11, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  br label %1472

1364:                                             ; preds = %1337
  store i32 4, ptr %6, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  br label %1469

1365:                                             ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #7
  %1366 = load ptr, ptr %7, align 8, !tbaa !5
  %1367 = getelementptr inbounds %"struct.masm::Node", ptr %1366, i32 0, i32 1
  %1368 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1367) #7
  store ptr %1368, ptr %130, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #7
  %1369 = load ptr, ptr %130, align 8, !tbaa !5
  %1370 = getelementptr inbounds %"struct.masm::NodeIntr", ptr %1369, i32 0, i32 0
  %1371 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJSt6vectorIN4masm5TokenESaIS8_EES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1370)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(32) %1371)
  call void @llvm.lifetime.start.p0(i64 8, ptr %132) #7
  %1372 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1373 unwind label %1388

1373:                                             ; preds = %1365
  %1374 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %132, i32 0, i32 0
  %1375 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1374, i32 0, i32 0
  store ptr %1372, ptr %1375, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %133) #7
  %1376 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1)) #7
  %1377 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %133, i32 0, i32 0
  %1378 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1377, i32 0, i32 0
  store ptr %1376, ptr %1378, align 8
  %1379 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef nonnull align 8 dereferenceable(8) %133) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #7
  br i1 %1379, label %1380, label %1405

1380:                                             ; preds = %1373
  %1381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1382 unwind label %1392

1382:                                             ; preds = %1380
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %134, ptr noundef @.str.355, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1383 unwind label %1396

1383:                                             ; preds = %1382
  %1384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1381, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %1385 unwind label %1400

1385:                                             ; preds = %1383
  %1386 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1384, ptr noundef @.str.283)
          to label %1387 unwind label %1400

1387:                                             ; preds = %1385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  call void @exit(i32 noundef 1) #8
  unreachable

1388:                                             ; preds = %1365
  %1389 = landingpad { ptr, i32 }
          cleanup
  %1390 = extractvalue { ptr, i32 } %1389, 0
  store ptr %1390, ptr %11, align 8
  %1391 = extractvalue { ptr, i32 } %1389, 1
  store i32 %1391, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %132) #7
  br label %1423

1392:                                             ; preds = %1380
  %1393 = landingpad { ptr, i32 }
          cleanup
  %1394 = extractvalue { ptr, i32 } %1393, 0
  store ptr %1394, ptr %11, align 8
  %1395 = extractvalue { ptr, i32 } %1393, 1
  store i32 %1395, ptr %12, align 4
  br label %1423

1396:                                             ; preds = %1382
  %1397 = landingpad { ptr, i32 }
          cleanup
  %1398 = extractvalue { ptr, i32 } %1397, 0
  store ptr %1398, ptr %11, align 8
  %1399 = extractvalue { ptr, i32 } %1397, 1
  store i32 %1399, ptr %12, align 4
  br label %1404

1400:                                             ; preds = %1385, %1383
  %1401 = landingpad { ptr, i32 }
          cleanup
  %1402 = extractvalue { ptr, i32 } %1401, 0
  store ptr %1402, ptr %11, align 8
  %1403 = extractvalue { ptr, i32 } %1401, 1
  store i32 %1403, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1404

1404:                                             ; preds = %1400, %1396
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %1423

1405:                                             ; preds = %1373
  %1406 = load ptr, ptr %7, align 8, !tbaa !5
  %1407 = getelementptr inbounds %"struct.masm::Node", ptr %1406, i32 0, i32 0
  store i32 313, ptr %1407, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #7
  %1408 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (%"struct.masm::SymbolTable", ptr @_ZN4masmL8symtableE, i32 0, i32 1), ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1409 unwind label %1419

1409:                                             ; preds = %1405
  %1410 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.149", ptr %135, i32 0, i32 0
  %1411 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.150", ptr %1410, i32 0, i32 0
  store ptr %1408, ptr %1411, align 8
  %1412 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %135) #7
  %1413 = getelementptr inbounds %"struct.std::pair.151", ptr %1412, i32 0, i32 1
  %1414 = getelementptr inbounds %"struct.masm::Variable", ptr %1413, i32 0, i32 1
  %1415 = load ptr, ptr %130, align 8, !tbaa !5
  %1416 = getelementptr inbounds %"struct.masm::NodeIntr", ptr %1415, i32 0, i32 0
  %1417 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJSt6vectorIN4masm5TokenESaIS2_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEaSIRSA_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS4_SA_EE4typeEE18is_constructible_vISJ_SG_E15is_assignable_vIRSJ_SG_EERSB_E4typeESH_(ptr noundef nonnull align 8 dereferenceable(33) %1416, ptr noundef nonnull align 8 dereferenceable(32) %1414)
          to label %1418 unwind label %1419

1418:                                             ; preds = %1409
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #7
  store i32 4, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %1469

1419:                                             ; preds = %1409, %1405
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %11, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #7
  br label %1423

1423:                                             ; preds = %1419, %1404, %1392, %1388
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %1472

1424:                                             ; preds = %148
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #7
  %1425 = load ptr, ptr %7, align 8, !tbaa !5
  %1426 = getelementptr inbounds %"struct.masm::Node", ptr %1425, i32 0, i32 1
  %1427 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %1426) #7
  store ptr %1427, ptr %136, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %137) #7
  %1428 = load ptr, ptr %136, align 8, !tbaa !5
  %1429 = getelementptr inbounds %"struct.masm::NodeIntr", ptr %1428, i32 0, i32 0
  %1430 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJS4_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %1429)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %137, ptr noundef nonnull align 8 dereferenceable(24) %1430)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr noundef nonnull align 8 dereferenceable(24) %137)
          to label %1431 unwind label %1442

1431:                                             ; preds = %1424
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef %138)
          to label %1432 unwind label %1446

1432:                                             ; preds = %1431
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %139) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8 %139, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %1433 unwind label %1450

1433:                                             ; preds = %1432
  %1434 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %139) #7
  br i1 %1434, label %1458, label %1435

1435:                                             ; preds = %1433
  %1436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.280)
          to label %1437 unwind label %1454

1437:                                             ; preds = %1435
  %1438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1436, ptr noundef @.str.351)
          to label %1439 unwind label %1454

1439:                                             ; preds = %1437
  %1440 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1438, ptr noundef @.str.283)
          to label %1441 unwind label %1454

1441:                                             ; preds = %1439
  call void @exit(i32 noundef 1) #8
  unreachable

1442:                                             ; preds = %1424
  %1443 = landingpad { ptr, i32 }
          cleanup
  %1444 = extractvalue { ptr, i32 } %1443, 0
  store ptr %1444, ptr %11, align 8
  %1445 = extractvalue { ptr, i32 } %1443, 1
  store i32 %1445, ptr %12, align 4
  br label %1468

1446:                                             ; preds = %1431
  %1447 = landingpad { ptr, i32 }
          cleanup
  %1448 = extractvalue { ptr, i32 } %1447, 0
  store ptr %1448, ptr %11, align 8
  %1449 = extractvalue { ptr, i32 } %1447, 1
  store i32 %1449, ptr %12, align 4
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #7
  br label %1468

1450:                                             ; preds = %1432
  %1451 = landingpad { ptr, i32 }
          cleanup
  %1452 = extractvalue { ptr, i32 } %1451, 0
  store ptr %1452, ptr %11, align 8
  %1453 = extractvalue { ptr, i32 } %1451, 1
  store i32 %1453, ptr %12, align 4
  br label %1467

1454:                                             ; preds = %1462, %1458, %1439, %1437, %1435
  %1455 = landingpad { ptr, i32 }
          cleanup
  %1456 = extractvalue { ptr, i32 } %1455, 0
  store ptr %1456, ptr %11, align 8
  %1457 = extractvalue { ptr, i32 } %1455, 1
  store i32 %1457, ptr %12, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %139) #7
  br label %1467

1458:                                             ; preds = %1433
  %1459 = load ptr, ptr %7, align 8, !tbaa !5
  %1460 = getelementptr inbounds %"struct.masm::Node", ptr %1459, i32 0, i32 0
  store i32 313, ptr %1460, align 8, !tbaa !9
  %1461 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %139)
          to label %1462 unwind label %1454

1462:                                             ; preds = %1458
  %1463 = load ptr, ptr %136, align 8, !tbaa !5
  %1464 = getelementptr inbounds %"struct.masm::NodeIntr", ptr %1463, i32 0, i32 0
  %1465 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJSt6vectorIN4masm5TokenESaIS2_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEaSIRSA_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS4_SA_EE4typeEE18is_constructible_vISJ_SG_E15is_assignable_vIRSJ_SG_EERSB_E4typeESH_(ptr noundef nonnull align 8 dereferenceable(33) %1464, ptr noundef nonnull align 8 dereferenceable(32) %1461)
          to label %1466 unwind label %1454

1466:                                             ; preds = %1462
  store i32 4, ptr %6, align 4
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %139) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %139) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1469

1467:                                             ; preds = %1454, %1450
  call void @llvm.lifetime.end.p0(i64 40, ptr %139) #7
  br label %1468

1468:                                             ; preds = %1467, %1446, %1442
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1472

1469:                                             ; preds = %1466, %1418, %1364, %1336, %1307, %1265, %1208, %1151, %1078, %1012, %915, %827, %770, %713, %601, %552, %503, %454, %398, %349, %301, %253, %148
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #7
  br label %1470

1470:                                             ; preds = %1469
  %1471 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  br label %145

1472:                                             ; preds = %1468, %1423, %1360, %1332, %1308, %1266, %1209, %1152, %1079, %1013, %916, %836, %771, %714, %603, %554, %505, %456, %402, %351, %302, %254
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %3) #7
  br label %1474

1473:                                             ; preds = %147
  ret void

1474:                                             ; preds = %1472
  %1475 = load ptr, ptr %11, align 8
  %1476 = load i32, ptr %12, align 4
  %1477 = insertvalue { ptr, i32 } poison, ptr %1475, 0
  %1478 = insertvalue { ptr, i32 } %1477, i32 %1476, 1
  resume { ptr, i32 } %1478
}

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN4masm4NodeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

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

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

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

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

declare noundef zeroext i1 @_ZN4masm4Expr8was_addrEv(ptr noundef nonnull align 8 dereferenceable(201)) #5

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"_ZTSN4masm4NodeE", !11, i64 0, !12, i64 8, !18, i64 16, !21, i64 32}
!11 = !{!"_ZTSN4masm8NodeKindE", !7, i64 0}
!12 = !{!"_ZTSSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE", !13, i64 0}
!13 = !{!"_ZTSSt15__uniq_ptr_dataIN4masm4BaseESt14default_deleteIS1_ELb1ELb1EE", !14, i64 0}
!14 = !{!"_ZTSSt15__uniq_ptr_implIN4masm4BaseESt14default_deleteIS1_EE", !15, i64 0}
!15 = !{!"_ZTSSt5tupleIJPN4masm4BaseESt14default_deleteIS1_EEE", !16, i64 0}
!16 = !{!"_ZTSSt11_Tuple_implILm0EJPN4masm4BaseESt14default_deleteIS1_EEE", !17, i64 0}
!17 = !{!"_ZTSSt10_Head_baseILm0EPN4masm4BaseELb0EE", !6, i64 0}
!18 = !{!"_ZTSSt10shared_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !19, i64 0}
!19 = !{!"_ZTSSt12__shared_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !20, i64 8}
!20 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = !{!23, !32, i64 48}
!23 = !{!"_ZTSN4masm7NodeMovE", !24, i64 0, !25, i64 8, !32, i64 48, !32, i64 49}
!24 = !{!"_ZTSN4masm8RegisterE", !7, i64 0}
!25 = !{!"_ZTSSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEE", !26, i64 0}
!26 = !{!"_ZTSNSt8__detail9__variant13_Variant_baseIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !27, i64 0}
!27 = !{!"_ZTSNSt8__detail9__variant17_Move_assign_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !28, i64 0}
!28 = !{!"_ZTSNSt8__detail9__variant17_Copy_assign_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !29, i64 0}
!29 = !{!"_ZTSNSt8__detail9__variant15_Move_ctor_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !30, i64 0}
!30 = !{!"_ZTSNSt8__detail9__variant15_Copy_ctor_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !31, i64 0}
!31 = !{!"_ZTSNSt8__detail9__variant16_Variant_storageILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !7, i64 0, !7, i64 32}
!32 = !{!"bool", !7, i64 0}
!33 = !{!34, !32, i64 48}
!34 = !{!"_ZTSN4masm9NodeStackE", !24, i64 0, !25, i64 8, !32, i64 48}
!35 = !{!36, !44, i64 124}
!36 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEE", !37, i64 0, !39, i64 32}
!37 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !38, i64 0, !21, i64 8, !7, i64 16}
!38 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!39 = !{!"_ZTSN4masm8VariableE", !37, i64 0, !37, i64 32, !40, i64 64, !32, i64 88, !44, i64 92, !21, i64 96, !21, i64 104, !18, i64 112}
!40 = !{!"_ZTSSt6vectorIN4masm5TokenESaIS1_EE", !41, i64 0}
!41 = !{!"_ZTSSt12_Vector_baseIN4masm5TokenESaIS1_EE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIN4masm5TokenESaIS1_EE12_Vector_implE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseIN4masm5TokenESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!44 = !{!"_ZTSN4masm8DataTypeE", !7, i64 0}
!45 = !{!23, !32, i64 49}


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

%"class.std::unordered_set" = type { %"class.std::_Hashtable.34" }
%"class.std::_Hashtable.34" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"struct.masm::SymbolTable" = type { %"class.std::unordered_map.92", %"class.std::unordered_map.92" }
%"class.std::unordered_map.92" = type { %"class.std::_Hashtable.93" }
%"class.std::_Hashtable.93" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.masm::Expr" = type <{ ptr, %"class.std::vector.106", %"class.std::stack", %"class.std::stack.114", ptr, i8, [7 x i8] }>
%"class.std::vector.106" = type { %"struct.std::_Vector_base.107" }
%"struct.std::_Vector_base.107" = type { %"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl" }
%"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl" = type { %"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl_data" }
%"struct.std::_Vector_base<masm::Token, std::allocator<masm::Token>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::stack" = type { %"class.std::deque" }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl" }
%"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl" = type { %"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl_data" }
%"struct.std::_Deque_base<double, std::allocator<double>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::stack.114" = type { %"class.std::deque.115" }
%"class.std::deque.115" = type { %"class.std::_Deque_base.116" }
%"class.std::_Deque_base.116" = type { %"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl" }
%"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl" = type { %"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl_data" }
%"struct.std::_Deque_base<masm::TokenType, std::allocator<masm::TokenType>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.120", %"struct.std::_Deque_iterator.120" }
%"struct.std::_Deque_iterator.120" = type { ptr, ptr, ptr, ptr }
%"class.std::vector.126" = type { %"struct.std::_Vector_base.127" }
%"struct.std::_Vector_base.127" = type { %"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl" }
%"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl" = type { %"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl_data" }
%"struct.std::_Vector_base<masm::Node, std::allocator<masm::Node>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::optional.296" = type { %"struct.std::_Optional_base.297" }
%"struct.std::_Optional_base.297" = type { %"struct.std::_Optional_payload.299" }
%"struct.std::_Optional_payload.299" = type { %"struct.std::_Optional_payload.base.303", [7 x i8] }
%"struct.std::_Optional_payload.base.303" = type { %"struct.std::_Optional_payload_base.base.302" }
%"struct.std::_Optional_payload_base.base.302" = type <{ %"union.std::_Optional_payload_base<std::__cxx11::basic_string<char>>::_Storage", i8 }>
%"union.std::_Optional_payload_base<std::__cxx11::basic_string<char>>::_Storage" = type { %"class.std::__cxx11::basic_string" }
%"class.__gnu_cxx::__normal_iterator.347" = type { ptr }
%"struct.std::__detail::_Node_iterator.149" = type { %"struct.std::__detail::_Node_iterator_base.150" }
%"struct.std::__detail::_Node_iterator_base.150" = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }

@_ZN4masmL8lbl_listB5cxx11E = external hidden global %"class.std::unordered_set", align 8
@_ZN4masmL8symtableE = external hidden global %"struct.masm::SymbolTable", align 8
@_ZN4masmL9evaluatorE = external hidden global %"class.masm::Expr", align 8
@_ZN4masmL5nodesE = external hidden global %"class.std::vector.126", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.280 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [30 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

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

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

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

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

declare void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201), ptr noundef) local_unnamed_addr #5

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

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

declare void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::optional.296") align 8, ptr noundef nonnull align 8 dereferenceable(201), i1 noundef zeroext) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4masm6Parser13analyse_nodesEv(ptr nocapture noundef nonnull readnone align 8 dereferenceable(313) %0) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.__gnu_cxx::__normal_iterator.347", align 8
  %3 = alloca %"class.__gnu_cxx::__normal_iterator.347", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %6 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %7 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %8 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %14 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::vector.106", align 8
  %18 = alloca %"class.std::vector.106", align 8
  %19 = alloca %"class.std::optional.296", align 8
  %20 = alloca %"class.std::vector.106", align 8
  %21 = alloca %"class.std::vector.106", align 8
  %22 = alloca %"class.std::optional.296", align 8
  %23 = alloca %"class.std::vector.106", align 8
  %24 = alloca %"class.std::vector.106", align 8
  %25 = alloca %"class.std::optional.296", align 8
  %26 = alloca %"class.std::vector.106", align 8
  %27 = alloca %"class.std::vector.106", align 8
  %28 = alloca %"class.std::optional.296", align 8
  %29 = alloca %"class.std::vector.106", align 8
  %30 = alloca %"class.std::vector.106", align 8
  %31 = alloca %"class.std::optional.296", align 8
  %32 = alloca %"class.std::vector.106", align 8
  %33 = alloca %"class.std::vector.106", align 8
  %34 = alloca %"class.std::optional.296", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %37 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %38 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %39 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %40 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %41 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %42 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %47 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %52 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %57 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %58 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %59 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %65 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %66 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %67 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %68 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %69 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %74 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %75 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %76 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %79 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %80 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %81 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %86 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %91 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %96 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %99 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %102 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %106 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"struct.std::__detail::_Node_iterator.149", align 8
  %109 = alloca %"class.std::vector.106", align 8
  %110 = alloca %"class.std::vector.106", align 8
  %111 = alloca %"class.std::optional.296", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #7
  %112 = tail call ptr @_ZNSt6vectorIN4masm4NodeESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN4masmL5nodesE) #7
  store ptr %112, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7
  %113 = tail call ptr @_ZNSt6vectorIN4masm4NodeESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN4masmL5nodesE) #7
  store ptr %113, ptr %3, align 8
  %114 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4masm4NodeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  br i1 %114, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %912, %1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #7
  ret void

.lr.ph:                                           ; preds = %1, %912
  %115 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #7
  %116 = load i32, ptr %115, align 8, !tbaa !5
  switch i32 %116, label %912 [
    i32 6, label %117
    i32 10, label %117
    i32 14, label %117
    i32 18, label %117
    i32 22, label %117
    i32 52, label %117
    i32 53, label %117
    i32 54, label %117
    i32 55, label %117
    i32 56, label %117
    i32 57, label %117
    i32 58, label %117
    i32 59, label %117
    i32 320, label %176
    i32 222, label %176
    i32 226, label %176
    i32 230, label %176
    i32 234, label %176
    i32 238, label %176
    i32 242, label %176
    i32 246, label %176
    i32 250, label %176
    i32 224, label %176
    i32 228, label %176
    i32 232, label %176
    i32 236, label %176
    i32 240, label %176
    i32 244, label %176
    i32 248, label %176
    i32 252, label %176
    i32 7, label %208
    i32 11, label %208
    i32 15, label %208
    i32 19, label %208
    i32 23, label %208
    i32 27, label %208
    i32 31, label %208
    i32 35, label %208
    i32 39, label %208
    i32 43, label %208
    i32 199, label %240
    i32 203, label %240
    i32 207, label %240
    i32 211, label %240
    i32 215, label %240
    i32 219, label %240
    i32 63, label %273
    i32 131, label %273
    i32 138, label %306
    i32 142, label %306
    i32 146, label %306
    i32 67, label %306
    i32 71, label %306
    i32 75, label %306
    i32 79, label %306
    i32 83, label %306
    i32 87, label %306
    i32 91, label %306
    i32 95, label %306
    i32 99, label %306
    i32 103, label %306
    i32 107, label %306
    i32 111, label %306
    i32 115, label %306
    i32 119, label %306
    i32 123, label %306
    i32 171, label %338
    i32 175, label %338
    i32 179, label %338
    i32 183, label %338
    i32 189, label %370
    i32 188, label %402
    i32 192, label %402
    i32 26, label %463
    i32 30, label %463
    i32 34, label %463
    i32 38, label %463
    i32 42, label %463
    i32 198, label %497
    i32 202, label %497
    i32 206, label %497
    i32 210, label %497
    i32 214, label %497
    i32 218, label %537
    i32 62, label %583
    i32 130, label %583
    i32 66, label %640
    i32 70, label %640
    i32 74, label %640
    i32 78, label %640
    i32 82, label %640
    i32 86, label %640
    i32 90, label %640
    i32 94, label %640
    i32 98, label %640
    i32 102, label %640
    i32 106, label %640
    i32 110, label %640
    i32 114, label %640
    i32 118, label %640
    i32 122, label %640
    i32 170, label %677
    i32 174, label %677
    i32 178, label %720
    i32 182, label %720
    i32 137, label %754
    i32 141, label %754
    i32 145, label %754
    i32 147, label %788
    i32 296, label %788
    i32 297, label %788
    i32 298, label %788
    i32 299, label %788
    i32 300, label %788
    i32 301, label %788
    i32 302, label %788
    i32 303, label %788
    i32 304, label %788
    i32 305, label %788
    i32 306, label %788
    i32 307, label %788
    i32 308, label %788
    i32 309, label %788
    i32 310, label %788
    i32 311, label %788
    i32 316, label %788
    i32 312, label %788
    i32 149, label %788
    i32 253, label %815
    i32 259, label %832
    i32 261, label %832
    i32 315, label %848
    i32 314, label %883
  ]

117:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %118 = getelementptr inbounds i8, ptr %115, i64 8
  %119 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %118) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  %120 = getelementptr inbounds i8, ptr %119, i64 8
  %121 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %120)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %121)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %122 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %123 unwind label %140

123:                                              ; preds = %117
  store ptr %122, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  %124 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %124, ptr %6, align 8
  %125 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br i1 %125, label %126, label %174

126:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  %127 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %128 unwind label %142

128:                                              ; preds = %126
  store ptr %127, ptr %7, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  %129 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %129, ptr %8, align 8
  %130 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br i1 %130, label %131, label %154

131:                                              ; preds = %128
  %132 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %133 unwind label %144

133:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %134 unwind label %146

134:                                              ; preds = %133
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.346)
          to label %135 unwind label %148

135:                                              ; preds = %134
  %136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %137 unwind label %150

137:                                              ; preds = %135
  %138 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef nonnull @.str.283)
          to label %139 unwind label %150

139:                                              ; preds = %137
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @exit(i32 noundef 1) #8
  unreachable

140:                                              ; preds = %117
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br label %175

142:                                              ; preds = %126
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br label %175

144:                                              ; preds = %161, %159, %157, %131
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %175

146:                                              ; preds = %133
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %153

148:                                              ; preds = %134
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %152

150:                                              ; preds = %137, %135
  %151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %152

152:                                              ; preds = %150, %148
  %.pn236 = phi { ptr, i32 } [ %151, %150 ], [ %149, %148 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %153

153:                                              ; preds = %152, %146
  %.pn236.pn = phi { ptr, i32 } [ %.pn236, %152 ], [ %147, %146 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  br label %175

154:                                              ; preds = %128
  %155 = load i32, ptr %115, align 8, !tbaa !5
  %156 = add i32 %155, -52
  %or.cond = icmp ult i32 %156, 8
  br i1 %or.cond, label %157, label %164

157:                                              ; preds = %154
  %158 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %159 unwind label %144

159:                                              ; preds = %157
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef nonnull @.str.350)
          to label %161 unwind label %144

161:                                              ; preds = %159
  %162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull @.str.283)
          to label %163 unwind label %144

163:                                              ; preds = %161
  call void @exit(i32 noundef 1) #8
  unreachable

164:                                              ; preds = %154
  %165 = add nsw i32 %155, -2
  store i32 %165, ptr %115, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %166 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %167 unwind label %172

167:                                              ; preds = %164
  store ptr %166, ptr %11, align 8
  %168 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  %169 = getelementptr inbounds i8, ptr %168, i64 64
  %170 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %120, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %171 unwind label %172

171:                                              ; preds = %167
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %174

172:                                              ; preds = %167, %164
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %175

174:                                              ; preds = %171, %123
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br label %912

175:                                              ; preds = %172, %153, %144, %142, %140
  %.pn236.pn.pn = phi { ptr, i32 } [ %.pn236.pn, %153 ], [ %145, %144 ], [ %173, %172 ], [ %143, %142 ], [ %141, %140 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br label %915

176:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %177 = getelementptr inbounds i8, ptr %115, i64 8
  %178 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %177) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  %179 = getelementptr inbounds i8, ptr %178, i64 8
  %180 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %179)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %180)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %181 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %182 unwind label %194

182:                                              ; preds = %176
  store ptr %181, ptr %13, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %183 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %183, ptr %14, align 8
  %184 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br i1 %184, label %185, label %206

185:                                              ; preds = %182
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %187 unwind label %196

187:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %188 unwind label %198

188:                                              ; preds = %187
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.346)
          to label %189 unwind label %200

189:                                              ; preds = %188
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %191 unwind label %202

191:                                              ; preds = %189
  %192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %190, ptr noundef nonnull @.str.283)
          to label %193 unwind label %202

193:                                              ; preds = %191
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @exit(i32 noundef 1) #8
  unreachable

194:                                              ; preds = %176
  %195 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %207

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

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

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

202:                                              ; preds = %191, %189
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %204

204:                                              ; preds = %202, %200
  %.pn232 = phi { ptr, i32 } [ %203, %202 ], [ %201, %200 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %205

205:                                              ; preds = %204, %198
  %.pn232.pn = phi { ptr, i32 } [ %.pn232, %204 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %207

206:                                              ; preds = %182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  br label %912

207:                                              ; preds = %205, %196, %194
  %.pn232.pn.pn = phi { ptr, i32 } [ %.pn232.pn, %205 ], [ %197, %196 ], [ %195, %194 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  br label %915

208:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %209 = getelementptr inbounds i8, ptr %115, i64 8
  %210 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %209) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #7
  %211 = getelementptr inbounds i8, ptr %210, i64 8
  %212 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %211)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %212)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %213 unwind label %224

213:                                              ; preds = %208
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %18)
          to label %214 unwind label %226

214:                                              ; preds = %213
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %19) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %19, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %215 unwind label %228

215:                                              ; preds = %214
  %216 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  br i1 %216, label %231, label %217

217:                                              ; preds = %215
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %219 unwind label %.loopexit.split-lp303

219:                                              ; preds = %217
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %218, ptr noundef nonnull @.str.351)
          to label %221 unwind label %.loopexit.split-lp303

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull @.str.283)
          to label %223 unwind label %.loopexit.split-lp303

223:                                              ; preds = %221
  call void @exit(i32 noundef 1) #8
  unreachable

224:                                              ; preds = %208
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %239

226:                                              ; preds = %213
  %227 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #7
  br label %239

228:                                              ; preds = %214
  %229 = landingpad { ptr, i32 }
          cleanup
  br label %238

.loopexit302:                                     ; preds = %231, %235
  %lpad.loopexit304 = landingpad { ptr, i32 }
          cleanup
  br label %230

.loopexit.split-lp303:                            ; preds = %217, %219, %221
  %lpad.loopexit.split-lp305 = landingpad { ptr, i32 }
          cleanup
  br label %230

230:                                              ; preds = %.loopexit.split-lp303, %.loopexit302
  %lpad.phi306 = phi { ptr, i32 } [ %lpad.loopexit304, %.loopexit302 ], [ %lpad.loopexit.split-lp305, %.loopexit.split-lp303 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  br label %238

231:                                              ; preds = %215
  %232 = load i32, ptr %115, align 8, !tbaa !5
  %233 = add nsw i32 %232, -3
  store i32 %233, ptr %115, align 8, !tbaa !5
  %234 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %19)
          to label %235 unwind label %.loopexit302

235:                                              ; preds = %231
  %236 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %211, ptr noundef nonnull align 8 dereferenceable(32) %234)
          to label %237 unwind label %.loopexit302

237:                                              ; preds = %235
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %19) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %912

238:                                              ; preds = %230, %228
  %.pn229 = phi { ptr, i32 } [ %lpad.phi306, %230 ], [ %229, %228 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %19) #7
  br label %239

239:                                              ; preds = %238, %226, %224
  %.pn229.pn = phi { ptr, i32 } [ %.pn229, %238 ], [ %227, %226 ], [ %225, %224 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  br label %915

240:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %241 = getelementptr inbounds i8, ptr %115, i64 8
  %242 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %241) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #7
  %243 = getelementptr inbounds i8, ptr %242, i64 8
  %244 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %243)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %244)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(24) %20)
          to label %245 unwind label %256

245:                                              ; preds = %240
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %21)
          to label %246 unwind label %258

246:                                              ; preds = %245
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %22, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %247 unwind label %260

247:                                              ; preds = %246
  %248 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  br i1 %248, label %263, label %249

249:                                              ; preds = %247
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %251 unwind label %.loopexit.split-lp298

251:                                              ; preds = %249
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef nonnull @.str.351)
          to label %253 unwind label %.loopexit.split-lp298

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %252, ptr noundef nonnull @.str.283)
          to label %255 unwind label %.loopexit.split-lp298

255:                                              ; preds = %253
  call void @exit(i32 noundef 1) #8
  unreachable

256:                                              ; preds = %240
  %257 = landingpad { ptr, i32 }
          cleanup
  br label %272

258:                                              ; preds = %245
  %259 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  br label %272

260:                                              ; preds = %246
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %271

.loopexit297:                                     ; preds = %263, %267
  %lpad.loopexit299 = landingpad { ptr, i32 }
          cleanup
  br label %262

.loopexit.split-lp298:                            ; preds = %249, %251, %253
  %lpad.loopexit.split-lp300 = landingpad { ptr, i32 }
          cleanup
  br label %262

262:                                              ; preds = %.loopexit.split-lp298, %.loopexit297
  %lpad.phi301 = phi { ptr, i32 } [ %lpad.loopexit299, %.loopexit297 ], [ %lpad.loopexit.split-lp300, %.loopexit.split-lp298 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  br label %271

263:                                              ; preds = %247
  %264 = load i32, ptr %115, align 8, !tbaa !5
  %265 = add nsw i32 %264, -3
  store i32 %265, ptr %115, align 8, !tbaa !5
  %266 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %267 unwind label %.loopexit297

267:                                              ; preds = %263
  %268 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %243, ptr noundef nonnull align 8 dereferenceable(32) %266)
          to label %269 unwind label %.loopexit297

269:                                              ; preds = %267
  %270 = getelementptr inbounds i8, ptr %242, i64 48
  store i8 1, ptr %270, align 8, !tbaa !21
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #7
  br label %912

271:                                              ; preds = %262, %260
  %.pn226 = phi { ptr, i32 } [ %lpad.phi301, %262 ], [ %261, %260 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  br label %272

272:                                              ; preds = %271, %258, %256
  %.pn226.pn = phi { ptr, i32 } [ %.pn226, %271 ], [ %259, %258 ], [ %257, %256 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #7
  br label %915

273:                                              ; preds = %.lr.ph, %.lr.ph
  %274 = getelementptr inbounds i8, ptr %115, i64 8
  %275 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %274) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #7
  %276 = getelementptr inbounds i8, ptr %275, i64 8
  %277 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %276)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %277)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %23)
          to label %278 unwind label %289

278:                                              ; preds = %273
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %24)
          to label %279 unwind label %291

279:                                              ; preds = %278
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %25, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %280 unwind label %293

280:                                              ; preds = %279
  %281 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  br i1 %281, label %296, label %282

282:                                              ; preds = %280
  %283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %284 unwind label %.loopexit.split-lp293

284:                                              ; preds = %282
  %285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef nonnull @.str.351)
          to label %286 unwind label %.loopexit.split-lp293

286:                                              ; preds = %284
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %285, ptr noundef nonnull @.str.283)
          to label %288 unwind label %.loopexit.split-lp293

288:                                              ; preds = %286
  call void @exit(i32 noundef 1) #8
  unreachable

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

291:                                              ; preds = %278
  %292 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %305

293:                                              ; preds = %279
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %304

.loopexit292:                                     ; preds = %296, %298, %300
  %lpad.loopexit294 = landingpad { ptr, i32 }
          cleanup
  br label %295

.loopexit.split-lp293:                            ; preds = %282, %284, %286
  %lpad.loopexit.split-lp295 = landingpad { ptr, i32 }
          cleanup
  br label %295

295:                                              ; preds = %.loopexit.split-lp293, %.loopexit292
  %lpad.phi296 = phi { ptr, i32 } [ %lpad.loopexit294, %.loopexit292 ], [ %lpad.loopexit.split-lp295, %.loopexit.split-lp293 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  br label %304

296:                                              ; preds = %280
  store i32 128, ptr %115, align 8, !tbaa !5
  %297 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %25)
          to label %298 unwind label %.loopexit292

298:                                              ; preds = %296
  %299 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %276, ptr noundef nonnull align 8 dereferenceable(32) %297)
          to label %300 unwind label %.loopexit292

300:                                              ; preds = %298
  %301 = invoke noundef zeroext i1 @_ZN4masm4Expr8was_addrEv(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE)
          to label %302 unwind label %.loopexit292

302:                                              ; preds = %300
  %not. = xor i1 %301, true
  %spec.select = zext i1 %not. to i8
  %303 = getelementptr inbounds i8, ptr %275, i64 48
  store i8 %spec.select, ptr %303, align 8
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %25) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  br label %912

304:                                              ; preds = %295, %293
  %.pn223 = phi { ptr, i32 } [ %lpad.phi296, %295 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #7
  br label %305

305:                                              ; preds = %304, %291, %289
  %.pn223.pn = phi { ptr, i32 } [ %.pn223, %304 ], [ %292, %291 ], [ %290, %289 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #7
  br label %915

306:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %307 = getelementptr inbounds i8, ptr %115, i64 8
  %308 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %307) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #7
  %309 = getelementptr inbounds i8, ptr %308, i64 8
  %310 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %309)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %310)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %26)
          to label %311 unwind label %322

311:                                              ; preds = %306
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %27)
          to label %312 unwind label %324

312:                                              ; preds = %311
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %28) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %28, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %313 unwind label %326

313:                                              ; preds = %312
  %314 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br i1 %314, label %329, label %315

315:                                              ; preds = %313
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %317 unwind label %.loopexit.split-lp288

317:                                              ; preds = %315
  %318 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef nonnull @.str.351)
          to label %319 unwind label %.loopexit.split-lp288

319:                                              ; preds = %317
  %320 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %318, ptr noundef nonnull @.str.283)
          to label %321 unwind label %.loopexit.split-lp288

321:                                              ; preds = %319
  call void @exit(i32 noundef 1) #8
  unreachable

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

324:                                              ; preds = %311
  %325 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  br label %337

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

.loopexit287:                                     ; preds = %329, %333
  %lpad.loopexit289 = landingpad { ptr, i32 }
          cleanup
  br label %328

.loopexit.split-lp288:                            ; preds = %315, %317, %319
  %lpad.loopexit.split-lp290 = landingpad { ptr, i32 }
          cleanup
  br label %328

328:                                              ; preds = %.loopexit.split-lp288, %.loopexit287
  %lpad.phi291 = phi { ptr, i32 } [ %lpad.loopexit289, %.loopexit287 ], [ %lpad.loopexit.split-lp290, %.loopexit.split-lp288 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  br label %336

329:                                              ; preds = %313
  %330 = load i32, ptr %115, align 8, !tbaa !5
  %331 = add nsw i32 %330, -3
  store i32 %331, ptr %115, align 8, !tbaa !5
  %332 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %28)
          to label %333 unwind label %.loopexit287

333:                                              ; preds = %329
  %334 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %309, ptr noundef nonnull align 8 dereferenceable(32) %332)
          to label %335 unwind label %.loopexit287

335:                                              ; preds = %333
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #7
  br label %912

336:                                              ; preds = %328, %326
  %.pn220 = phi { ptr, i32 } [ %lpad.phi291, %328 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #7
  br label %337

337:                                              ; preds = %336, %324, %322
  %.pn220.pn = phi { ptr, i32 } [ %.pn220, %336 ], [ %325, %324 ], [ %323, %322 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #7
  br label %915

338:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %339 = getelementptr inbounds i8, ptr %115, i64 8
  %340 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %339) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #7
  %341 = getelementptr inbounds i8, ptr %340, i64 8
  %342 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %341)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %342)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %343 unwind label %354

343:                                              ; preds = %338
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %30)
          to label %344 unwind label %356

344:                                              ; preds = %343
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %31, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %345 unwind label %358

345:                                              ; preds = %344
  %346 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  br i1 %346, label %361, label %347

347:                                              ; preds = %345
  %348 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %349 unwind label %.loopexit.split-lp283

349:                                              ; preds = %347
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef nonnull @.str.351)
          to label %351 unwind label %.loopexit.split-lp283

351:                                              ; preds = %349
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %350, ptr noundef nonnull @.str.283)
          to label %353 unwind label %.loopexit.split-lp283

353:                                              ; preds = %351
  call void @exit(i32 noundef 1) #8
  unreachable

354:                                              ; preds = %338
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %369

356:                                              ; preds = %343
  %357 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  br label %369

358:                                              ; preds = %344
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %368

.loopexit282:                                     ; preds = %361, %365
  %lpad.loopexit284 = landingpad { ptr, i32 }
          cleanup
  br label %360

.loopexit.split-lp283:                            ; preds = %347, %349, %351
  %lpad.loopexit.split-lp285 = landingpad { ptr, i32 }
          cleanup
  br label %360

360:                                              ; preds = %.loopexit.split-lp283, %.loopexit282
  %lpad.phi286 = phi { ptr, i32 } [ %lpad.loopexit284, %.loopexit282 ], [ %lpad.loopexit.split-lp285, %.loopexit.split-lp283 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  br label %368

361:                                              ; preds = %345
  %362 = load i32, ptr %115, align 8, !tbaa !5
  %363 = add nsw i32 %362, -3
  store i32 %363, ptr %115, align 8, !tbaa !5
  %364 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %31)
          to label %365 unwind label %.loopexit282

365:                                              ; preds = %361
  %366 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %341, ptr noundef nonnull align 8 dereferenceable(32) %364)
          to label %367 unwind label %.loopexit282

367:                                              ; preds = %365
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %912

368:                                              ; preds = %360, %358
  %.pn217 = phi { ptr, i32 } [ %lpad.phi286, %360 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  br label %369

369:                                              ; preds = %368, %356, %354
  %.pn217.pn = phi { ptr, i32 } [ %.pn217, %368 ], [ %357, %356 ], [ %355, %354 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #7
  br label %915

370:                                              ; preds = %.lr.ph
  %371 = getelementptr inbounds i8, ptr %115, i64 8
  %372 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %371) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #7
  %373 = getelementptr inbounds i8, ptr %372, i64 8
  %374 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJNS1_8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %373)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 8 dereferenceable(24) %374)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %32)
          to label %375 unwind label %386

375:                                              ; preds = %370
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %33)
          to label %376 unwind label %388

376:                                              ; preds = %375
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %34) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %34, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %377 unwind label %390

377:                                              ; preds = %376
  %378 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %34) #7
  br i1 %378, label %393, label %379

379:                                              ; preds = %377
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %381 unwind label %.loopexit.split-lp278

381:                                              ; preds = %379
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef nonnull @.str.351)
          to label %383 unwind label %.loopexit.split-lp278

383:                                              ; preds = %381
  %384 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef nonnull @.str.283)
          to label %385 unwind label %.loopexit.split-lp278

385:                                              ; preds = %383
  call void @exit(i32 noundef 1) #8
  unreachable

386:                                              ; preds = %370
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %401

388:                                              ; preds = %375
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  br label %401

390:                                              ; preds = %376
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %400

.loopexit277:                                     ; preds = %393, %397
  %lpad.loopexit279 = landingpad { ptr, i32 }
          cleanup
  br label %392

.loopexit.split-lp278:                            ; preds = %379, %381, %383
  %lpad.loopexit.split-lp280 = landingpad { ptr, i32 }
          cleanup
  br label %392

392:                                              ; preds = %.loopexit.split-lp278, %.loopexit277
  %lpad.phi281 = phi { ptr, i32 } [ %lpad.loopexit279, %.loopexit277 ], [ %lpad.loopexit.split-lp280, %.loopexit.split-lp278 ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #7
  br label %400

393:                                              ; preds = %377
  %394 = load i32, ptr %115, align 8, !tbaa !5
  %395 = add nsw i32 %394, -3
  store i32 %395, ptr %115, align 8, !tbaa !5
  %396 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %34)
          to label %397 unwind label %.loopexit277

397:                                              ; preds = %393
  %398 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %373, ptr noundef nonnull align 8 dereferenceable(32) %396)
          to label %399 unwind label %.loopexit277

399:                                              ; preds = %397
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %34) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %34) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %912

400:                                              ; preds = %392, %390
  %.pn214 = phi { ptr, i32 } [ %lpad.phi281, %392 ], [ %391, %390 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %34) #7
  br label %401

401:                                              ; preds = %400, %388, %386
  %.pn214.pn = phi { ptr, i32 } [ %.pn214, %400 ], [ %389, %388 ], [ %387, %386 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #7
  br label %915

402:                                              ; preds = %.lr.ph, %.lr.ph
  %403 = getelementptr inbounds i8, ptr %115, i64 8
  %404 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %403) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  %405 = getelementptr inbounds i8, ptr %404, i64 8
  %406 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %405)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(32) %406)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  %407 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %408 unwind label %426

408:                                              ; preds = %402
  store ptr %407, ptr %36, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %409 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %409, ptr %37, align 8
  %410 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  br i1 %410, label %411, label %461

411:                                              ; preds = %408
  %412 = load i32, ptr %115, align 8, !tbaa !5
  %413 = icmp eq i32 %412, 188
  br i1 %413, label %414, label %.thread

.thread:                                          ; preds = %411
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  br label %.critedge

414:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %415 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %416 unwind label %428

416:                                              ; preds = %414
  store ptr %415, ptr %38, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %417 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %417, ptr %39, align 8
  %418 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br i1 %418, label %419, label %432

419:                                              ; preds = %416
  store i32 186, ptr %115, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  %420 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %421 unwind label %430

421:                                              ; preds = %419
  store ptr %420, ptr %40, align 8
  %422 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  %423 = getelementptr inbounds i8, ptr %422, i64 64
  %424 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %405, ptr noundef nonnull align 8 dereferenceable(32) %423)
          to label %425 unwind label %430

425:                                              ; preds = %421
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  br label %461

426:                                              ; preds = %402
  %427 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  br label %462

428:                                              ; preds = %414
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %462

430:                                              ; preds = %421, %419
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  br label %462

432:                                              ; preds = %416
  %.pr = load i32, ptr %115, align 8, !tbaa !5
  %433 = icmp eq i32 %.pr, 188
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  br i1 %433, label %434, label %.critedge

434:                                              ; preds = %432
  %435 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %436 unwind label %441

436:                                              ; preds = %434
  store ptr %435, ptr %41, align 8
  %437 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  store ptr %437, ptr %42, align 8
  %438 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  br i1 %438, label %439, label %.loopexit276

439:                                              ; preds = %436
  store i32 186, ptr %115, align 8, !tbaa !5
  %440 = getelementptr inbounds i8, ptr %404, i64 48
  store i8 1, ptr %440, align 8, !tbaa !32
  br label %461

441:                                              ; preds = %434
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  br label %462

.critedge:                                        ; preds = %432, %.thread
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  br label %.loopexit276

.loopexit276:                                     ; preds = %436, %.critedge
  %443 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %444 unwind label %451

444:                                              ; preds = %.loopexit276
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %445 unwind label %453

445:                                              ; preds = %444
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.346)
          to label %446 unwind label %455

446:                                              ; preds = %445
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %443, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %448 unwind label %457

448:                                              ; preds = %446
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %447, ptr noundef nonnull @.str.283)
          to label %450 unwind label %457

450:                                              ; preds = %448
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  call void @exit(i32 noundef 1) #8
  unreachable

451:                                              ; preds = %.loopexit276
  %452 = landingpad { ptr, i32 }
          cleanup
  br label %462

453:                                              ; preds = %444
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %460

455:                                              ; preds = %445
  %456 = landingpad { ptr, i32 }
          cleanup
  br label %459

457:                                              ; preds = %448, %446
  %458 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %459

459:                                              ; preds = %457, %455
  %.pn209 = phi { ptr, i32 } [ %458, %457 ], [ %456, %455 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %460

460:                                              ; preds = %459, %453
  %.pn209.pn = phi { ptr, i32 } [ %.pn209, %459 ], [ %454, %453 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %462

461:                                              ; preds = %408, %439, %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %912

462:                                              ; preds = %460, %451, %441, %430, %428, %426
  %.pn212 = phi { ptr, i32 } [ %431, %430 ], [ %.pn209.pn, %460 ], [ %452, %451 ], [ %442, %441 ], [ %429, %428 ], [ %427, %426 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %915

463:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %464 = getelementptr inbounds i8, ptr %115, i64 8
  %465 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %464) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #7
  %466 = getelementptr inbounds i8, ptr %465, i64 8
  %467 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %466)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(32) %467)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  %468 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %469 unwind label %.loopexit271

469:                                              ; preds = %463
  store ptr %468, ptr %46, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %470 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %470, ptr %47, align 8
  %471 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br i1 %471, label %472, label %489

472:                                              ; preds = %469
  %473 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %474 unwind label %.loopexit.split-lp272

474:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %475 unwind label %481

475:                                              ; preds = %474
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.346)
          to label %476 unwind label %483

476:                                              ; preds = %475
  %477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %473, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %478 unwind label %485

478:                                              ; preds = %476
  %479 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull @.str.283)
          to label %480 unwind label %485

480:                                              ; preds = %478
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit271:                                     ; preds = %463, %489
  %lpad.loopexit273 = landingpad { ptr, i32 }
          cleanup
  br label %496

.loopexit.split-lp272:                            ; preds = %472
  %lpad.loopexit.split-lp274 = landingpad { ptr, i32 }
          cleanup
  br label %496

481:                                              ; preds = %474
  %482 = landingpad { ptr, i32 }
          cleanup
  br label %488

483:                                              ; preds = %475
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %487

485:                                              ; preds = %478, %476
  %486 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %487

487:                                              ; preds = %485, %483
  %.pn205 = phi { ptr, i32 } [ %486, %485 ], [ %484, %483 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %488

488:                                              ; preds = %487, %481
  %.pn205.pn = phi { ptr, i32 } [ %.pn205, %487 ], [ %482, %481 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  br label %496

489:                                              ; preds = %469
  %490 = load i32, ptr %115, align 8, !tbaa !5
  %491 = add nsw i32 %490, -2
  store i32 %491, ptr %115, align 8, !tbaa !5
  %492 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  %493 = getelementptr inbounds i8, ptr %492, i64 64
  %494 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %466, ptr noundef nonnull align 8 dereferenceable(32) %493)
          to label %495 unwind label %.loopexit271

495:                                              ; preds = %489
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  br label %912

496:                                              ; preds = %.loopexit271, %.loopexit.split-lp272, %488
  %.pn205.pn.pn = phi { ptr, i32 } [ %.pn205.pn, %488 ], [ %lpad.loopexit273, %.loopexit271 ], [ %lpad.loopexit.split-lp274, %.loopexit.split-lp272 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  br label %915

497:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %498 = getelementptr inbounds i8, ptr %115, i64 8
  %499 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %498) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  %500 = getelementptr inbounds i8, ptr %499, i64 8
  %501 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %500)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %501)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #7
  %502 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %503 unwind label %.loopexit266

503:                                              ; preds = %497
  store ptr %502, ptr %51, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #7
  %504 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %504, ptr %52, align 8
  %505 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #7
  br i1 %505, label %506, label %523

506:                                              ; preds = %503
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %508 unwind label %.loopexit.split-lp267

508:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %509 unwind label %515

509:                                              ; preds = %508
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.346)
          to label %510 unwind label %517

510:                                              ; preds = %509
  %511 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %507, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %512 unwind label %519

512:                                              ; preds = %510
  %513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %511, ptr noundef nonnull @.str.283)
          to label %514 unwind label %519

514:                                              ; preds = %512
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit266:                                     ; preds = %497, %523
  %lpad.loopexit268 = landingpad { ptr, i32 }
          cleanup
  br label %536

.loopexit.split-lp267:                            ; preds = %506
  %lpad.loopexit.split-lp269 = landingpad { ptr, i32 }
          cleanup
  br label %536

515:                                              ; preds = %508
  %516 = landingpad { ptr, i32 }
          cleanup
  br label %522

517:                                              ; preds = %509
  %518 = landingpad { ptr, i32 }
          cleanup
  br label %521

519:                                              ; preds = %512, %510
  %520 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %521

521:                                              ; preds = %519, %517
  %.pn201 = phi { ptr, i32 } [ %520, %519 ], [ %518, %517 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  br label %522

522:                                              ; preds = %521, %515
  %.pn201.pn = phi { ptr, i32 } [ %.pn201, %521 ], [ %516, %515 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  br label %536

523:                                              ; preds = %503
  %524 = load i32, ptr %115, align 8, !tbaa !5
  %525 = add nsw i32 %524, -2
  store i32 %525, ptr %115, align 8, !tbaa !5
  %526 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %527 = getelementptr inbounds i8, ptr %526, i64 64
  %528 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %500, ptr noundef nonnull align 8 dereferenceable(32) %527)
          to label %529 unwind label %.loopexit266

529:                                              ; preds = %523
  %530 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  %531 = getelementptr inbounds i8, ptr %530, i64 124
  %532 = load i32, ptr %531, align 4, !tbaa !34
  %533 = icmp eq i32 %532, 4
  %534 = getelementptr inbounds i8, ptr %499, i64 48
  %535 = zext i1 %533 to i8
  store i8 %535, ptr %534, align 8, !tbaa !21
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %912

536:                                              ; preds = %.loopexit266, %.loopexit.split-lp267, %522
  %.pn201.pn.pn = phi { ptr, i32 } [ %.pn201.pn, %522 ], [ %lpad.loopexit268, %.loopexit266 ], [ %lpad.loopexit.split-lp269, %.loopexit.split-lp267 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %915

537:                                              ; preds = %.lr.ph
  %538 = getelementptr inbounds i8, ptr %115, i64 8
  %539 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %538) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  %540 = getelementptr inbounds i8, ptr %539, i64 8
  %541 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %540)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %541)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  %542 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %543 unwind label %.loopexit261

543:                                              ; preds = %537
  store ptr %542, ptr %56, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #7
  %544 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %544, ptr %57, align 8
  %545 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  br i1 %545, label %546, label %581

546:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #7
  %547 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %548 unwind label %560

548:                                              ; preds = %546
  store ptr %547, ptr %58, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  %549 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %549, ptr %59, align 8
  %550 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  br i1 %550, label %551, label %570

551:                                              ; preds = %548
  %552 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %553 unwind label %.loopexit.split-lp262

553:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %554 unwind label %562

554:                                              ; preds = %553
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.346)
          to label %555 unwind label %564

555:                                              ; preds = %554
  %556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %552, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %557 unwind label %566

557:                                              ; preds = %555
  %558 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %556, ptr noundef nonnull @.str.283)
          to label %559 unwind label %566

559:                                              ; preds = %557
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit261:                                     ; preds = %537
  %lpad.loopexit263 = landingpad { ptr, i32 }
          cleanup
  br label %582

.loopexit.split-lp262:                            ; preds = %551
  %lpad.loopexit.split-lp264 = landingpad { ptr, i32 }
          cleanup
  br label %582

560:                                              ; preds = %546
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  br label %582

562:                                              ; preds = %553
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %569

564:                                              ; preds = %554
  %565 = landingpad { ptr, i32 }
          cleanup
  br label %568

566:                                              ; preds = %557, %555
  %567 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %568

568:                                              ; preds = %566, %564
  %.pn197 = phi { ptr, i32 } [ %567, %566 ], [ %565, %564 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %569

569:                                              ; preds = %568, %562
  %.pn197.pn = phi { ptr, i32 } [ %.pn197, %568 ], [ %563, %562 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  br label %582

570:                                              ; preds = %548
  %571 = load i32, ptr %115, align 8, !tbaa !5
  %572 = add nsw i32 %571, -2
  store i32 %572, ptr %115, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #7
  %573 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %574 unwind label %579

574:                                              ; preds = %570
  store ptr %573, ptr %62, align 8
  %575 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  %576 = getelementptr inbounds i8, ptr %575, i64 64
  %577 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %540, ptr noundef nonnull align 8 dereferenceable(32) %576)
          to label %578 unwind label %579

578:                                              ; preds = %574
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  br label %581

579:                                              ; preds = %574, %570
  %580 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #7
  br label %582

581:                                              ; preds = %578, %543
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %912

582:                                              ; preds = %.loopexit261, %.loopexit.split-lp262, %579, %569, %560
  %.pn197.pn.pn = phi { ptr, i32 } [ %.pn197.pn, %569 ], [ %580, %579 ], [ %561, %560 ], [ %lpad.loopexit263, %.loopexit261 ], [ %lpad.loopexit.split-lp264, %.loopexit.split-lp262 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %915

583:                                              ; preds = %.lr.ph, %.lr.ph
  %584 = getelementptr inbounds i8, ptr %115, i64 8
  %585 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %584) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  %586 = getelementptr inbounds i8, ptr %585, i64 8
  %587 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %586)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %587)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #7
  %588 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %589 unwind label %599

589:                                              ; preds = %583
  store ptr %588, ptr %64, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #7
  %590 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %590, ptr %65, align 8
  %591 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #7
  br i1 %591, label %592, label %627

592:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #7
  %593 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %594 unwind label %601

594:                                              ; preds = %592
  store ptr %593, ptr %66, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  %595 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  store ptr %595, ptr %67, align 8
  %596 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br i1 %596, label %597, label %603

597:                                              ; preds = %594
  store i32 128, ptr %115, align 8, !tbaa !5
  %598 = getelementptr inbounds i8, ptr %585, i64 49
  store i8 1, ptr %598, align 1, !tbaa !44
  br label %638

599:                                              ; preds = %627, %583
  %600 = landingpad { ptr, i32 }
          cleanup
  br label %639

601:                                              ; preds = %592
  %602 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #7
  br label %639

603:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  %604 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %605 unwind label %.loopexit256

605:                                              ; preds = %603
  store ptr %604, ptr %68, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  %606 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %606, ptr %69, align 8
  %607 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  br i1 %607, label %608, label %625

608:                                              ; preds = %605
  %609 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %610 unwind label %.loopexit.split-lp257

610:                                              ; preds = %608
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %611 unwind label %617

611:                                              ; preds = %610
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.346)
          to label %612 unwind label %619

612:                                              ; preds = %611
  %613 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %609, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %614 unwind label %621

614:                                              ; preds = %612
  %615 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %613, ptr noundef nonnull @.str.283)
          to label %616 unwind label %621

616:                                              ; preds = %614
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit256:                                     ; preds = %603
  %lpad.loopexit258 = landingpad { ptr, i32 }
          cleanup
  br label %626

.loopexit.split-lp257:                            ; preds = %608
  %lpad.loopexit.split-lp259 = landingpad { ptr, i32 }
          cleanup
  br label %626

617:                                              ; preds = %610
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %624

619:                                              ; preds = %611
  %620 = landingpad { ptr, i32 }
          cleanup
  br label %623

621:                                              ; preds = %614, %612
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %623

623:                                              ; preds = %621, %619
  %.pn192 = phi { ptr, i32 } [ %622, %621 ], [ %620, %619 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %624

624:                                              ; preds = %623, %617
  %.pn192.pn = phi { ptr, i32 } [ %.pn192, %623 ], [ %618, %617 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #7
  br label %626

625:                                              ; preds = %605
  store i32 62, ptr %115, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  br label %638

626:                                              ; preds = %.loopexit256, %.loopexit.split-lp257, %624
  %.pn192.pn.pn = phi { ptr, i32 } [ %.pn192.pn, %624 ], [ %lpad.loopexit258, %.loopexit256 ], [ %lpad.loopexit.split-lp259, %.loopexit.split-lp257 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  br label %639

627:                                              ; preds = %589
  store i32 128, ptr %115, align 8, !tbaa !5
  %628 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  %629 = getelementptr inbounds i8, ptr %628, i64 64
  %630 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %586, ptr noundef nonnull align 8 dereferenceable(32) %629)
          to label %631 unwind label %599

631:                                              ; preds = %627
  %632 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64) #7
  %633 = getelementptr inbounds i8, ptr %632, i64 124
  %634 = load i32, ptr %633, align 4, !tbaa !34
  %635 = icmp eq i32 %634, 4
  %636 = getelementptr inbounds i8, ptr %585, i64 48
  %637 = zext i1 %635 to i8
  store i8 %637, ptr %636, align 8, !tbaa !21
  br label %638

638:                                              ; preds = %631, %625, %597
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %912

639:                                              ; preds = %626, %601, %599
  %.pn192.pn.pn.pn = phi { ptr, i32 } [ %.pn192.pn.pn, %626 ], [ %602, %601 ], [ %600, %599 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  br label %915

640:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %641 = getelementptr inbounds i8, ptr %115, i64 8
  %642 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %641) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #7
  %643 = getelementptr inbounds i8, ptr %642, i64 8
  %644 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %643)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %644)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #7
  %645 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %646 unwind label %658

646:                                              ; preds = %640
  store ptr %645, ptr %73, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #7
  %647 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %647, ptr %74, align 8
  %648 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #7
  br i1 %648, label %649, label %662

649:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #7
  %650 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %651 unwind label %660

651:                                              ; preds = %649
  store ptr %650, ptr %75, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #7
  %652 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  store ptr %652, ptr %76, align 8
  %653 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  br i1 %653, label %654, label %675

654:                                              ; preds = %651
  %655 = load i32, ptr %115, align 8, !tbaa !5
  %656 = add nsw i32 %655, -2
  store i32 %656, ptr %115, align 8, !tbaa !5
  %657 = getelementptr inbounds i8, ptr %642, i64 49
  store i8 1, ptr %657, align 1, !tbaa !44
  br label %675

658:                                              ; preds = %662, %640
  %659 = landingpad { ptr, i32 }
          cleanup
  br label %676

660:                                              ; preds = %649
  %661 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #7
  br label %676

662:                                              ; preds = %646
  %663 = load i32, ptr %115, align 8, !tbaa !5
  %664 = add nsw i32 %663, -2
  store i32 %664, ptr %115, align 8, !tbaa !5
  %665 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  %666 = getelementptr inbounds i8, ptr %665, i64 64
  %667 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %643, ptr noundef nonnull align 8 dereferenceable(32) %666)
          to label %668 unwind label %658

668:                                              ; preds = %662
  %669 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %73) #7
  %670 = getelementptr inbounds i8, ptr %669, i64 124
  %671 = load i32, ptr %670, align 4, !tbaa !34
  %672 = icmp eq i32 %671, 4
  %673 = getelementptr inbounds i8, ptr %642, i64 48
  %674 = zext i1 %672 to i8
  store i8 %674, ptr %673, align 8, !tbaa !21
  br label %675

675:                                              ; preds = %651, %668, %654
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #7
  br label %912

676:                                              ; preds = %660, %658
  %.pn190 = phi { ptr, i32 } [ %661, %660 ], [ %659, %658 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #7
  br label %915

677:                                              ; preds = %.lr.ph, %.lr.ph
  %678 = getelementptr inbounds i8, ptr %115, i64 8
  %679 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %678) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #7
  %680 = getelementptr inbounds i8, ptr %679, i64 8
  %681 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %680)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %681)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #7
  %682 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %683 unwind label %700

683:                                              ; preds = %677
  store ptr %682, ptr %78, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #7
  %684 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %684, ptr %79, align 8
  %685 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 8 dereferenceable(8) %79) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  br i1 %685, label %686, label %712

686:                                              ; preds = %683
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #7
  %687 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %688 unwind label %.loopexit251

688:                                              ; preds = %686
  store ptr %687, ptr %80, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #7
  %689 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %689, ptr %81, align 8
  %690 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %81) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #7
  br i1 %690, label %691, label %710

691:                                              ; preds = %688
  %692 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %693 unwind label %.loopexit.split-lp252

693:                                              ; preds = %691
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull @.str.349, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %694 unwind label %702

694:                                              ; preds = %693
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.346)
          to label %695 unwind label %704

695:                                              ; preds = %694
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %692, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %697 unwind label %706

697:                                              ; preds = %695
  %698 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %696, ptr noundef nonnull @.str.283)
          to label %699 unwind label %706

699:                                              ; preds = %697
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #7
  call void @exit(i32 noundef 1) #8
  unreachable

700:                                              ; preds = %712, %677
  %701 = landingpad { ptr, i32 }
          cleanup
  br label %719

.loopexit251:                                     ; preds = %686
  %lpad.loopexit253 = landingpad { ptr, i32 }
          cleanup
  br label %711

.loopexit.split-lp252:                            ; preds = %691
  %lpad.loopexit.split-lp254 = landingpad { ptr, i32 }
          cleanup
  br label %711

702:                                              ; preds = %693
  %703 = landingpad { ptr, i32 }
          cleanup
  br label %709

704:                                              ; preds = %694
  %705 = landingpad { ptr, i32 }
          cleanup
  br label %708

706:                                              ; preds = %697, %695
  %707 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %708

708:                                              ; preds = %706, %704
  %.pn185 = phi { ptr, i32 } [ %707, %706 ], [ %705, %704 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %709

709:                                              ; preds = %708, %702
  %.pn185.pn = phi { ptr, i32 } [ %.pn185, %708 ], [ %703, %702 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #7
  br label %711

710:                                              ; preds = %688
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  br label %718

711:                                              ; preds = %.loopexit251, %.loopexit.split-lp252, %709
  %.pn185.pn.pn = phi { ptr, i32 } [ %.pn185.pn, %709 ], [ %lpad.loopexit253, %.loopexit251 ], [ %lpad.loopexit.split-lp254, %.loopexit.split-lp252 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #7
  br label %719

712:                                              ; preds = %683
  %713 = load i32, ptr %115, align 8, !tbaa !5
  %714 = add nsw i32 %713, -2
  store i32 %714, ptr %115, align 8, !tbaa !5
  %715 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %78) #7
  %716 = getelementptr inbounds i8, ptr %715, i64 64
  %717 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %680, ptr noundef nonnull align 8 dereferenceable(32) %716)
          to label %718 unwind label %700

718:                                              ; preds = %712, %710
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  br label %912

719:                                              ; preds = %711, %700
  %.pn185.pn.pn.pn = phi { ptr, i32 } [ %.pn185.pn.pn, %711 ], [ %701, %700 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  br label %915

720:                                              ; preds = %.lr.ph, %.lr.ph
  %721 = getelementptr inbounds i8, ptr %115, i64 8
  %722 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %721) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #7
  %723 = getelementptr inbounds i8, ptr %722, i64 8
  %724 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %723)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(32) %724)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #7
  %725 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %726 unwind label %.loopexit246

726:                                              ; preds = %720
  store ptr %725, ptr %85, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #7
  %727 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %727, ptr %86, align 8
  %728 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull align 8 dereferenceable(8) %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  br i1 %728, label %729, label %746

729:                                              ; preds = %726
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %731 unwind label %.loopexit.split-lp247

731:                                              ; preds = %729
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %732 unwind label %738

732:                                              ; preds = %731
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.346)
          to label %733 unwind label %740

733:                                              ; preds = %732
  %734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %730, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %735 unwind label %742

735:                                              ; preds = %733
  %736 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %734, ptr noundef nonnull @.str.283)
          to label %737 unwind label %742

737:                                              ; preds = %735
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit246:                                     ; preds = %720, %746
  %lpad.loopexit248 = landingpad { ptr, i32 }
          cleanup
  br label %753

.loopexit.split-lp247:                            ; preds = %729
  %lpad.loopexit.split-lp249 = landingpad { ptr, i32 }
          cleanup
  br label %753

738:                                              ; preds = %731
  %739 = landingpad { ptr, i32 }
          cleanup
  br label %745

740:                                              ; preds = %732
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %744

742:                                              ; preds = %735, %733
  %743 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %744

744:                                              ; preds = %742, %740
  %.pn181 = phi { ptr, i32 } [ %743, %742 ], [ %741, %740 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  br label %745

745:                                              ; preds = %744, %738
  %.pn181.pn = phi { ptr, i32 } [ %.pn181, %744 ], [ %739, %738 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  br label %753

746:                                              ; preds = %726
  %747 = load i32, ptr %115, align 8, !tbaa !5
  %748 = add nsw i32 %747, -2
  store i32 %748, ptr %115, align 8, !tbaa !5
  %749 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %85) #7
  %750 = getelementptr inbounds i8, ptr %749, i64 64
  %751 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %723, ptr noundef nonnull align 8 dereferenceable(32) %750)
          to label %752 unwind label %.loopexit246

752:                                              ; preds = %746
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #7
  br label %912

753:                                              ; preds = %.loopexit246, %.loopexit.split-lp247, %745
  %.pn181.pn.pn = phi { ptr, i32 } [ %.pn181.pn, %745 ], [ %lpad.loopexit248, %.loopexit246 ], [ %lpad.loopexit.split-lp249, %.loopexit.split-lp247 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #7
  br label %915

754:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph
  %755 = getelementptr inbounds i8, ptr %115, i64 8
  %756 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %755) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #7
  %757 = getelementptr inbounds i8, ptr %756, i64 8
  %758 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_St6vectorINS6_5TokenESaIS9_EEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %757)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %758)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #7
  %759 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %760 unwind label %.loopexit241

760:                                              ; preds = %754
  store ptr %759, ptr %90, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #7
  %761 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %761, ptr %91, align 8
  %762 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 8 dereferenceable(8) %91) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  br i1 %762, label %763, label %780

763:                                              ; preds = %760
  %764 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %765 unwind label %.loopexit.split-lp242

765:                                              ; preds = %763
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull @.str.352, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %766 unwind label %772

766:                                              ; preds = %765
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.346)
          to label %767 unwind label %774

767:                                              ; preds = %766
  %768 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %764, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %769 unwind label %776

769:                                              ; preds = %767
  %770 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %768, ptr noundef nonnull @.str.283)
          to label %771 unwind label %776

771:                                              ; preds = %769
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #7
  call void @exit(i32 noundef 1) #8
  unreachable

.loopexit241:                                     ; preds = %754, %780
  %lpad.loopexit243 = landingpad { ptr, i32 }
          cleanup
  br label %787

.loopexit.split-lp242:                            ; preds = %763
  %lpad.loopexit.split-lp244 = landingpad { ptr, i32 }
          cleanup
  br label %787

772:                                              ; preds = %765
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %779

774:                                              ; preds = %766
  %775 = landingpad { ptr, i32 }
          cleanup
  br label %778

776:                                              ; preds = %769, %767
  %777 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %778

778:                                              ; preds = %776, %774
  %.pn177 = phi { ptr, i32 } [ %777, %776 ], [ %775, %774 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %779

779:                                              ; preds = %778, %772
  %.pn177.pn = phi { ptr, i32 } [ %.pn177, %778 ], [ %773, %772 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #7
  br label %787

780:                                              ; preds = %760
  %781 = load i32, ptr %115, align 8, !tbaa !5
  %782 = add nsw i32 %781, -2
  store i32 %782, ptr %115, align 8, !tbaa !5
  %783 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %90) #7
  %784 = getelementptr inbounds i8, ptr %783, i64 64
  %785 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEEaSIRS7_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS1_S7_SB_EE4typeEE18is_constructible_vISK_SH_E15is_assignable_vIRSK_SH_EERSC_E4typeESI_(ptr noundef nonnull align 8 dereferenceable(33) %757, ptr noundef nonnull align 8 dereferenceable(32) %784)
          to label %786 unwind label %.loopexit241

786:                                              ; preds = %780
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  br label %912

787:                                              ; preds = %.loopexit241, %.loopexit.split-lp242, %779
  %.pn177.pn.pn = phi { ptr, i32 } [ %.pn177.pn, %779 ], [ %lpad.loopexit243, %.loopexit241 ], [ %lpad.loopexit.split-lp244, %.loopexit.split-lp242 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #7
  br label %915

788:                                              ; preds = %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph, %.lr.ph
  %789 = getelementptr inbounds i8, ptr %115, i64 8
  %790 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %789) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #7
  %791 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %790)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %791)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #7
  %792 = invoke ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE4findERKS5_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %793 unwind label %804

793:                                              ; preds = %788
  store ptr %792, ptr %95, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #7
  %794 = call ptr @_ZNSt13unordered_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIS5_ESt8equal_toIS5_ESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8lbl_listB5cxx11E) #7
  store ptr %794, ptr %96, align 8
  %795 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb1EEES9_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  br i1 %795, label %796, label %813

796:                                              ; preds = %793
  %797 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %798 unwind label %806

798:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull @.str.353, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %799 unwind label %808

799:                                              ; preds = %798
  %800 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %797, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %801 unwind label %810

801:                                              ; preds = %799
  %802 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %800, ptr noundef nonnull @.str.283)
          to label %803 unwind label %810

803:                                              ; preds = %801
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #7
  call void @exit(i32 noundef 1) #8
  unreachable

804:                                              ; preds = %788
  %805 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #7
  br label %814

806:                                              ; preds = %796
  %807 = landingpad { ptr, i32 }
          cleanup
  br label %814

808:                                              ; preds = %798
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %812

810:                                              ; preds = %801, %799
  %811 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #7
  br label %812

812:                                              ; preds = %810, %808
  %.pn174 = phi { ptr, i32 } [ %811, %810 ], [ %809, %808 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #7
  br label %814

813:                                              ; preds = %793
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #7
  br label %912

814:                                              ; preds = %812, %806, %804
  %.pn174.pn = phi { ptr, i32 } [ %.pn174, %812 ], [ %807, %806 ], [ %805, %804 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #7
  br label %915

815:                                              ; preds = %.lr.ph
  %816 = getelementptr inbounds i8, ptr %115, i64 8
  %817 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %816) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #7
  %818 = getelementptr inbounds i8, ptr %817, i64 8
  %819 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %818)
  %820 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %819)
  store ptr %820, ptr %98, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #7
  %821 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %821, ptr %99, align 8
  %822 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull align 8 dereferenceable(8) %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #7
  br i1 %822, label %823, label %912

823:                                              ; preds = %815
  %824 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #7
  %825 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJN4masm8RegisterES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %818)
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %100, ptr noundef nonnull @.str.354, ptr noundef nonnull align 8 dereferenceable(32) %825)
  %826 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %824, ptr noundef nonnull align 8 dereferenceable(32) %100)
          to label %827 unwind label %830

827:                                              ; preds = %823
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %826, ptr noundef nonnull @.str.283)
          to label %829 unwind label %830

829:                                              ; preds = %827
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #7
  call void @exit(i32 noundef 1) #8
  unreachable

830:                                              ; preds = %827, %823
  %831 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #7
  br label %915

832:                                              ; preds = %.lr.ph, %.lr.ph
  %833 = getelementptr inbounds i8, ptr %115, i64 8
  %834 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %833) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #7
  %835 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %834)
  %836 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE, ptr noundef nonnull align 8 dereferenceable(32) %835)
  store ptr %836, ptr %101, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #7
  %837 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) @_ZN4masmL8symtableE) #7
  store ptr %837, ptr %102, align 8
  %838 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef nonnull align 8 dereferenceable(8) %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #7
  br i1 %838, label %839, label %912

839:                                              ; preds = %832
  %840 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #7
  %841 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_N4masm8RegisterEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %834)
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %103, ptr noundef nonnull @.str.354, ptr noundef nonnull align 8 dereferenceable(32) %841)
  %842 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %840, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %843 unwind label %846

843:                                              ; preds = %839
  %844 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %842, ptr noundef nonnull @.str.283)
          to label %845 unwind label %846

845:                                              ; preds = %843
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  call void @exit(i32 noundef 1) #8
  unreachable

846:                                              ; preds = %843, %839
  %847 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  br label %915

848:                                              ; preds = %.lr.ph
  %849 = getelementptr inbounds i8, ptr %115, i64 8
  %850 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %849) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #7
  %851 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZSt3getINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJSt6vectorIN4masm5TokenESaIS8_EES5_EERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %850)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %851)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #7
  %852 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %853 unwind label %864

853:                                              ; preds = %848
  store ptr %852, ptr %105, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #7
  %854 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56)) #7
  store ptr %854, ptr %106, align 8
  %855 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb1EEESE_(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef nonnull align 8 dereferenceable(8) %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  br i1 %855, label %856, label %873

856:                                              ; preds = %853
  %857 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %858 unwind label %866

858:                                              ; preds = %856
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull @.str.355, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %859 unwind label %868

859:                                              ; preds = %858
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %857, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %861 unwind label %870

861:                                              ; preds = %859
  %862 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %860, ptr noundef nonnull @.str.283)
          to label %863 unwind label %870

863:                                              ; preds = %861
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  call void @exit(i32 noundef 1) #8
  unreachable

864:                                              ; preds = %848
  %865 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #7
  br label %882

866:                                              ; preds = %856
  %867 = landingpad { ptr, i32 }
          cleanup
  br label %882

868:                                              ; preds = %858
  %869 = landingpad { ptr, i32 }
          cleanup
  br label %872

870:                                              ; preds = %861, %859
  %871 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  br label %872

872:                                              ; preds = %870, %868
  %.pn171 = phi { ptr, i32 } [ %871, %870 ], [ %869, %868 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  br label %882

873:                                              ; preds = %853
  store i32 313, ptr %115, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #7
  %874 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S7_EEE4findERSD_(ptr noundef nonnull align 8 dereferenceable(56) getelementptr inbounds (i8, ptr @_ZN4masmL8symtableE, i64 56), ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %875 unwind label %880

875:                                              ; preds = %873
  store ptr %874, ptr %108, align 8
  %876 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %108) #7
  %877 = getelementptr inbounds i8, ptr %876, i64 64
  %878 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJSt6vectorIN4masm5TokenESaIS2_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEaSIRSA_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS4_SA_EE4typeEE18is_constructible_vISJ_SG_E15is_assignable_vIRSJ_SG_EERSB_E4typeESH_(ptr noundef nonnull align 8 dereferenceable(33) %850, ptr noundef nonnull align 8 dereferenceable(32) %877)
          to label %879 unwind label %880

879:                                              ; preds = %875
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #7
  br label %912

880:                                              ; preds = %875, %873
  %881 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #7
  br label %882

882:                                              ; preds = %880, %872, %866, %864
  %.pn171.pn = phi { ptr, i32 } [ %.pn171, %872 ], [ %867, %866 ], [ %881, %880 ], [ %865, %864 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #7
  br label %915

883:                                              ; preds = %.lr.ph
  %884 = getelementptr inbounds i8, ptr %115, i64 8
  %885 = call noundef ptr @_ZNKSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE3getEv(ptr noundef nonnull align 8 dereferenceable(8) %884) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #7
  %886 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZSt3getISt6vectorIN4masm5TokenESaIS2_EEJS4_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERT_RSt7variantIJDpT0_EE(ptr noundef nonnull align 8 dereferenceable(33) %885)
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %886)
  invoke void @_ZNSt6vectorIN4masm5TokenESaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %110, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %887 unwind label %898

887:                                              ; preds = %883
  invoke void @_ZN4masm4Expr8add_exprESt6vectorINS_5TokenESaIS2_EE(ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, ptr noundef nonnull %110)
          to label %888 unwind label %900

888:                                              ; preds = %887
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %111) #7
  invoke void @_ZN4masm4Expr8evaluateB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::optional.296") align 8 %111, ptr noundef nonnull align 8 dereferenceable(201) @_ZN4masmL9evaluatorE, i1 noundef zeroext false)
          to label %889 unwind label %902

889:                                              ; preds = %888
  %890 = call noundef zeroext i1 @_ZNKSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9has_valueEv(ptr noundef nonnull align 8 dereferenceable(40) %111) #7
  br i1 %890, label %905, label %891

891:                                              ; preds = %889
  %892 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.280)
          to label %893 unwind label %.loopexit.split-lp

893:                                              ; preds = %891
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %892, ptr noundef nonnull @.str.351)
          to label %895 unwind label %.loopexit.split-lp

895:                                              ; preds = %893
  %896 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %894, ptr noundef nonnull @.str.283)
          to label %897 unwind label %.loopexit.split-lp

897:                                              ; preds = %895
  call void @exit(i32 noundef 1) #8
  unreachable

898:                                              ; preds = %883
  %899 = landingpad { ptr, i32 }
          cleanup
  br label %911

900:                                              ; preds = %887
  %901 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #7
  br label %911

902:                                              ; preds = %888
  %903 = landingpad { ptr, i32 }
          cleanup
  br label %910

.loopexit:                                        ; preds = %905, %907
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %904

.loopexit.split-lp:                               ; preds = %891, %893, %895
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %904

904:                                              ; preds = %.loopexit.split-lp, %.loopexit
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %111) #7
  br label %910

905:                                              ; preds = %889
  store i32 313, ptr %115, align 8, !tbaa !5
  %906 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNRSt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5valueEv(ptr noundef nonnull align 8 dereferenceable(40) %111)
          to label %907 unwind label %.loopexit

907:                                              ; preds = %905
  %908 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNSt7variantIJSt6vectorIN4masm5TokenESaIS2_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEaSIRSA_EENSt9enable_ifIXaaaa14__exactly_onceINSt9_Nth_typeIX16__accepted_indexIOT_EEJS4_SA_EE4typeEE18is_constructible_vISJ_SG_E15is_assignable_vIRSJ_SG_EERSB_E4typeESH_(ptr noundef nonnull align 8 dereferenceable(33) %885, ptr noundef nonnull align 8 dereferenceable(32) %906)
          to label %909 unwind label %.loopexit

909:                                              ; preds = %907
  call void @_ZNSt14_Optional_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0ELb0EED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %111) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %111) #7
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #7
  br label %912

910:                                              ; preds = %904, %902
  %.pn = phi { ptr, i32 } [ %lpad.phi, %904 ], [ %903, %902 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %111) #7
  br label %911

911:                                              ; preds = %910, %900, %898
  %.pn.pn = phi { ptr, i32 } [ %.pn, %910 ], [ %901, %900 ], [ %899, %898 ]
  call void @_ZNSt6vectorIN4masm5TokenESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #7
  br label %915

912:                                              ; preds = %832, %815, %909, %879, %813, %786, %752, %718, %675, %638, %581, %529, %495, %461, %399, %367, %335, %302, %269, %237, %206, %174, %.lr.ph
  %913 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %2) #7
  %914 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4masm4NodeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  br i1 %914, label %.lr.ph, label %._crit_edge

915:                                              ; preds = %911, %882, %846, %830, %814, %787, %753, %719, %676, %639, %582, %536, %496, %462, %401, %369, %337, %305, %272, %239, %207, %175
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %911 ], [ %.pn171.pn, %882 ], [ %847, %846 ], [ %831, %830 ], [ %.pn174.pn, %814 ], [ %.pn177.pn.pn, %787 ], [ %.pn181.pn.pn, %753 ], [ %.pn185.pn.pn.pn, %719 ], [ %.pn190, %676 ], [ %.pn192.pn.pn.pn, %639 ], [ %.pn197.pn.pn, %582 ], [ %.pn201.pn.pn, %536 ], [ %.pn205.pn.pn, %496 ], [ %.pn212, %462 ], [ %.pn214.pn, %401 ], [ %.pn217.pn, %369 ], [ %.pn220.pn, %337 ], [ %.pn223.pn, %305 ], [ %.pn226.pn, %272 ], [ %.pn229.pn, %239 ], [ %.pn232.pn.pn, %207 ], [ %.pn236.pn.pn, %175 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #7
  resume { ptr, i32 } %.pn.pn.pn
}

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPN4masm4NodeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4masm4NodeESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

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

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

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

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

declare noundef zeroext i1 @_ZN4masm4Expr8was_addrEv(ptr noundef nonnull align 8 dereferenceable(201)) local_unnamed_addr #5

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN4masm4NodeE", !7, i64 0, !10, i64 8, !17, i64 16, !20, i64 32}
!7 = !{!"_ZTSN4masm8NodeKindE", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt10unique_ptrIN4masm4BaseESt14default_deleteIS1_EE", !11, i64 0}
!11 = !{!"_ZTSSt15__uniq_ptr_dataIN4masm4BaseESt14default_deleteIS1_ELb1ELb1EE", !12, i64 0}
!12 = !{!"_ZTSSt15__uniq_ptr_implIN4masm4BaseESt14default_deleteIS1_EE", !13, i64 0}
!13 = !{!"_ZTSSt5tupleIJPN4masm4BaseESt14default_deleteIS1_EEE", !14, i64 0}
!14 = !{!"_ZTSSt11_Tuple_implILm0EJPN4masm4BaseESt14default_deleteIS1_EEE", !15, i64 0}
!15 = !{!"_ZTSSt10_Head_baseILm0EPN4masm4BaseELb0EE", !16, i64 0}
!16 = !{!"any pointer", !8, i64 0}
!17 = !{!"_ZTSSt10shared_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !18, i64 0}
!18 = !{!"_ZTSSt12__shared_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0, !19, i64 8}
!19 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !16, i64 0}
!20 = !{!"long", !8, i64 0}
!21 = !{!22, !31, i64 48}
!22 = !{!"_ZTSN4masm7NodeMovE", !23, i64 0, !24, i64 8, !31, i64 48, !31, i64 49}
!23 = !{!"_ZTSN4masm8RegisterE", !8, i64 0}
!24 = !{!"_ZTSSt7variantIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS0_5TokenESaIS9_EEEE", !25, i64 0}
!25 = !{!"_ZTSNSt8__detail9__variant13_Variant_baseIJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !26, i64 0}
!26 = !{!"_ZTSNSt8__detail9__variant17_Move_assign_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !27, i64 0}
!27 = !{!"_ZTSNSt8__detail9__variant17_Copy_assign_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !28, i64 0}
!28 = !{!"_ZTSNSt8__detail9__variant15_Move_ctor_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !29, i64 0}
!29 = !{!"_ZTSNSt8__detail9__variant15_Copy_ctor_baseILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !30, i64 0}
!30 = !{!"_ZTSNSt8__detail9__variant16_Variant_storageILb0EJN4masm8RegisterENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorINS2_5TokenESaISB_EEEEE", !8, i64 0, !8, i64 32}
!31 = !{!"bool", !8, i64 0}
!32 = !{!33, !31, i64 48}
!33 = !{!"_ZTSN4masm9NodeStackE", !23, i64 0, !24, i64 8, !31, i64 48}
!34 = !{!35, !43, i64 124}
!35 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4masm8VariableEE", !36, i64 0, !38, i64 32}
!36 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !37, i64 0, !20, i64 8, !8, i64 16}
!37 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !16, i64 0}
!38 = !{!"_ZTSN4masm8VariableE", !36, i64 0, !36, i64 32, !39, i64 64, !31, i64 88, !43, i64 92, !20, i64 96, !20, i64 104, !17, i64 112}
!39 = !{!"_ZTSSt6vectorIN4masm5TokenESaIS1_EE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseIN4masm5TokenESaIS1_EE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIN4masm5TokenESaIS1_EE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIN4masm5TokenESaIS1_EE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!43 = !{!"_ZTSN4masm8DataTypeE", !8, i64 0}
!44 = !{!22, !31, i64 49}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass